Theres a lot of network effects as well. The more people were using it, the more people will use it.
Theres a lot of network effects as well. The more people were using it, the more people will use it.
Now there's tons of stuff they're deathly afraid of removing, that they would never remotely consider adding if it weren't already there. (If you don't believe me, have a flip through proposals on discuss.python.org for new additions. People think of Python as a language that's constantly adding and changing stuff and inadvertently causing breakage as a result, but it's actually very conservative relative to the volume of proposals.)
This is also a big reason why AI assisted programming will wholesale replace Python programmers.
If your are optimising for people who wish to remain at beginner levels all life, and that replaced people using power tools to solve harder and bigger problems. It shouldn't be surprising that now some automation will replace you.
If there is really a killer argument for Perl over Python that was overlooked in all those years, why don't you say that argument, or even better, write a blog post explaining why Perl is better than Python? Then we could discuss that instead of nebulous "different ways"/
Of _course_ boring is better. How could it not be? If you are trying to solve a problem, the last thing you want to be thinking about is the language itself.
The language you adopt to code up a solution should force you to think clearly, but no more than that. Executable pseudocode is as close to an ideal state as you can get for a high-level language.
Perl, meanwhile, was filled with multiple ways to do things -- famously and absurdly thought of as a virtue -- reveled in side effects, and did so much implicit work with variables and flow that perl was often unreadable by anybody else, including the you of three months from now.
"Python did everything other scripting languages did, but in a cleaner and more comprehensible way" tells you most of what you need to know about Python's victory, but the death blow was delivered by the perl community's love of complexity, which led to the disaster that was Raku.
By the turn of the century, it was clear that python 3 was a better plan for the future than perl 6.
> By the turn of the century, it was clear that python 3 was a better plan for the future than perl 6.
Work on Python 3 wasn't even announced until 2006, and Perl 6 in 2000.
Isn't that the crux of the issue? Perl was great if you're a hacker who 'got' it. For the remaining 95% of the population, Python worked.
Lisp/Scheme are also beautiful to those who 'get' it.
> I still don't understand how it won, stealing the halo of a language while having nothing of the sort.
Plenty of people have already told you. 95% of programmers do programming to get the job done. The linguistics grad student I knew 20 years ago did his work in Python because it was easy (he had no programming background). He would have simply changed his thesis topic if Python didn't exist. He would not have learned Perl.
Perl was for hackers. Python was for everyone.
It’s really not the crux of the issue though. “Better than Perl for normal developers” is not a high bar. Most languages clear that bar whether they are successful or not. This is certainly not the only reason that Python became so successful.
Tangentially, in my experience Perl was great for one liners and small glue projects. I never saw significant, valuable works of code built in Perl even when I worked at a company (Yahoo) that widely used Perl. I am convinced that much of Perl’s beauty is in its cleverness and’s not in its utility for large projects.
Dial the clock back to 2002, and this statement is not true. Perl became popular not because of its beauty, but because of it being extremely effective glue. It was a language to get stuff done while writing little code.
The only mainstream alternative was Python.
1. Why did Python replace Perl?
2. Why did Python become so extremely popular?
The answer to the first is because it’s better than Perl for so many engineers in so many cases. The answer to the second is much broader.
In that case, yes. Perl is beautiful. Python sucks and only succeeded because idiot developers couldn’t see the beauty of Perl. Python is poorly suited at every job except stealing potential Perl devs.
Feel better?
Readability, explicitness, one way to do things are examples of great design taste. Perl was the opposite of all that.
I believe more in the ecosystem, specifically how the computer vision and machine learning movements have adopted python extensively as frontend language (the heavy weightlifting is still doing in C++). The exploit of numpy has brought many many use cases into the language as well.
So why not make it have syntactical meaning since it’s already there in 99% of cases?
It does feel weird at first but honestly it’s not something you’ll think about much after a while.
That's like, your opinion. Python was explicitly designed being easy to learn, borrowing heavily from ABC, which actually experimented with different syntaxes to see what works and what doesn't. The indentations apparently helps a lot with this, along with ':' before the introduction of indented blocks.
Python is simple to read / write and easier to reason about, especially for people that need a programming language to solve a problem but are not software engineers.
The reason it won, especially in data analysis, is because most data analyst are/were not software engineer and Python feels more natural to people.
The indentation is not a big problem when a decent text editor is used
The fact that YAML also won in its configuration file niche doesn't give you pause?
As opposed to the not required indentation that literally everyone who writes code ever does anyways?
> believe more in the ecosystem, specifically how the computer vision and machine learning movements have adopted python extensively
What came first, the chicken or the egg?
There was no easy for people who wanted to get something done in a simple interface.