On Thu, Aug 09, 2012 at 06:07:41AM -0700, Leslie S Satenstein wrote: > Hi Hendrik > > My view is that C is very alive and well. If C is obsolete, what > language do they use to write Kernel and networking code? I am > programming some high speed processing, and the boost/C++/Qt code just > did not cut it. I used C code to handle high speed banking operations > (30 transactions per second). With C++ and the best optimization, CPU > utilization was double that of C. > > There is nothing wrong with using a functional - non object oriented > language. I find that using OO design generates way too much code > bloat. > > I restrict my use of OO code for GUI interfaces. Other than that, if I > do not require processing speed, If I start with C++, I tend to > continue with C++. I have not used Python, but will consider it > sometime soon.
What you say is true. But it doesn't alter the fact that C is obsolete, and has been obsolete for several decades. It survives because of inertia. It's the systems language most people use, so most systems programs are written in it, and so most programmers have to learn it, because a lot of programming deals with changes to existing software, not writing new. Because most programmers know it, most new programs get written in it. THis situation is likely to continue into the indefinite future. New languages that are more appropriate for system programming, where extreme efficincy, machine-dependence or low-level coding are necessary, don't have a chance against this overwhelming inertia. New languages have a chance when they are designed for completely different classes of applications, where reliability and convenience of programming overwhelm those three criteria. This is where python, scheme, ocaml and others come in. But they're still minoority languages. There have been better systems langauges, mostly little used and forgotten because of the overwhelming inertia that C has. My favorite is Modula 3. It is suitable for writing operating systems, and has been so used. It tends to lead to efficient, reliable code. There have been others. Modula 3's specific handicap is that it's distributed under a free-sofware licence that happens to be incompatible with the GPL and after a series of corporate takeovers, the entity that now owns the copyright no longer has any interest in it, so it's impossible to get the licence changed. And it's not popular enough to make it worth-while to write a new implementation. But you're right. No one is about to rewrite the Linux kernel in another language. It's too much work. Sometime in the seventies, when things were much smaller, someone did rewrite the Unix kernel in another, better language. But it didn't catch on, because back then, why not just use Unix itself rather than a clone? This was before the widesprad personal computers and the free-software movement made a free OS feasible. -- hendrik _______________________________________________ mlug mailing list [email protected] https://listes.koumbit.net/cgi-bin/mailman/listinfo/mlug-listserv.mlug.ca
