Question:
Which programming language is the most elite?
2015-11-06 21:13:26 UTC
By elite, I mean the programmers who like it are the most talented and experienced, who can get more programming done faster than a large group of other programmers. But most programmers don't like it, because it's elite, hard to learn, and not very useful to them, because they need a programming language that lots of other programmers like, so they can all work together better.
Four answers:
_Object
2015-11-06 22:12:01 UTC
There is none.

A programming language is a tool.



Similarly, a saw is a tool. By comparision, you are looking for a saw that only the best carpenters use, because they're super productive with it and can make the neatest cuts -- but one which most woodworkers don't like, because it's hard to use and not very useful to them, because they need a saw that other carpenters like, so they can all work together regarding technique.



When you select a language, you are selecting a tool. You should learn which tools are most suitable for what purposes, and select appropriately to your specific problem.



Edit:

Most of your update seems to agree with my point. I disagree, though, with this:



>> A programming language is more than a tool. Programming is like poetry.

No, I don't think so. Poetry cannot be quantified, is ambiguous in the general case, and, as such, is incompatible with computation.



>> It's not like choosing a tool

It is _absolutely_ like choosing a tool.

I presume your hypothetical, multilingual poet would select the language in which his thoughts could best be expressed, and in the tone most conducive to expressing the representation of his feelings.



Were I to grant the similarity required for the argument above, it would beg the question: what would be the most "elite" language for poets?



Who's the most elite? Multiple, competing, objectives don't leave room for one "best" programmer or tool in every situation.



There's this old adage originating from Parker Hannifin Corporation:

"Pick two: good, fast, cheap".



Let's assume Joe is a programmer who is exceptionally fast and cheap.

I think you'll agree that you don't want him writing the software for your cardiopulmonary bypass machine, but for writing some throwaway prototype, he's clearly the best choice.

For the CBP machine, you might seriously consider picking "good" _twice_, because equipment failure in this case is completely unacceptable.



The tool must be suited with the problem. It doesn't have to do with which is objectively the best in every situation, because that doesn't exist. Each language is consciously and obviously designed for different purposes --- how can you seriously claim that the design goal of each is irrelevant!?



Edit:

I was going to bring up the language, but decided against it. I'll keep it short this time:



Points:

--- All languages are equivalent

--- The only thing special about Lisp is it's macro system, which allows defining new syntax easily.

--- Macros (in this sense) are not needed to define new syntax: it's hard - but write an interpreter.

--- New syntax is not required to define DSLs. All abstraction contributes to a language.

--- Lisp macros are hard to read and prone to subtle bugs: have you ever debugged an anaphor you didn't expect to be there? Lisp's syntactic duality trades simplicity for versatility which isn't usually required - and complexity is bad.

--- Forcing everyone to read _a new language_ is hard enough. Throw in new syntax and the complex (untested, immature) metacode defining that syntax and things get complicated and buggy. This is bad.

--- A language serves as a starting point for solving problems, but all (computable) problems can be solved by any TE language. Pick the one which gets you closest, the fastest.

--- For most problems, Lisp is a harder than necessary choice. You are not the only programmer.
Hello-thar
2015-11-07 22:49:17 UTC
Your update says:

"Programming is like poetry."

"A poet has to choose which language to write his poetry in."

"The language can make a huge difference."

"If a programmer works alone, he needs a very different language than if he works with other programmers."



You're just reinforcing what _Object said with these statements. That is exactly why programming languages are just tools. You pick one based on what is NEEDED MOST for the situation, such as with a tool. You don't pick a screwdriver to do a shovel's job and vice versa. If there was a language that was "most elite", with productivity matching that of teams, everyone would pick that one language and all the other ones would simply disappear. It wouldn't be elite because of its usefulness and everyone would eventually learn it, therefore defeating the definition of "eliteness".



It's also very subjective to claim what is the most "elite" language. Everyone has reasons for picking a language. Their productivity isn't dependent on the "elite-ness" of the language, but how they use it and what that specific language offers that others don't. Again, that s dependent on the situation the programmer is in.
Essy
2015-11-06 21:19:24 UTC
So tl;dr you're asking for difficult languages with high productivity that most people don't use?

Every functional language ever.

https://en.wikipedia.org/wiki/Functional_programming#Coding_styles

Python is in the list for some reason, but something like Lisp or Haskell would be what you're looking for.



Haskell is in fact notorious for this difficult but high productiveness, most programmers don't even go near it.

Even then it's better to be used for sub-modules than main programs.



In my opinion it doesn't matter the language but the programmer.
benn
2015-11-06 21:17:28 UTC
Um c++


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...