4 comments

[ 2.9 ms ] story [ 11.2 ms ] thread
Interesting analysis. I don't quite understand Go. It isn't actually as low level as C. As far as I know, it can't be used to write operating systems or device drivers. It isn't as fast as Java; it can't even beat node.js in many benchmarks.

There are some smart people championing Go, but I don't see the benefits.

[disclosure: i'm the author of the above] opinions differ, I know, on the performance (e.g. https://twitter.com/derekcollison/status/245530906067095553), but ultimately you're correct that Go represents a compromise. it won't offer the performance of the lower level languages, nor the flexibility of the dynamic alternatives, but the adoption we're seeing is generally people who are willing to live with those compromises in return for a mix of the aspects to low level and high level languages they like.
1) The "analysis" is just as broken as it was in February.

The "popularity" of most of those languages is being grossly distorted when you convert the "# of Tags" and "# of Projects" data to rankings.

The range in rank value for the stackoverflow tags was from 1 to 56, but the range in "# of Tags" that rank is based upon was from 0 to 82,923 and the data was so skewed that only 11 of 56 languages had above average "# of Tags".

Haskell was well below average for "# of Tags" and Java was well above average for "# of Tags" --

  #56 Java = 82,923
  >>> mean = 18,770 <<<
  #40 Haskell = 1,896
  # 1 F# = 0
(The story was the same for the github "# of Projects" rank numbers.)

2) Which gives rise to this kind of bad-math "analysis" --

"Go jumping from #32 in 2010 to #30 today, a number that sounds modest but means that in that time it has improved more in popularity than Scala or Haskell and as much as Java, at least from a rankings standpoint (obviously growth becomes more difficult the more popular the language becomes)."

90% of Tags were for just 10 languages.

50% of Tags were for just 3 languages.

The cumulative bottom 1% of Tags were for 31 different languages (including Haskell and Go).