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

Reply via email to