Live data from Hacker News

The eigenvector of “Why we moved from language X to language Y”

erikbern.com

61–70 of 193 posts

Re: The eigenvector of “Why we moved from language X to language Y”

#61

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…

The real issue is that he is not counting the projects that start from zero ('why did I do this project in php') and the ones that end ('why did I finish this project in Haskell'). If he adds this data to it's matrix somehow then it would be much more interesting.

Re: The eigenvector of “Why we moved from language X to language Y”

#62

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…

The real issue is that he is not counting the projects that start from zero ('why did I do this project in php') and the ones that end ('why did I finish this project in Haskell'). If he adds this data to it's matrix somehow then it would be much more interesting.

Re: The eigenvector of “Why we moved from language X to language Y”

#63

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…

The real issue is that he is not counting the projects that start from zero ('why did I do this project in php') and the ones that end ('why did I finish this project in Haskell'). If he adds this data to it's matrix somehow then it would be much more interesting.

Re: The eigenvector of “Why we moved from language X to language Y”

#64
> 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”

#65

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.

Re: The eigenvector of “Why we moved from language X to language Y”

#67
post #54
post #11

Earlier quoted context omitted.

Sadly getting rid of C means getting rid of UNIX, as they are symbiotic and UNIX vendors will surely never rewrite them in anything else or replace POSiX standard.

C and say, rust or c++ can interface. You don't need to rewrite, just stop writing extra stuff in C, maybe when you do a really big refactor in C, port it. In the end, we can migrate away from C gradually. That makes me wonder, is there any chance in hell we get some RUST in the Linux source code?

Upstream? Likely never. Out of tree? https://github.com/tsgates/rust.ko/blob/master/README.md

Re: The eigenvector of “Why we moved from language X to language Y”

#68
post #30

Earlier quoted context omitted.

Really? Why can't the C bits be replaced with e.g. Rust?

No because UNIX requires C semantics, so even if someone writes a UNIX like OS in Rust, Ada whatever language it might be, for compatibility with UNIX software it would require a POSIX API to be available. POSIX is defined in terms of C semantics, which includes C unsafety, like managing pointers and the respective length as separate entities, using null terminated strings or casting void* to specific data structures…

I wouldn't say the OS requires unsafe POSIX compatibility. The whole system can be mostly unaware of POSIX if you can use the available APIs to create shims. Basically a wine equivalent - Linux didn't implement any windows APIs after all.

So all the unsafe bits can exist only in the process which is based on them.

Re: The eigenvector of “Why we moved from language X to language Y”

#69
post #44

Earlier quoted context omitted.

At the bottom he writes, "the stationary distribution is actually independent of adding a constant diagonal (identity) matrix," but I'm not sure how that could be true (intuitively it doesn't make sense, but I don't know the math) edit: A identity matrix wouldn't affect the stationary distribution, but if you had the actual "stay" probabilities they wouldn't all be the same, and thus not an identity matrix at all.

Adding a constant diagonal matrix indeed would not affect the equilibrium distribution. Mathematically, if the original transition matrix is A and you add a multiple of the identity matrix to it, then after normalisation by row sums, the new transition matrix becomes tA+(1-t)I for some 0 But as you said, the stationary distribution does change if the missing diagonal is not constant. And there is no reason to believe…

I agree with you, but your last line is wrong: the footnotes make it clear the author knows the omission.

Re: The eigenvector of “Why we moved from language X to language Y”

#70

Earlier quoted context omitted.

"Has a small, but awesome CUMmunity"

I wonder whether that typo was intentional ;)

The whole thing is like a "Yo Dawg, I hear you like Javascript" meme, so probably so.
Post reply on HN