[comp.sys.amiga] Grrrr....BCPL.....

wzg91@ttacs1.ttu.edu (BROWN, KEVIN) (05/03/89)

[ Line eater?  WHAT line eater?  I don't see any li

Warning....the spirit of this message is, effectively, a flame, though in 
this case it is not directed at any particular person, but rather at CBM.  
So skip to the next message if you don't want to hear this...:-)

Otherwise, read on!
(Torpedoes armed and locked on target, Captain! :-)


To those responsible for OS development on the Amiga:

The Amiga is a very nice machine.  The hardware performs quite well, and 
the larger portion of the OS (specifically, Exec and Intuition) also 
performs at least reasonably well, and is relatively easy to deal with from 
a programmer's standpoint.  Exec, especially, was well thought out, 
providing fast task-switching and message passing facilities.

AmigaDOS, however, is a kludge.  Perhaps I should be more specific. 
Calling AmigaDOS a kludge is a COMPLEMENT!  It's slow (with the exception
of FFS), cumbersome (being written in a language that should have been
outdated years ago), and limiting (because it requires a different
environment from that provided by and/or required by the rest of the
operating system). 

Why, why, WHY did you guys have to write AmigaDOS in BCPL?!?!?!?!???  Even
FORTRAN would have been a better solution!!!  IT at least CAN handle global
and local variables in a way compatible with the rest of the OS!! But
NOOOOO, you guys HAD to pick a language that BY THE DEFINITION OF THE
LANGUAGE uses a DIFFERENT calling convention, a DIFFERENT stack convention,
a DIFFERENT local/global variable convention.  Of ALL the languages you had
to choose from, you HAD to pick the language that represents the MOST
incompatibility with the rest of the OS!!!!  Ye gods, you may as well have
written the d*mn thing in BASIC!!!! 

And WHO was responsible for APPROVING such a STUPID move???  ANYONE who
knows ANYTHING about operating systems knows that you DON'T MIX LANGUAGES
when writing operating systems, EXCEPT when those languages are COMPLETELY
COMPATIBLE in the way they handle their environmental requirements!!!
Clearly, assembly language is compatible with everything. 

Yes, I realize that AmigaDOS is based on the TriPOS operating system.  
Didn't any of you do any RESEARCH into TriPOS to determine any 
compatibility problems that might arise BEFORE using it as a model for 
AmigaDOS????????

The Amiga is the ONLY machine that I'm aware of that can't handle DOS calls 
from anywhere.  C'mon, guys, even MSDOS machines allow THAT!!!

And if all that isn't bad enough, you've had THREE YEARS to FIX IT!!!  But 
here we are, three years later, with the SAME limitations!!!

So why am I writing this?  I'd like an explanation for all this.  I feel 
the Amiga community deserves to know why it's forced to deal with a mutant 
disk operating system, and why it's been forced to deal with it for so 
long.  Of course, programmers by now are probably used to the limitations 
imposed by the disk operating system, and that's a shame because they 
deserver better than this.

I feel the Amiga is an excellent machine.  It doesn't deserve to be dragged 
down by a lousy disk operating system...

				Kevin Brown

Internet: wzg91@ttacs1.ttu.edu or	Bitnet:	  WZG91@TTACS1 or
	  c8u00@ttacs1.ttu.edu			  C8U00@TTACS1

Snailnet: 404 Gaston Hall		Voicenet: (806)742-4375
	  Texas Tech University
	  Lubbock, TX  79406

jesup@cbmvax.UUCP (Randell Jesup) (05/04/89)

In article <14562@louie.udel.EDU> wzg91@ttacs1.ttu.edu (BROWN, KEVIN) writes:
>Why, why, WHY did you guys have to write AmigaDOS in BCPL?!?!?!?!???  Even
...
>And WHO was responsible for APPROVING such a STUPID move???  ANYONE who
>knows ANYTHING about operating systems knows that you DON'T MIX LANGUAGES
>when writing operating systems, EXCEPT when those languages are COMPLETELY
>COMPATIBLE in the way they handle their environmental requirements!!!
>Clearly, assembly language is compatible with everything. 

	I probably shouldn't bother responding, but... the tripos port
was used as AmigaDos because an unnamed company hired to do the original
DOS failed, and tripos was the fallback position.  Andy Finkel published an
article in Amiga Transactor about this never-finished OS (no, don't bother
asking why we can't use it now: the god of Compatibility rules - we don't
want to break every single program written for the Amiga.)

>Yes, I realize that AmigaDOS is based on the TriPOS operating system.  
>Didn't any of you do any RESEARCH into TriPOS to determine any 
>compatibility problems that might arise BEFORE using it as a model for 
>AmigaDOS????????

	Without Tripos there might not have been an Amiga (or a Commodore).

	Also, who ever said we have to keep the DOS in BCPL forever?  Witness
FFS, largely based on the BCPL OFS, but in assembler with improved logic.  The
OFS is about 1/2 of DOS in the ROM in 1.3.

#include <stddisclaimer.h>
-- 
Randell Jesup, Commodore Engineering {uunet|rutgers|allegra}!cbmvax!jesup

mp1u+@andrew.cmu.edu (Michael Portuesi) (05/04/89)

wzg91@ttacs1.ttu.edu (BROWN, KEVIN) writes:
> Why, why, WHY did you guys have to write AmigaDOS in BCPL?!?!?!?!???
> And WHO was responsible for APPROVING such a STUPID move???

It was written in BCPL because the developers didn't have a choice.
The machine had to go out the door, and there wasn't enough time for
the original plans (a DOS done in-house) to go through.

> And if all that isn't bad enough, you've had THREE YEARS to FIX IT!!!  But 
> here we are, three years later, with the SAME limitations!!!

They have had to deal with other problems, such as the slow filing
system and bad printer drivers.  They are not super-people.  They are
doing a good job of curing the system's deficiencies one by one.

I would rather see Workbench overhauled first.  At least you can do
something with AmigaDOS.

> So why am I writing this?  I'd like an explanation for all this.

If you phrased your question more nicely, the people from Commodore
might actually give you a response.

> I feel the Amiga is an excellent machine.  It doesn't deserve to be dragged 
> down by a lousy disk operating system...

It has always been the intention of the system developers to replace
AmigaDOS in a future version of the operating system.


--
Michael Portuesi * Information Technology Center * Carnegie Mellon University
INET: mp1u+@andrew.cmu.edu * BITNET: mp1u+@andrew
UUCP: ...harvard!andrew.cmu.edu!mp1u+
MAIL: Carnegie Mellon University, P.O. Box 259, Pittsburgh, PA  15213

dbk@teroach.UUCP (Dave Kinzer) (05/05/89)

In article <14562@louie.udel.EDU> wzg91@ttacs1.ttu.edu (BROWN, KEVIN) writes:
[ a bunch of mindless drivel complaining about DOS ]

       Positive Posting Attitute   -      0
       Constructive Criticism      -      0
       Suggestions For Improvement -      0
       --------------------------------------
       Total Score                        0

That about sums it up.

Go buy an Atari, you twit.

|    // GOATS - Gladly Offering All Their Support  Dave Kinzer (602)897-3085|
|   //  >> In Hell you need 4Mb to Multitask!  <<  uunet!mcdphx!teroach!dbk |
| \X/   #define policy_maker(name) (name->salary > 3 * dave.salary)         |

jimm@amiga.UUCP (Jim Mackraz) (05/05/89)

In article <oYLxqKy00VsfA2iqRQ@andrew.cmu.edu> mp1u+@andrew.cmu.edu (Michael Portuesi) writes:
)wzg91@ttacs1.ttu.edu (BROWN, KEVIN) writes:

)> So why am I writing this?  I'd like an explanation for all this.
)
)If you phrased your question more nicely, the people from Commodore
)might actually give you a response.

Amazingly, somebody at Commodore did respond constructively. 
But not me: it's into the kill file (the "cooler") for ol' Kevin.
Enjoy your stay.

	jimm
-- 
Jim Mackraz, I and I Computing	   	"He's hidden now, but you can see
{cbmvax,well,oliveb}!amiga!jimm          The bubbles where he breathes."
							- Shriekback
Opinions are my own.  Comments are not to be taken as Commodore official policy.

ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (05/05/89)

In article <6762@cbmvax.UUCP> jesup@cbmvax.UUCP (Randell Jesup) writes:
>	Without Tripos there might not have been an Amiga (or a Commodore).
>
	You might care to talk to Carl Sassenrath about that.

>	Also, who ever said we have to keep the DOS in BCPL forever?  [ ... ]

	Ah, but those miserable BPTR's and BSTR's are forever.

	Take heart; worse things could have happened than AmigaDOS.  An
MS-DOS style filesystem comes to mind.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Leo L. Schwab -- The Guy in The Cape	INET: well!ewhac@ucbvax.Berkeley.EDU
 \_ -_		Recumbent Bikes:	UUCP: pacbell > !{well,unicom}!ewhac
O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor

daveh@cbmvax.UUCP (Dave Haynie) (05/06/89)

in article <14562@louie.udel.EDU>, wzg91@ttacs1.ttu.edu (BROWN, KEVIN) says:

> The Amiga is the ONLY machine that I'm aware of that can't handle DOS calls 
> from anywhere.  C'mon, guys, even MSDOS machines allow THAT!!!

Wrong-a-mundo, buckaroo!  MS-DOS can't make DOS calls from tasks either.  
Neither can UNIX.

> 				Kevin Brown
-- 
Dave Haynie  "The 32 Bit Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
              Amiga -- It's not just a job, it's an obsession

fred@maccs.McMaster.CA (Fred Whiteside) (05/06/89)

In article <6784@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
>in article <14562@louie.udel.EDU>, wzg91@ttacs1.ttu.edu (BROWN, KEVIN) says:
>
>> The Amiga is the ONLY machine that I'm aware of that can't handle DOS calls 
>> from anywhere.  C'mon, guys, even MSDOS machines allow THAT!!!
>
>Wrong-a-mundo, buckaroo!  MS-DOS can't make DOS calls from tasks either.  
>Neither can UNIX.
>
>> 				Kevin Brown
>-- 
>Dave Haynie  "The 32 Bit Guy"     Commodore-Amiga  "The Crew That Never Rests"

  Ummm, just what are you calling tasks in MS-DOS, Dave? Child processes can
  certainly make DOS calls, but that isn't exactly earth-shattering...

  MS-DOS is *not* re-entrant, so that all of those cute pseudo-multi-tasking
  hacks are forced into some of the most entertaining gyrations imaginable
  simply to write a disk block or close a file ....

  The suggestion that MS-DOS can handle DOS calls from
  "anywhere" shows that the author either knows little about MS-DOS or
  considers anywhere to be an application program that owns the machine. 
  There are other cases, but the original comment is definitely over-stated.

fred whiteside "IGotsTaProgramDemTingsItsMuhJob"

schow@bnr-public.uucp (Stanley Chow) (05/06/89)

In article <6784@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
>in article <14562@louie.udel.EDU>, wzg91@ttacs1.ttu.edu (BROWN, KEVIN) says:
>
>> The Amiga is the ONLY machine that I'm aware of that can't handle DOS calls 
>> from anywhere.  C'mon, guys, even MSDOS machines allow THAT!!!
>
>Wrong-a-mundo, buckaroo!  MS-DOS can't make DOS calls from tasks either.  
>Neither can UNIX.
>

Come to think of it, are there *any* systems that can "handle DOS call from
anywhere"? Like, opening a file in the scheduler, talk to the console in thee
middle of a  malloc, ...


Stanley Chow        BitNet:  schow@BNR.CA
BNR		    UUCP:    ..!psuvax1!BNR.CA.bitnet!schow
(613) 763-2831		     ..!utgpu!bnr-vpa!bnr-fos!schow%bnr-public
I am just a small cog in a big machine. I don't represent nobody.

wzg91@ttacs1.ttu.edu (BROWN, KEVIN) (05/07/89)

In article <11530@well.UUCP> ewhac@well.uucp (Leo 'Bols Ewhac' Schwab) writes:
>In article <6762@cbmvax.UUCP> jesup@cbmvax.UUCP (Randell Jesup) writes:
>>	Without Tripos there might not have been an Amiga (or a Commodore).
>>
>	You might care to talk to Carl Sassenrath about that.
>

Out of curiosity, does Carl Sassenrath exist on this newsgroup?

>>	Also, who ever said we have to keep the DOS in BCPL forever?  [ ... ]
>
>	Ah, but those miserable BPTR's and BSTR's are forever.

Not if they implement the suggestion I made before: cdos.library (which
massages the incoming and outgoing data, converting CPTRs and CSTRs to
BPTRs and BSTRs before calling dos.library, and vice versa before returning
to the caller).  This could presumably replace dos.library in the ROMs
later on (with dos.library now residing on disk and performing the reverse
function that cdos.library used to perform, and calling cdos.library),
eventually becoming a full rewrite of DOS sometime in the far future.  New
structures would have to be defined, which consist of CPTRs and CSTRs in
place of BPTRs and BSTRs, but other than that there would be no
differences.

>
>	Take heart; worse things could have happened than AmigaDOS.  An
>MS-DOS style filesystem comes to mind.

Which is worse than AmigaDOS in a LOT of ways (no device names, no true
volume names, and 8-character filenames to name a few), but better in some.
*IT*, at least, doesn't search all over the disk trying to get a directory
listing (does FFS?), and it's callable from everywhere (mainly because
there is no such thing as a task or a DOS process in MS-DOS, so that 
basically means that this "feature" doesn't really count :-). 

Yes, it could have been worse, but I also think it could have been a LOT 
better.  As I mention in a different post, there IS a solution.

>_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
>Leo L. Schwab -- The Guy in The Cape	INET: well!ewhac@ucbvax.Berkeley.EDU
> \_ -_		Recumbent Bikes:	UUCP: pacbell > !{well,unicom}!ewhac
>O----^o	      The Only Way To Fly.	      hplabs / (pronounced "AE-wack")
>"Work FOR?  I don't work FOR anybody!  I'm just having fun."  -- The Doctor



				Kevin Brown

Internet: wzg91@ttacs1.ttu.edu or	Bitnet:	  WZG91@TTACS1 or
	  c8u00@ttacs1.ttu.edu			  C8U00@TTACS1

Snailnet: 4817 Saxon			Voicenet: (713)665-1911
	  Bellaire, TX  77401

doug@xdos.UUCP (Doug Merritt) (05/08/89)

In article <6784@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
>in article <14562@louie.udel.EDU>, wzg91@ttacs1.ttu.edu (BROWN, KEVIN) says:
>
>> The Amiga is the ONLY machine that I'm aware of that can't handle DOS calls 
>> from anywhere.  C'mon, guys, even MSDOS machines allow THAT!!!
>
>Wrong-a-mundo, buckaroo!  MS-DOS can't make DOS calls from tasks either.  
>Neither can UNIX.

The point here apparently being that neither (standard) DOS nor Unix 
support lightweight tasks in the first place.

I don't know about MACH Unix's lightweight threads, but I will say that
when lightweight tasks are implemented "by hand" in Unix, it *is* possible
to make system calls from them, with a few caveats.

That's no reflection on AmigaDOS, though. It is entirely reasonable to
have limitations on what can be done from within lightweight tasks.
That's why they're lightweight. If you want to do something beyond that,
you use a full fledged process. If you don't want to worry about the
difference, just always use a process. No big deal.
	Doug
-- 
Doug Merritt			Member, Crusaders for a Better Tomorrow
{pyramid,apple}!xdos!doug	Professional Wildeyed Visionary

"Of course, I'm no rocket scientist" -- Randell Jesup, Capt. Boinger Corps