Madman wrote:Why everyone insists on developing their own stupid language (tm)?
But no, everyone thinks that they can invent some stupid language that will be idiot-proof, which never happens. And in the end, there are a lot of half baked languages with half baked libraries and half baked professionals in each of them.
Well... you need some sort of shell scripting language too. Sure, Python can be used for that; but it's massive overkill for simple tasks. There's a lot of overhead involved in starting up the Python interpreter, making it non-optimal in many cases.
Even C++ is too bloaty for low-end embedded control devices (think the chip that runs your microwave oven, or the embedded processor on the logic board of your hard drive). C++'s complexity also makes safety certification of critical embedded control systems (e.g. fly-by-wire avionics) difficult. So you still need C (or possibly even assembly language, but even the lowliest microcontrollers are generally capable of supporting C these days).
The only language out of the ones you listed that can be used effectively for multithreaded programming is C++, and coding parallel algorithms in C++ is a bitch. We need a language that has better support for multithreaded (and GPU) computing.
There are certain classes of problems which are most effectively solved using functional programming (e.g. Haskell, Mathematica).
The syntax of a make
dependency file is arguably a programming language in its own right, and the operations it embodies could not be specified anywhere near as succinctly in any other "normal" programming or scripting language.
If you're going to call HTML a language, then XML qualifies too -- it serves a purpose which is not addressed by any of the other languages you mentioned.
Way, way back in the day (late 1980s) I invented my own language for scripting text-based adventure games.
I could give more examples, but I think you get the idea.