Interesting comment on a Wired article (beards and programming languages )
Java and C++ were designed to keep mediocre
programmers from screwing up. Bjarne Stroustrup
(creator of C++) said “C will let you shoot yourself in
the foot. C++ makes it harder but if you do you blow
your whole leg off.” Any time you take away some
capability of a programming language that would let
the programmer screw up, you remove a capability to
be creative. Linus Torvalds says “C++ is a horrible
programming language.” Java promised code reuse.
There’s no code reuse being done with Java, in fact the
Java API doubles with every release and deprecations
double every 18 months. Java code has to be
continually maintained. By a conservative estimate
30% of programmer productivity is spent maintaining
code because of deprecations. And what framework
are working with this week? You can kiss Java goodbye
even if it’s a slow, expensive, miserable COBOL death.
If you can’t write parallel code – which is hard, even
heterogeneous parallel programming, which is really
hard, you’ll shortly be out of work, going to night
school or maintaining Java – a job which could possibly
be done by a trained ape. There’s going to no 4GL for
this stuff coming, no code generator – it’s going to take
an intelligent and skilled programmer working very
diligently. Probably writing in C. Looking forward to
writing non-deterministic code?
And what about PERL, Python, Tcl, Ruby, PHP, Lua, etc?
They’re very useful tools to a job done but but would
you sink a big chunk of cash into a major system even
partially written in Python? If so, I’m going to be
selling short on your stock.