What Makes Agood Language Good

 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-
 Smile-at-one-another-hood Week;
 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

WhatMakesAgoodLanguageGood? 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.

-- sg

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.

-- FranckBinard
Somewhere I remember reading an essay by someone prominent on designing a popular language. I can't find a reference - help?

BeingPopularEssay. http://www.paulgraham.com/popular.html

View edit of April 29, 2004 or FindPage with title or text search