Why Do Programming Languages Succeed Or Fail?
magicmat writes "UC Berkeley EECS graduate researchers Leo Meyerovich and Ari Rabkin have compiled an interesting data set on the sociological aspects of programming language usage and adoption. 'Socio-PLT' is the result: compiling survey results from Berkeley's recent 'software engineering' massive online open course, SourceForge, and two years of The Hammer Principle online surveys, they have discovered some interesting phenomenon about what we, as programmers think about our languages, and why we use them. You can head over and explore the data yourself using cool interactive visualizations, and even fill out a survey yourself to have your say."
The main factor in determining whether or not a language succeeds is the quality of its creator's beard:
http://entertainment.slashdot.org/story/08/04/29/181249/facial-hair-and-computer-languages
Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me. She's not the hottest girl at the dance, a little older and not dressed to the 9's, but she's the one I'm taking home that night. It's entirely personal, and I could'nt care less what others use.
Much like Ruby is called "Perl's younger, much prettier sister".
Dear Perl,
Look, I know that we were an item for quite a few years.
You were my one and only. My true love.
But I've gotta admit, when I saw your younger sister Ruby a few years back... well, I thought she was hot. But of course, she was too young then so I stayed away from her.
Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now!
Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features - OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.
And now that Ruby's got transportation (ok, so she likes to ride the rails) we're really getting around.
So, dear Perl, I have to tell you that it's over between you and me. From now on it's me and Ruby.
Please don't take it too hard. Maybe you'll find someone else after you're makeover.
Ah but Lisp is a success even though no programmer actually uses it.
Unlike a girl, a good programming language is good for more than one thing.
If you have more than one girlfriend, then you run into the same problems as SMP and multi-threaded programming: resource contention, careful locking, semaphore signalling overhead, etc. Woe betides you if one finds cosmetics stuff from another on the wrong stack in the bathroom.
Spin locks are, quite literally, a bitch.
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
Programming languages must have a certain elegance, a flow or symmetry that entices the mind. Pascal/Delhpi have always done that for me. She's not the hottest girl at the dance, a little older and not dressed to the 9's, but she's the one I'm taking home that night. It's entirely personal, and I could'nt care less what others use.
Much like Ruby is called "Perl's younger, much prettier sister".
Dear Perl,
Look, I know that we were an item for quite a few years.
You were my one and only. My true love.
But I've gotta admit, when I saw your younger sister Ruby a few years back... well, I thought she was hot. But of course, she was too young then so I stayed away from her.
Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now!
Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features - OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.
And now that Ruby's got transportation (ok, so she likes to ride the rails) we're really getting around.
So, dear Perl, I have to tell you that it's over between you and me. From now on it's me and Ruby.
Please don't take it too hard. Maybe you'll find someone else after you're makeover.
After a few go-rounds, you then discover she has 6 different STDs and is intellectually about as deep as a summer puddle in a Florida parking lot.
Yep. Sounds like Ruby.
Sure, sure. But Perl will fuck you back. Big time.
1. Why is a programming language successful? - Because programmers use it, or don't.
2. Why do programmers use it? - Because it does what they want.
3. What do programmers want from a language? - For it to do what is required, quickly and easily.
4. Why do programmers want to do things quickly and easily? - Because programmers are lazy.
5. Why are programmers lazy? - Because they want to get their work out of the way as quickly as possible so they can get back to doing things they really enjoy.
There are your five why's, answered succinctly and glibly.
Proverbs 21:19
Because those are the only two options.
Give me Classic Slashdot or give me death!
English isn't the world's most spoken language (when you include secondary speakers) for its elegance, consistency or expressiveness. It's a combination of history and politics and power and isolation and culture and grabbing concepts and words and pronunciation from other languages. Languages are the same, some exist practically by being first. Some exist only because they've had large companies like Sun or Java backing them. Others survive because they've been isolated cornering a specific need in finance or science or academia. I remember Java 1.0 and very early Javascript, that the world is now full of Android and AJAX apps is nothing short of a freak of history. Trying to analyze it from the language's qualities alone is never going to give meaningful results.
Live today, because you never know what tomorrow brings
Lisp is very powerful. So it is a good language for all the code that you write.
However I don't use Lisp. I actually prefer stuff like Perl. Why? Because Perl is good for all the code you don't have to write! aka CPAN.
All that code in CPAN that you don't write, is code that you don't have to document, and typically don't have to debug and fix.
Most programmers in the world aren't really writing code where most of the lines of code are "new", revolutionary or innovative. You might write a few innovative things here and there, but the rest? Don't reinvent the wheel - use good libraries/modules.
In areas where nobody else in the world has ever done what you are doing, then it makes sense to use stuff like Lisp or whatever super powerful language that some genius has come up with.
Otherwise if you need to parse and build DHCP packets, perl/CPAN has modules for that. If you need to parse and build a webpage and post a webform, perl/CPAN has modules for that. Talk to DB servers, handle SNMP, SMTP over TLS, ssh, write Excel files, create images, etc they're all on CPAN.