Oh, the Java folk hate the C++ folk,
And the Smalltalk folk hate the Python folk,
All of my folk hate all of your folk,
And everybody hates VB, but during
National Brotherhood Week,
National Brotherhood Week,
It's National Everyone-
Be nice to people who
Are inferior to you;
It's only for a week, so have no fear ...
-- with apologies to TomLehrer
Everyone thinks their favourite language is best. Everyone hates all those other languages. TomStambaugh
just detests C++. PeterMerel
thinks Java is the pits. There's probably even someone out there who doesn't like Smalltalk. Well, get over it, people! What makes developments succeed or fail, what makes someone productive or not, WhatMakesAgoodLanguageGood
has almost nothing to do with language features, and almost everything to do with your background and the background of your team. There are indeed languages that perform poorly in some contexts - HorsesForCourses
- but you can almost always patch 'em with a bit of assembler and away you go. Even VB can be productive in the hands of people as skilled and experienced as some Microsoft programmers.
There's always more than one way to do it, and WhatMakesAgoodLanguageGood
is always what makes it good for you. So let those foolish folk working in their silly language go about their business without derision. You'll always kill 'em in the marketplace, right? -- PeterMerel
? The ability to express, directly and succinctly, your thoughts into that language. Every hoop you have to jump through, every bit of syntax you have to remember, is slowing you down from translating your thoughts into what the computer understands. -- AlainPicard
In my humble opinion, every language has it's strengths for certain tasks. For instance, I detest Perl, but recognize it to be the best language for string and text manipulation. The list goes on. I think a good programmer knows how to stock his toolbox and pull out the right tool for the job.
I once saw a very moving keynote by BjarneStroustrup
where he talked about this exact thing and was particularly offended, as was I, by Sun's marketing stance, that Java was the ONE true language for everything and anything else was legacy code. They all have their places. I think people need to stop bashing people for their choice of tools. My toolbox contains Everything from Fortran to C++ to Java to a ScriptingLanguage
to Assembly to ActiveServerPages
to SQL, and I pull out the right tool for the job at hand.
It's impossible to get by on just one language anyhow, unless you never have to do anything new as programmer. DBI calls in Perl or Java will require that you know some SQL. Console C programs in Unix are usually combined with some scripting or other. I use a lot of MS software (Excel, Word) as a user for my job, and knowing VBA is a priceless time saver.
I have difficulty seeing a situation where I would prefer C++ to Java (cause the memory management stuff takes forever), unless I was doing a 3D program (OpenGl
I think however that there is a tendency on the part of each programmer to automatically go to that "feel good" language. Mine is Perl, but I can recognize that while you can do OO in perl (and really, just as easily as in Java), because the syntax is not an OO syntax, OO is better learnt on Java or C++. just to get these good modelling habits in. In fact, Perl is probably a horrible tool on which to learn programming.
How about which FirstTimeLanguage
should be used as far as teaching programming.
Somewhere I remember reading an essay by someone prominent on designing a popular language. I can't find a reference - help?