Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It doesn’t have to be that way. 10 years since Go 1 and almost all Go programs written then will run correctly, unchanged, against Go 1.19. It takes a lot of effort but the effort pays off big time. Any programming language that wants to survive the test of time should push hard on maintaining compatibility imo.

I think people lost interest in Perl because Python was just a better language for a lot of people’s use cases (and arguably a lot less mysterious). And the focus on Perl 6 (now Raku) arguably distracted a lot of people from Perl 5 and then took too long to mature. (At least that’s how it looked from my outside perspective.)



I wasn't very clear, but I view this specifically as something interpreted languages have to deal with far more than compiled languages. Compiled languages have a slightly different set of trade offs that make this less of a problem (less, but not nonexistent).

> Python was just a better language for a lot of people’s use cases

I won't argue that about the short term, but long-term? Long-term the difference in policy in how it deals with changes ends up at exactly the problem we're discussing. The fact that (IMO) pyenv and virtualenv are needed to manage python deployments in any sane way is evidence of this.

Long-term a lot of projects that ended up using Python would likely have been better served by Perl because of the expected target and lifecycle of the programs in question. There are a lot of aspects of languages which aren't necessarily the thing people were thinking of at the time that they do think of now, because of very negative examples. Examples such as package distribution, which Javascript has had numerous problems with in the past with NPM, and Python occasionally still struggled with (I'm looking at you, pip, and your CLI search interface brokenness).

These days new languages take package management and deprecation policies and cycles and how to deal with long-term stability extremely carefully, because of the examples of Perl and Python and Javascript, etc. At least the ones that plan to have any real adoption do. Rust is a somewhat recent example of that. Look at all the effort they put into making sure they got those aspects as correct as they could and communicated them well to users. I don't think Rust would have nearly as many people using it or interested in it if they didn't give those the importance they did (I imagine C# and Java are similar, but I follow news about them somewhat less).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: