4 ms·
I concur with nearly everything he says except one: that Unix could have been written in assembler as much as it could have been written in C. Unix was original
by astine 19y ago
I concur with nearly everything he says except one: that Unix could have been written in assembler as much as it could have been written in C. Unix was originally written in assembler but they changed it for a reason. Unlike assembler, C is portable.
C's low levelness not only gives the programmer a needed degree of precision control, but also makes the language easy to implement elsewhere. There is a version of gcc for the x86, and for the ppc, and the sparc and the arm, and to port programs between them, often all you need to do is is set the right compiler flags and use preprocessor commands wherever necessary. C is highlevel enough to keep you from having to write architecture specific code, but low level enough to allow you to do so.
- gcv 19y agoI also agree with the article, but I must take exception with your assertion that C is easy to implement. The ANSI C99 spec came out almost ten years ago, and most major compilers still barely support it. GCC has a depressing number of C99 features flagged as broken (http://gcc.gnu.org/c99status.html http://gcc.gnu.org/c99status.html), for example.
- tjr 19y agoGCC has been making progress on C99... part of their problem has been, how best to implement C99 features that were already part of GCC prior to C99, but with different syntax? For Microsoft, I read somewhere several years ago that they had no plans to support C99, because they viewed C as inconsequential compared to C++. I have not kept up with Microsoft C compiler development at all, so I don't know if this is still true or not.
- 0x44 19y agoIt does make sense for Microsoft to deprecate continued development of C, when one considers their push toward .NET and getting various languages implemented on it.