What were their choices though, Perl? It's easy to see why Perl lost out. Other than PHP, I don't really know of any other JIT scripting languages they could have chosen.
What were their choices though, Perl? It's easy to see why Perl lost out. Other than PHP, I don't really know of any other JIT scripting languages they could have chosen.
At 2008 I started my graphic design studies and I just pretty had to forgot about programming (which in hindsight if I had kept doing it I would have a very strong programming background and maybe my life would be much better now, but it is what it is) - but was very surprised to discover around 2011 or so that it seemed _everyone_ was using Python. Like I just blinked and it took over the world somehow.
Tcl's extensibility led to expect, which was very useful for automating scripting over telnet.
The point is that data science use came quite late in the Python world, and the increase in users due to it is incremental. Python was already at 3.x before the ML world adopted it. If the ML world picked another language, Python would still be in the top 5 languages.
I was in college 2006 - 2010 in CS, and while all the introductory courses were in Java, by 2008 or so a lot of the other students had switched to Python on their own, for projects where either language would work. Didn't really see anything else, just Java and Python.
Edit: turns out the term I'm looking for wasn't JIT but an interpreted language.
It would seem that having a standard is more popular.
I've learned to add comments to my code - from what I see commenting code is frowned upon by a certain subset of developers but I've taught myself that whenever I am doing something subtle or unintuitive to add a short comment explaining what the code is doing, for every potentially unnecessary comment I've added I've also saved myself time when I've had to come back to something months or years later and been able to refer back to the comment.
I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a... belief.
sum = sum_two_numbers(number1, number2)
Probably doesn't need a comment.
The other argument is that comments need to be maintained and are subject to decay. E.g. the code they are commenting on changes.
The book goes into other examples but i think the idea isn't to eliminate comments but to be thoughtful and judicious in which you use
It wasn't just "having a standard" that mattered; in Perl it was actively encouraged to find a different way of doing something.
"There is more than one way to do it" was often taken by the Perl programmer as a challenge to find all the other ways, and then use them all in different parts of the same program.
Actual Perl code, disregarding regexp, certainly isn't anymore difficult to comprehend than code in most other languages.
Here's my reference:
TLDR:
Java uses AOT bytecode compilation + JIT compilation
Python uses import-time bytecode compilation + slow interpreter
Yes, which is why this is the way CPython works, but PyPy uses JIT and is faster.
After a very long warmup time, which may make one-shot applications much slower.