I would, but frankly speaking I don't think we'll be able to use it. Since its mere existence would prove that all principles of logic known to humans are unsustainable, which would cause World War X and total destruction of planet Earth. Heck, forget about us and Earth, whole universe would collapse killing all living forms (including Bob) in the process!
Languages may fall into disuse, but they don't cease to exist. Things that were written in languages that are now "dead" are still around even though maybe no one can understand them.
Furthermore, a language exists once it has been defined, even if no one uses it and, in the case of programming languages, even if no compiler or interpreter exists for it.
While I agree that the use of fewer languages in active development projects is a good thing, I could not choose "We should work towards far fewer languages". So I voted for "It should stay as it is now"; whereby if a language is expressive and easy to use and is useful across a broad range of application domains, then it may supercede several other languages. (Language Darwinism )
Plus, I disagree with the "s" at the end of "toward".
So I learn a new language. Most of it is syntax anyways or concepts peculiar to the strength of that language. Most of programming is applying the same general concepts (not language specific) over and over to solve each problem.
Programmers are tools to convert caffiene to code.
Ideally we should live in the perfect world in which we don't need programming languages at all and where we can make things work the way we want simply by looking at them. But then again we don't live in such world, so we have many programming (as well as natural) languages and everybody can choose the one (or few) that (s)he likes or fulfills the needs.
How do you know? Here:
Run that in your debugger.
You use the tools that fit the job you're trying to do. If you did try to make one tool to fit all problems (i.e. the web, AI, heavy calculations, intuative UI, etc) it would be large and unwieldy. And you would still have times when you need something else.
I'll follow up on your tool analogy with the way modern automobiles are constructed. Most, if not all, require the purchase of special tools to do certain jobs. No standard tool can do certain jobs because of location, space constraints, or just plain weird configurations - and this was done by design.
In my opinion (at least) this sucks.
It's ridiculous to create a tool for each job. Whether it be automotive repair or coding.
If you accept this concept, then where does one draw the line and say work a bit harder this once and be done with it.
There are an awful lot of languages out there that seem to be about as generally useful as a wrench for a 7-sided nut. A combination of a dust-collecting wrench and a *&$($& pain of a obstacle. Personally, I'd find it more sensible to get a 6-sided nut to replace it . . .
Should there be no more new languages. No - I'm not saying that. But making some subset of programming easier at the cost of making everything else about the project (maintenance and maintainers) more difficult isn't very good.
Real life example: There's a major app where I am, written in Visual FoxPro. It certainly made dbase access easier - managed all sorts of stuff - and is also incompatible with the universe, VFP will soon be deprecated, and except for the developer who created it, is barely maintainable by current staff. SO much for diversity. At least the developer has job security.
I'm not necessarily prepared to sketch the lines that mark the limits wherein one should use an existing language and outside of which one needs a new solution. The solution, though, can often be achieved by reframing the problem and using what one has. There are times where, as you stated,
Joe Q wrote:
when you need something else.
They are relatively rare.
The current situation, where we have a Language-of-the-Month-Club scenario is neither useful nor acceptable.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein
"How do you find out if you're unwanted if everyone you try to ask tells you to stop bothering them and just go away?" - Balboos HaGadol
"It's a sad state of affairs, indeed, when you start reading my tag lines for some sort of enlightenment. Sadder still, if that's where you need to find it." - Balboos HaGadol
I agree with the concepts of what you are saying. There should not be a language of the month club as it seems like there is for web development.
<blockquote class="FQ"><div class="FQA">Balboos wrote:</div>The current situation, where we have a Language-of-the-Month-Club scenario is neither useful nor acceptable. </blockquote>
However, programs do need to be individually tailored for what is going on. I've done user interfaces where there's a lot of input validation, work with strings, things like that. I've also written missile guidance software that is very mathmatically intensive and dealt a lot with hardware interaction. Both are backed by different trains of thought, both needed differt tools.
It does seem, especially in web development, that a lot of languages could have been developed by simply adding extension to other languages. However, someone wouldn't get the credit for coming up with a new language if you did that.