The research methodology in this blog post is fundamentally flawed. The author only counts how many people move from X to Y, but he doesn't count how many of them do not move at all. The whole diagonal of his (sample) transition matrix are actually missing values, but he treats them as zeroes. This greatly distorts the equilibrium distribution. As a result, he misinterprets each equilibrium probability as the "future…
Also, the likelihood of people blogging about a language change is not the same across languages. Some crowds (Go and nodejs enthusiasts) are notoriously vocal due to the hype. Finally, it's common practice for companies to have their marketing department to pay "media marketing specialist" to advertise for products (their language) by posting on forums.
The eigenvector of “Why we moved from language X to language Y”
141–150 of 193 posts
Re: The eigenvector of “Why we moved from language X to language Y”
#142> Surprisingly, (to me, at least) Go is the big winner here. There’s a ton of search results for people moving from X to Go. You mean ... Google search results? I'm not trying to suggest that Google's search engine is intentionally biased toward Google projects, but I think it's reasonable to assume that their own projects wouldn't fall into whatever unintentional blind spots their search engine may have.
Re: The eigenvector of “Why we moved from language X to language Y”
#143Am I reading this incorrectly, or there is more movement from Swift to Objective-C than the other way around? Do I sense a methodological error?
Author here. Yes you are reading this incorrectly. Look at the contingency table. objective c to swift: 5216 swift to objective c: 1639 (sorry about the small font size though. had to squint really hard)
The future probability table shows that Swift is to the left of (smaller future probability) of Objective C. The coloring of the chart shows a much darker square for Swift -> Objective C than for Objective C -> Swift.
It seems surprising given your contingency table that your analysis would show that Objective C is going to be the more popular of the two.
Re: The eigenvector of “Why we moved from language X to language Y”
#144The research methodology in this blog post is fundamentally flawed. The author only counts how many people move from X to Y, but he doesn't count how many of them do not move at all. The whole diagonal of his (sample) transition matrix are actually missing values, but he treats them as zeroes. This greatly distorts the equilibrium distribution. As a result, he misinterprets each equilibrium probability as the "future…
Author here. You are absolutely right. As I mentioned in the notes, I think this matters a bit less than it might seem like (the stationary distribution does not change if you add a diagonal matrix) but clearly some languages will have a higher propensity for people to stay. I think this flaw is even smaller than the issue of using Google statistics to infer transition probabilities. It's just a shitty proxy, at best…
Re: The eigenvector of “Why we moved from language X to language Y”
#145I love golang, but I hate trying to search HN articles for the word go... I need a find go but not ago search button in FireFox ;) grep go | grep -v ago
Re: The eigenvector of “Why we moved from language X to language Y”
#146Top 5 giving to Go directly: C, Python, Java, Ruby, Scala
Top 5 giving to C: C#, R, Java', C++, Fortran
Top 5 giving to Python: C', Perl, Java', C#, C++
Top 5 giving to Java: C', C++, PHP, Python', C#
Top 5 giving to Ruby: Python', PHP, Perl, Java', (C++ — only 215)
Top 5 giving to Scala: Java', Ruby, (Python', C#, PHP — only 100, 17, 16)
': language also in top 5 givers to Go.
The other top languages take from each other (there is migration in both directions), but currently Go mostly takes here. However it does lose people to Rust — which is actually the strongest go-to language from Go. And C++ does not give to go.
This might point to a discrepancy between Go marketing and reality (efficiency and replacing C++).
It would be great if you could repeat this exercise next year to see how things changed.
(besides: the script is nice and concise!)
Re: The eigenvector of “Why we moved from language X to language Y”
#147I don't think the Google queries measure what the author thinks it does. I noticed it lists 14 results from Haskell to Erlang, which I was skeptical of. When I google "move from Haskell to Erlang" or "switch from Haskell to Erlang" I do find results (such as quora questions, versus questions,lecture notes) but none of those results are the type of article we're looking for. If they really want to do this, I think the…
Re: The eigenvector of “Why we moved from language X to language Y”
#148Earlier quoted context omitted.
Author here. Yes you are reading this incorrectly. Look at the contingency table. objective c to swift: 5216 swift to objective c: 1639 (sorry about the small font size though. had to squint really hard)
The contingency table shows these very clearly, but I believe the question is about the future popularity table. The future probability table shows that Swift is to the left of (smaller future probability) of Objective C. The coloring of the chart shows a much darker square for Swift -> Objective C than for Objective C -> Swift. It seems surprising given your contingency table that your analysis would show that Objec…
Re: The eigenvector of “Why we moved from language X to language Y”
#149This looks pretty interesting. Most striking to me is that Go is taking from other 'target' languages. You can see the 5x5 block of the other strongest target languages giving to Go, but not taking from it. To make what the Eigenvector says explicit: Top 5 giving to Go directly: C, Python, Java, Ruby, Scala Top 5 giving to C: C#, R, Java', C++, Fortran Top 5 giving to Python: C', Perl, Java', C#, C++ Top 5 giving to…
Re: The eigenvector of “Why we moved from language X to language Y”
#150The research methodology in this blog post is fundamentally flawed. The author only counts how many people move from X to Y, but he doesn't count how many of them do not move at all. The whole diagonal of his (sample) transition matrix are actually missing values, but he treats them as zeroes. This greatly distorts the equilibrium distribution. As a result, he misinterprets each equilibrium probability as the "future…
Author here. You are absolutely right. As I mentioned in the notes, I think this matters a bit less than it might seem like (the stationary distribution does not change if you add a diagonal matrix) but clearly some languages will have a higher propensity for people to stay. I think this flaw is even smaller than the issue of using Google statistics to infer transition probabilities. It's just a shitty proxy, at best…
How many projects are _started_ in a language, and how many _die_?
Given p.e. Java - It may seem that there is a huge flow to go. However, if there are enough new projects started in java, then the number of java projects might still rise faster than the number of go projects.