21 comments

[ 3.4 ms ] story [ 59.5 ms ] thread
Dr. Dobbs should really hire a talented designer to take their website out of the 1990s
"The well-known Tiobe Index " [...]

Dang. I stopped reading at this point.

I've heard of that index before, and I'm skeptical of it. Ruby and Python waning? Not among any of the shops or programmers I know.

Maybe if they qualified it: "Ruby and Python are declining in use for corporate enterprise applications on the Internet." Something like that; I'd believe it. IBM's website is probably not in Django; it's probably Java with Struts or something.

The the DevOps movement alone, almost entirely based in Ruby and Python, is really expanding, and the call for programmers is increasing. Waning? Hah.

They're including iOS, not used much in the enterprise (so far), so that one isn't it.

I think they're looking at overall programming, which is growing - an absolute increase in ruby/python would be a relative decline if the total is growing even faster. Make no mistake, iOS is growing very fast (iOS/android on ARM is disruptive, in its technical sense - i.e. like what PCs did to minicomputers).

That said, the common wisdom is that triobe is rubbish.

These days I trust more the index of popular languages in GitHub: https://github.com/languages

I like to see it like an index of "in which languages are we innovating" or "which projects are worth forking"

I like to see GitGub as an index of "which languages have a culture of uploading code to GitHub?"
I've heard of that index before, and I'm skeptical of it. Ruby and Python waning? Not among any of the shops or programmers I know.

That's the very definition of "anecdotal evidence".

People working in the Smalltalk community could probably say the same, as the language was dying ("but the shops and programmers I know are doing just fine!").

The Tiobe is far from perfect, but it's better than mere anecdotal evidence. This is about trends and statistics, not something like "my project manager come in today and said he should not use Ruby anymore".

It's extremely rare than any insight whatsoever is to be found in a comment containing the line: "I stopped reading at this point".

Yes, you have reservations about the Tiobe index. So use them as an excuse to prevent you learning anything new on the subject and ignoring all reasoning that might come in an article that mentions it...

Yes, but an article about "the fall and rise of programming languages", in particular, that mentions Tiobe right at the start makes it clear that it's going to base its conclusions and observations on that worthless index. Search HN for Tiobe, and you'll find tons and tons of well-backed opinions.

  > LOCs of Ruby changed or added in 2011 were [...] a fifth of what they were in 2008
I guess he means this peak in 2008 (though it's not 1/5 by averges) http://www.ohloh.net/languages/compare?commit=Update&l0=...

ruby-rant: I've been playing with ruby recently, and was amazed to find my working toy code broken by each upgrade of ruby (even point upgrade 1.9.2 to 1.9.3). It's a different world/philosophy from java's back-compatibility. I was so surprised I wasn't even angry, just shook my head, wow.

I wanted to try heroku, and the number of layers needing to be installed was also amazing (e.g. heroku's apt-get record doesn't state it needs ruby... ubuntu's repository now doesn't include ruby1.9.1... so I installed rvm (and another round of dependencies and documentation), and found an old gem (undocumented on heroku.com) that would install it). I hit roadblocks several times in this; so it took several days, and several hours on each. So... you've got upgrades/dependency management in apt-get, gems, rvm and heroku - and breaking changes in ruby itself. I recall reading that getting started in ruby had become complex and difficult for beginners, serving its present professional user needs, and very different from the experience that got them started.

Finally... it's a thrilling feeling to reduce 10 lines of Java into 1 line of ruby; but I have a doubt about whether that one short line really is clearer. I'm not saying that it isn't clearer, just that I'll only really know when I come back to it in a few months time and try to understand it. They have identical conceptual complexity; it's just syntax. Don't get me wrong - I really enjoyed making it shorter, I'm just not (yet) sure it's actually better.

I do think the ruby (coupled with rails) toolchain can be a tad overwhelming at first to install and get used to.

I haven't used Ruby a lot, but I do like most of the language. I have a few issues with how some things are named, but whatever. I also miss the great code completion you can get with a language like C#/Java.

Out of curiosity, what broke between 1.9.2 and 1.9.3 for you?

Edit: Just noticed the article is three 5 months old. Guess it doesn't really make a difference when talking about 2011 though.

I agree, Ruby is slowly going the downward spiral, why:

- RoR introduced groundbreaking concepts 7 years ago: strict MVC, a great ORM, migrations, generators and conventions over configuration and all features weren't optional, users were forced to user them. At that time it was good, because web programming was not structured and between a too formal Java and a loose PHP weren't many choices. Rails' success was also Ruby's success.

- Nowadays all the concepts RoR brought all learned and adapted by other languages' frameworks, often even better and more modularized. So, RoR is not the only choice anymore.

- The landscape has changed, RoR and Ruby are facing strong competition: Node.js/Express, Python/Django, Clojure, Scala, and PHP matured with many frameworks

- The configuration hassle with Ruby and Rails you described is daily routine which is time consuming even for advanced Rubiest and the entry barrier for beginners. And it won't get better because the core team changes Ruby and Rails with a pace never seen before and breaking code steadily. This development is agressive and pushing RoR in one direction leaving no other options (SCSS? CoffeeScript?).

- Ruby itself as a language is controversial—there are definitely nice properties but it still comes with drawbacks: it's slow, it still changes too often, the syntax is too dense (writing is quick but comprehension and readability is hard), no concurrency or cluster model, ecosystem exists only for Rails; but still it could established itself with Rails and in few other areas.

=> Demand for Ruby and RoR will stay high due to many legacy systems and many Rubiest who still earn high day rates and won't leave due to high opportunity costs if they learned new languages. But newcomers will choose less and less Ruby.

Many indicators suggest that Ruby peaked in 'buzz' (which is what TIOBE measures) around four or five years ago. Python became ultra-trendy during 2010 but has likely undergone a correction since then, although it's still very fashionable and has even seen a limited transition to the mainstream (where 'mainstream' means corporate and/or educational use). And there's no doubt that Objective-C and C# have seen large recent increases in use, for obvious reasons. So I'd conclude that, broadly speaking, the TIOBE index isn't that far wide of the mark.
Many indicators such as? Pain in your joints and dice rolling?
Are you on this internet thing?

Many indicators such as things one can see with a naked eye. Book publications, article postings, HN mentions, new projects emerging, peak blog/media coverage, etc etc.

Advocates of some language would like to thing it is eternal, but every single language has had ups and then downs in popularity, with some going away almost entirely, like Smalltalk, or slowly fading, like Perl and tcl, and others coming and going out of vogue.

The usual popularity measures: sites like TIOBE that attempt to measure popularity directly; sites like Ohloh (referenced in the article) which track code commits; and publisher's sales figures e.g. O'Reilly all suggest that Ruby has declined in popularity.
(comment deleted)
I better drop Python & Ruby and go pick up (sure, will do right now) Objective-C & C#. Well, I suppose at least they [Python & Ruby] still "...are the most interesting" (?!) so guess I'll stick w/ 'em for a bit longer. ...she'sus.
I often try the trendy languages and tools, just to see what the fuss is about. It's astonishing how fast these things seem to flame out and cycle. Like "people" magazine for technology or something.

Programming fads do occasionally provide something new for my toolkit - the functional programming craze led me to "High Order Perl", and git wound up making more sense to me than cvs or svn ever did.

To me this seems very tea-leaf-reading-ish. Specifically, some people tried to boil down the popularity of each programming language with a number (the tea leaf). Then the OP simply looks at those numbers, points at some related events and say "Aha, that is how those numbers came to be!" (the reading). Neither the "leaves" nor the "reading" provide much value, IMO.