On Aug 19, 2006, at 7:04 PM, Ray Arachelian wrote:
I'm somewhat unhappy with Java. It allows junior
programmers to do
silly things, like allocate lots of memory and not have to worry about
it just because there's a garbage collector. In real life, what
happens
is that they write applications with hundreds, even thousands of
threads
that grab resources other than just memory such as JDBC connections, or
file handles and never properly release them.
...
If you write stuff like that in C or assembly it
isn't masked by a GC,
it's very clear that something is wrong, and a lot easier to locate
bugs
using truss, systrace, gdb, etc.
The trouble isn't so much that java allows these things, but rather
that
it creates too many low paid junior programmers which get hired because
they're cheaper than more experienced ones. i.e. hiring two junior
guys
instead of one more senior guy who at least knows what he's doing.
I see this happening with C++ frequently too. Java is, in my
opinion, a fantastic language (with the exception of the unbelievable
bloat that keeps getting heaped onto it by the Sun guys in the form of
class libraries), and I've long held the theory that the problem comes
with Java (or C++) is a programmer's FIRST language. Modern computer
processors are typically not object oriented devices...programming them
in an object-oriented langauge is, simply put, not a good fit. New
programmers become spoiled very quickly with all this ultra-high-level
stuff and just slather it around with wild abandon, because their
CompSci courses (which are typically their only exposure to computers
in a technical, as opposed to email/web browsing/game playing, context)
never teach them a damn thing about how computers actually WORK.
-Dave
--
Dave McGuire
Cape Coral, FL