Hacker News new | past | comments | ask | show | jobs | submit login

Agreed. Perl failed primarily because it took 10+ years to come out with Perl 6. By the time that Perl had first class support for the object oriented paradigm, new paradigms had started to gain traction, notably functional. PHP almost suffered the same fate, but wisely decided to backport some of the improvements.

Python is unlikely to undergo a 10 year rewrite, although some of its recent decisions such as the 3.0 split and the more recent decision to make async a reserved keyword have shown some of the more problematic tendencies.

I would argue that Perl failed instead because it was better suited for short scripts than for large and complex web applications, and because its syntax was so beginner-unfriendly that it never attracted the new wave of developers who were getting into the game around the time that Rails became popularized.

This was compounded by the fact that nobody wrote a hot new RAD framework in it that would serve to attract people to a challenging and otherwise niche language.

In 2001, if you wanted to hack on simple interactive websites, Perl was probably your best choice - it was one of the few scripting languages supported out of the box by cheap shared hosting providers.

By 2004 that role had been supplanted by PHP, and by 2011 web development was nothing like it had been a decade ago, and there was no niche in which Perl was a better or easier choice than several alternatives.

Python, on the other hand, has way more momentum. Sure, web development could go another direction in the next decade. But Python has an enormous community and ecosystem. Plus it’s used for a broad variety of purposes - from web to desktop development to data science.

More importantly, it’s a widely used teaching language. Unlike what happened with Perl, a huge portion of the next generation of developers will enter the workforce already knowing Python; and those who don’t will likely not only encounter it but find it relatively easy to pick up.

"better suited for short scripts"

I certainly don't disagree with this, perl was basically designed as a shell scripting replacement as far as I was aware.

It's an interesting dynamic to think about though. Would perl have been as successful if it hadn't have been as good for short scripts? I think theres a tendency to try and use the latest language du jour on everything.

The hype cycle labels this as the trough of disillusionment [1]. I don't think its necessarily deadly in isolation, but there are a few factors that came together as you point out.

I think you're maybe underestimating the perl 6 split. Around 2008ish when I was first getting into programming, perl and python were at least neck and neck for mind share. Perl 6 just sucked all the oxygen out of the room as far as perl 5 was concerned, but never actually arrived. Without googling I couldn't even tell you if theres a stable release even now.

[1] https://en.m.wikipedia.org/wiki/Hype_cycle

Applications are open for YC Summer 2019

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