Link to the article about the AT&T UNIX OS and C ....
http://en.wikipedia.org/wiki/UNIX On Fri, Dec 5, 2008 at 8:01 PM, Prince Riley <[EMAIL PROTECTED]> wrote: > Here is a direct reference from the Wikipedia article I referenced in my > prior post ... > > In 1973, Unix was rewritten in the C programming > language<http://en.wikipedia.org/wiki/C_%28programming_language%29>, > contrary to the general notion at the time "that something as complex as an > operating system, which must deal with time-critical events, had to be > written exclusively in assembly > language".[4]<http://en.wikipedia.org/wiki/UNIX#cite_note-Stallings-3>The > migration from assembly > language <http://en.wikipedia.org/wiki/Assembly_Language> to the higher-level > language <http://en.wikipedia.org/wiki/High-level_programming_language> C > resulted in much more > portable<http://en.wikipedia.org/wiki/Software_quality#Portability>software, > requiring only a relatively small amount of machine-dependent code > to be replaced when porting Unix to other computing > platforms<http://en.wikipedia.org/wiki/Platform_%28computing%29> > . > > Prince > > > > On Fri, Dec 5, 2008 at 7:57 PM, Prince Riley <[EMAIL PROTECTED]>wrote: > >> Hello >> >> I don't mean to start a culture war here, but I think there is a bit of >> overstatement in this post that 'C' is somehow a better language for writing >> an OS in than say Pascal or OP or anything else. >> >> In point of fact, the only 'best' language for any processor is its own >> machine code which is always binary. >> And the first operating system software written was done so in the >> assembly language which is written to use mnemoics >> that when 'assembled' convert directly into the binary machine language on >> a one to one basis. >> >> Now EVERY compiled language, including C, must be processed from its >> syntactical representation into assembly language or machine code. In fact, >> if you download the GCC complier source code and read it, you'll see almost >> immediately that it actually a 'language' front-end connected to a >> 'assembler machine code' back end. >> >> When the 'C' language was designed at AT&T it used 'assembler' like >> constructs and syntax because it's author wanted >> to stop writing programs in a language called BCPL.. >> >> So aside from a 'historical accident' that the first AT&T OS ..UNIX.. was >> being written at the same time C was being developed, there is no other >> reason for any program, including an OS, to be written in C. To suggest that >> C is better is rather like suggesting that Spanish is a better language than >> English for writing a novel. >> >> That said, if someone wished to write a modern OS in FP, which has nearly >> every programming construct that 'C' has (ints, doubles, floats, bytes, and >> bits) and you were willing to put in the time to fine tune and modify the FP >> compiler, you could produce a OS in FP that would be every bit as effective >> and perform as well or better as one written in C. And as far as the >> processor running the OS couldn't tell what language the OS was written in. >> >> >> If anyone wants to convince themselves on this its simple, you'll find >> Ritchie (the creator of the C language) explained these points in the >> preface to his first book on C. There is also a brief mention of this in the >> Wikipedia article on the UNIX operating system. (see the article footnotes) >> >> Prince >> >> >> On Fri, Dec 5, 2008 at 6:59 PM, Guillermo Martínez Jiménez < >> [EMAIL PROTECTED]> wrote: >> >>> > Are you sure? >>> >>> Yes, I am. >>> >>> > doesn't older MacOS's versions where written in Object Pascal? >>> >>> Yes, it does, but as I said I think it wasn't the better options. >>> >>> > I think the problem here (again) is not the language, it's the critical >>> mass of users of the language. Using C for Linux was a good bet, not because >>> the language is good (Pascal is way better for me), but because C has a >>> wider user base who can fix/add features. >>> >>> I disagree. C is better for write operating systems *by definition*: >>> C was created to write UNIX, Pascal was created to learn good >>> programming techniques. C is low/mid-level language, Pascal is >>> high-level (and Object Pascal is even higher): OS are the lowest >>> software level. >>> >>> I'm not saying it's impossible: here you have MacOS and Toro. I'm >>> just saying that _I think_ it isn't the best option. Of course a >>> better option is to write the kernel in C and Assembler and the >>> utilities in Pascal and Object Pascal. >>> >>> Guillermo "Ñuño" Martínez >>> _______________________________________________ >>> fpc-pascal maillist - fpc-pascal@lists.freepascal.org >>> http://lists.freepascal.org/mailman/listinfo/fpc-pascal >>> >> >> >
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal