Programming Languages that are Loved

 17 Apr 2004 | Programming

Paul Graham thinks Java "[smells] supicious". One of his reasons is:

4. No one loves it. C, Perl, Python, Smalltalk, and Lisp programmers love their languages. I've never heard anyone say that they loved Java.

But I think some people do love java. In fact if you put "I love Java" into google you get approximately 2,530 results. "I hate Java" did get 768 results though. This got me thinking about how some programming lannguages are loved, like Perl in 1999 (before the backlash about it being "write-only"). PHP, then Python and Ruby emerged in a similar way from the hacker community and also seem to be loved. I decided to extend my unscientific test.

Results of putting "I love x" and "I hate x" into Google for various programming languages.
languagelovehateratio
ruby1,5507620.39
python8208210.0
c#287309.57
smalltalk131245.45
php4,0707725.27
assembler72145.14
ml3074.29
cobol43133.31
java2,5307683.29
perl1,9906702.97
haskell2072.86
c1,6405822.82
scheme65272.41
lisp181782.32
sql164981.67
fortran17180.94
prolog21240.88
c++3114770.65
vbscript17300.56
javascript1794320.41
vb5221,2700.41

Some languages had to be excluded from the test because their results were just noise: Icon, Joy, Eiffel (apparently there's a band of that name). Sisal, T-SQL and Intercal (at least) don't really have enough information even for this rough test (a very small number of "I love"s and no "I hate"s making them appear to be the most popular languages).

Ruby's outstanding result should not be taken too seriously as it was definitely more polluted by noise than a language like Smalltalk (no one says, "I love Smalltalk" unless they mean the programming language). Nevertheless a quick skim through the results seemed to show that most of them related to the programming language.

Three of the top five languages by love/hate are the "community" languages Ruby (1), Python (2) and PHP (5). Perl, however is way down at 10 (below Java). Of the other languages in the top five, Smalltalk was developed by a small group at Xerox Parc and the rapidly expanding C# is, of course, a Microsoft creation (unless you count the 10 years of prototyping done by Sun).

The languages that inspire much more hate than love are the perennial whipping boys VB and VBScript as well as JavaScript (hatred due at least in part to the terrible environment in which it usually operates - incompatible browsers) and (hilariously) C++ in which an awful lot of desktop apps are written.

Java comes ninth. That's above Perl in tenth, C in twelfth and Lisp in fourteenth - three of Paul's "loved" languages.

PHP has the most people willing to proclaim their love (4,070) but also a significant number of detractors (772). In fact, by volume Java lovers are the second largest group (2,530). Java has obviously picked up a lot of adherents since April 2001 (when the article was written).

If you liked this you might find my jobs by programming language page interesting.

Comments

On 05 May 2004, Greg wrote:

Perhaps adding the search word "programming" in addition will get more accurate results in the case of languages with more common words. A skim through the results of "I hate ruby" - not one of them is related to the programming language.

Searching for '"I hate ruby" programming' gets 0 results. '"I love ruby" programming' gets 516 results.

And '"I love java" programming' gets 661 results, while '"I hate java" programming' gets 663. After all, lots of people like their coffee in the morning.

Having used more than half the languages on that list fairly extensively, it is no surprise that ruby tops that list by an excessively wide margin. It's a language - that makes programming fun again.

I have never met a person who dislikes ruby.

On 05 May 2004, Curt Hibbs wrote:

Greg,

what search engine did you use? I just used Google to search for "I love Ruby" (with the double quotes to search for the phrase), and I got 2,750 hits. I went through the first hundred hits and found 60% of them to be referring to the programming language. Extrapolating, this gives 1,650 real hits.

When I search for "I hate ruby" (again, with the quotes) I get 58 hits. Only one of them was about the programming language -- even then, it said "its not that I hate ruby..." But I'll count it anyway because the same could happen for the other languages.

So this actually boosts Ruby's ratio to 1,650. That's 165 times higher than Python!

On 05 May 2004, Curt Hibbs wrote:

Oops, a math error on my part. I should have said that puts Ruby 16.5 times higher than Python.

On 05 May 2004, Greg wrote:

I used google - and as I said, I addeded the word 'programming' to the search phrase. So it's searching for the phrase "I love ruby" that also has 'programming' somewhere in the page. And yeah, we'll lose some hits for that, but it'll happen on both sides of the equation (love v hate)

On 05 May 2004, Greg wrote:

And your math was right.

1,650 (Ruby's rating) / 10 (Python's rating) = 165

On 06 May 2004, Paul wrote:

So you find that Ruby wins the lovable language test by a wide margin and then dismiss the results as being skewed because the word 'Ruby' could be used in non-programming ways. But couldn't the same be said for some others on the list like Java ("I love Java in the morning") or Python ("I love Pythons, they're my favorite snake") depending on how your Google search was done.

I love Ruby (the programming language). I've programmed in lots of different languages over the years (Assember, Basic, Pascal, C, C++, Perl, a bit of Java...) and while I liked some of them, I wouldn't use the word 'love' to describe my feelings for them. But I do find that Ruby is a joy to use and most everyone I've talked to who has tried programming in Ruby ends up loving it.

On 06 May 2004, Curt Hibbs wrote:

Just to continue the fun with the #2 entry, I did the same sort of rough analysis with the love/hate python.

For "I love python" I got 762 hits. Checking out the first hundred, only 7 were false hits (all but one were references to Monty Python). For "I hate python" there were 86 hits, and 2 were false hits (also for Monty Python).

This give Python an adjusted ratio of 755:84 or 8.98.

On 06 May 2004, Curt Hibbs wrote:

I just noticed that myh adjusted ratio for Python actually drops it slightly below C#.

Its unlikely that love/hate C# is going to get false hits (i'm not going to look at this one). The only thing I can think of is the musical note C# -- but why would someone love or hate a particular note?

On 06 May 2004, Curt Hibbs wrote:

Oh man.... I forgot to adjust those 7 false love-python hits to account for the total of 762 hits. This means a total estimated false love-python hits of 53.

This gives Python a ratio of 709:84 or 8.4 -- well below C#.

On 06 May 2004, Curt Hibbs wrote:

I said I wasn't going to do it, but I couldn't help myself. 🙂 I just did the same adjustments for C# (yes there were some false hits for the musical note). Since these top three entries (Ruby, Python, and C#) were *way* ahead of the rest, I *will* stop here... promise.

"I love C#" had 237 hits, 4 of the first hundred were false, giving an estimated total false hit count of 9. "I hate C#" got 28 hits and none of them were false.

This gives C# an adjusted ratio of 228:28 or 8.14.

On 06 May 2004, Jeff Mitchell wrote:

Remove false hits altogether:

"love ruby" perl python => 1560
"love perl" python ruby => 175
"love python" ruby perl => 172

On 06 May 2004, Jeff Mitchell wrote:


"hate ruby" perl python => [ no hits ]
"hate perl" python ruby => 141
"hate python" ruby perl => 33

On 07 May 2004, Thomas David Baker wrote:

Just to quickly respond to Paul who said that I, "dismiss the results as being skewed because the word 'Ruby' could be used in non-programming ways."

Paul, all I said was that, "Ruby's outstanding result should not be taken too seriously as it was definitely more polluted by noise than a language like Smalltalk ... Nevertheless a quick skim through the results seemed to show that most of them related to the programming language." That's hardly dismissal!

One thing that I learnt doing this rather random test was that Ruby is definitely a well-loved programming language.

On 07 May 2004, Thomas David Baker wrote:

Another question might be /why/ Ruby, Python and C# are the "most loved" languages. It seems to me that they have all hit primetime fairly recently. To illustrate this here's some stats on O'Reilly books:

- Ruby in a Nutshell (1st ed.) Nov 2001
- C# in a Nutshell (1st ed.) Apr 2002
- Python in a Nutshell (1st ed.) Mar 2003

whereas

- Java in a Nutshell (3rd ed.) May 1997
- Perl in a Nutshell (1st ed.) Dec 1998
- VB and VBA in a Nutshell (1st ed.) Aug 1998

This is a good time for finding lovers of all three of our top languages before people are being forced to use it and before the lack of X (generics, a good sockets library, an object system, or whatever X might be) has driven some users mad.

That's not to say that "newer" languages aren't necessarily the best languages, I'd say they probably are (Lisp is the only language older than about 10 years that I'd consider using and that has had many modernisations).

And we aren't there yet, something better than these new languages will come along, you can be sure of that. There's some good stuff on Paul Graham's site on this, like http://www.paulgraham.com/hundred.html

Add a Comment

All fields are optional (except comment!). Email addresses will never be used for spam and will not be displayed on the site. IP is logged.

Your name:
Your email address:
Your comment:
No HTML. Put spaces around URLs. Use absolute URLs with protocol (for example, /news/).

Mail me when someone replies to this thread (How do I unsubscribe?)