danpeirce wrote:The other thing I was going to say after reading though all these posts is that the one thing that truly astounds me is that anyone would still be promoting basic. I thought basic in the form of gw-basic was dead 20 years ago.
One of the great things about Linux has always been the variety and quality of real programing languages that come with it (not as extras).
Well....an old engineering saying is, "Efficiency depends on what you want to effish."
What is a "good" programming language? Doesn't that depend on how you define "good"? In my experience, all too many people are told, "Do it in THIS language, because that is our shop standard". Or they code in particular language because it's one they know best. Or they code in a particular language because that's the "hot" language at the moment.
Personally, I laugh at some of the languages chosen to do certain types of programming, because the chosen language is rather ill adapted to the task at hand. A good example is using C to write business programs. Business applications almost invariably require you to deal in money and the first thing you need are fixed point variables with decimal fractions. COBOL does those very well. Most other languages do them very poorly and the workarounds are quite kludgy.
At the same time, I've worked in shops where *everything* had to be written in COBOL, even if COBOL was very poor at handling the task at hand. In one memorable instance, I had to rely on knowing both how the actual hardware instructions worked AND what machine instructions the compiler would generate from a given construct. Change the compiler and you'd break the program, but the under the shop standards, I wasn't allowed to write and use a trivially easy Assembler subroutine that would have been clear, to the point, and (essentially) unbreakable.
If you want something that is simple, quick and easy to understand, BASIC is a pretty good choice. If you're going to write an operating system, then C is a good choice. Don't get them mixed up.