[Snip]
I understand the dates, my friend. It is the juxtaposition of assertions
to
which I object:
1. The Linux kernel is not based on UNIX. It was written from scratch
with
some knowledge of Minix. It has since acquired a few UNIX traits, but
most true UNIX guys still sneer at the Linux kernel.
Ah, finally a real argument. The Linux kernel is very similar in
architecture to UNIX, and very dissimilar to Minix (see the Tanenbaum/Linus
flamefest). It uses the same fork() copy that made sense on a PDP-7, but
doesn't really in this day and age. The same file-based security system
(hacked up a bit but still recognisable) that is so coarse-grained and
inflexible. I wasn't asserting that Linux was *completely* copied from UNIX,
but the architecture is pretty much the same. About the biggest shift away
from the traditional UNIX architecture is the vastly improved modularity.
2. The C used for Linux is, as far as I can tell, pretty much ISO C99 with
some GNU extensions. Unitl recently you could only use this C, gcc, to
compile the Linux kernel (now you can also use Intel's fine compiler.)
Since ISO C99 was ratified around 1999, and contains much more
complexity
and features over the original C (which I first encountered only about
25
years ago), I would hardly say that Linux is written in a 33-year-old
programming language.
So by that argument a programming language is as old as it's most recent
incarnation? Okay.
They can do that. Nonetheless, when you develop for certain project (e.g.
the Linux kernel and the devices drivers) you *will* use C, and it
will be formatted using kernel coding conventions.
Naturally, I never said otherwise.
For better or worse, it is essentially a Microsoft product. Microsoft is
being more reasonable about the openness of C# than Sun is about Java, and
there is one Linux C# project, and C# does have some 3rd party support, as
I
understand it.
However, I am loath to give up the STL, for example.
The upcoming version of .NET has an STL-like library called STL.NET.
Needless to say it has to be somewhat different because of the differences
between generics and templates.
So is C++, which is what we use for our Windows users and servers.
Since they're Windows (and by implication Windows-only, since that was my
implication) users why exactly are you using a language that means a
guaranteed slower development and guaranteed more bugs? To me, it just
doesn't make sense. C++ has it's place, but standard Windows business apps
are not one of them.