Linked by Roberto J. Dohnert on Wed 28th Jul 2004 17:23 UTC
General Development Most of us that work in the IT industry have been around for a long time. We started out in our parents basement writing code in some BASIC environment, ussually Commodore BASIC or QBASIC. Do you remember how thrilling it was? Your first program and it was something extremely basic but the point was it worked. Some of us got hooked right away and kept trying to solve problems and added more and more pushing the capabilities of whatever language we used. As we got older the environments progressed and the programming tools progressed and got more complicated.
Permalink for comment
To read all comments associated with this story, please click here.
C++?
by m on Wed 28th Jul 2004 18:20 UTC

I second the other comments: I'm a professional software engineer for mission critical tier 1 telecom products, using C++ on a daily basis. Despite its shortcomings, it's still a good choice for this type of professional work (transaction performance being a high priority).

However -- I would not recommend it at all for any hobby work. C++ is deceptive: it may seem easy to learn, but for the uninitiated it is _easy_ to fall into traps that require an expert to help you out of -- it has no padding or safety features :-). These are not the kind of obstacles you want as a hobbiest. Even C using pseudo OO is better than C++ for a hobbiest: less chance in C that you'll suffer from some strange object slicing or related problem.

I wouldn't even recommend python either, I think it too terse and idiosyncratic. You need a language like perl or php: that's flexible and actually somewhat forgiving, but even these have their shortcomings. I hate to say it, but VB is probably a good recommendation.

For the hobbiest: the language needs to be:

(a) quite fault tolerant (i.e. garbage collection), and not allowing strange traps (with perl and C++ you can easily get lost in strangeness).
(b) powerful and simple, all sorts of kitchen-sink tools and utilities (perl and php good here).
(c) not requiring too much "infrastructure" (e.g. java environment ...).
(d) scriptable and interpretation, quick and easy to hack up things (perl good here).

By no means a complete response to the post. If someone were really interested in addressing hobbiests, they'd dissect (a) who the hobbiests are, and classify them, and identify what they do, etc; (b) survey the languages, and their pros and cons; (c) use a couple of "sample" use cases -- i.e. what would a hobbiest use the language for?; (d) distill all of this into a table like a consumer product review.