My theory is that programmers choose to use languages like Python and Ruby for their personal projects, despite their weaknesses, because these languages are more fun to program in.
There's something about this thinking that gets me on the defensive. I think it's that so many people seem to unquestionly accept that C# and Java are for real work, but that Ruby and Python are somehow lesser languages.
I work in the IT dept of a small but conservative company, in a large but conservative field. A few years ago, before I came onboard, they made the decision to phase out Java for Ruby, and now almost all work is Ruby. We've also migrated development environments from Windows to Linux.
I'd consider myself a professional programmer, but this is my first job in a Ruby shop, and I have to say I am still staggered by the productivity. We do things with our small team that would never be considered amongst larger teams I've worked for.
Strange thing is, we don't fit any of the Ruby/Rails stereotypes at all; average age of the devs would be mid-30s and we all have kids. Oh, and only one of us owns a Mac.
I work in Java on the weekdays and Rails on the weekends.
I do not find that Ruby is a weakness to me. Indeed, after several years as a professional Big Freaking Enterprise App Java developer, I would break out in a cold sweat if told to code up an A/B testing framework in it by my boss. I'd quote him two months.
It took me a week in Rails, working after I got home (generally past midnight).
Don't get me wrong, I like Java. I cut my teeth on programming Java. It put a roof over my head and food on the table. I support almost two thousand customers of a Java Swing app. But yikes, for the typical greenfield web application with flexibility to choose platforms, there are so many better choices.
This seems to assume a fixed number of programmers, all of whom program during the week and at the weekend.
My guess would be that it's much more likely to be two largely disjoint sets:
Professional programmers at work during the week, and amateur programmers who have other day jobs (e.g. school or non-programming jobs) who are more likely to be programming during the weekends.
If we assume that this is the case, then the data simply suggests that professional programmers are more likely to use C# and Java, whereas hobbyist/amateur programmers are more likely to use Python or Ruby.
This is just a hypothesis, but it is equally well supported by the data as the article's hypothesis:
programmers choose to use languages like Python and Ruby for their personal projects, despite their weaknesses, because these languages are more fun to program in
Which assumes that all professional programmers are also hobbyist programmers in the weekends, and that the numbers of amateur programmers are not significant enough to make an impact on search statistics.
I really like this response. Not that I didn't like the study - it made no claim of proof, just support, and was a neat idea. Too often we see this kind of thing written up in articles or blogs with only the one interpretation w/o consideration of other explanations. I've seen this in corporate meetings re: whatever measurements, too. Nice study idea, and nice reminder here that supporting results fail to disprove but do not prove.
My theory is that programmers choose to use languages like Python and Ruby for their personal projects, despite their weaknesses, because these languages are more fun to program in.
This sentence betrays the writer's lack of understanding of what Python and Ruby are for.
Hint: they're not just weaker-but-"more fun" versions of C# and Java.
Apparently India is concerned with nothing except .NET.
Sadly, that is very consistent with what I saw in class as a CS undergrad. Went to a second-tier state school in California, was one of the very few non-international students in the whole department.
The students from India, almost down to a man/woman, had absolute Microsoft tunnel vision. One actually wrote up a complaint letter and tacked it on the instructor's corkboard when a class required students to either install and run Linux, or use the on-campus UNIX labs (there was one with Linux systems and another with Solaris boxes) to be able to do the class assignments.
I'm providing server administration and some development work for a web startup. They've done phone interviews with a few development teams from India, and those teams have been unable to fathom why someone would do a web project with anything but ASP.NET and MSSQL.
I'm not very familiar with India or what MS does internationally. Is there some root cause behind these observations?
Or you may have simply shown that India does the same thing I do: types "java" into Google to find the quickest link to the JRE download.
Of course, the same could be said of .NET, though the fact that Windows Update pushes .NET Framework makes me think a lot fewer .NET searches are for downloads on client PCs.
And of course, searches for Ruby and Python can also be about jewels and snakes.
Gut feeling, though, is that Java search results are more skewed by this than some of the other ones.
Do they include some sort of userID on each question? I'd be interested to see those same results but only including people who asked a question for a language in each group. One commenter hypothesized the difference you're seeing is because "employed" and "weekend" programmers are two different groups of people.
I'm trying to download the data myself now, but the torrent isn't getting anywhere.
There's something about this thinking that gets me on the defensive. I think it's that so many people seem to unquestionly accept that C# and Java are for real work, but that Ruby and Python are somehow lesser languages.
I work in the IT dept of a small but conservative company, in a large but conservative field. A few years ago, before I came onboard, they made the decision to phase out Java for Ruby, and now almost all work is Ruby. We've also migrated development environments from Windows to Linux.
I'd consider myself a professional programmer, but this is my first job in a Ruby shop, and I have to say I am still staggered by the productivity. We do things with our small team that would never be considered amongst larger teams I've worked for.
Strange thing is, we don't fit any of the Ruby/Rails stereotypes at all; average age of the devs would be mid-30s and we all have kids. Oh, and only one of us owns a Mac.