about bl**dy time
With only 17 months of life left in Python2, Google App Engine customers can finally start porting their code.
Google App Engine will support two additional programming language runtimes in its standard environment in the next 30 days: Python 3.7 and PHP 7.2. Oren Teich, product management director of Google Cloud Platform (GCP), heralded the long awaited arrival of the languages at Google Cloud Next '18 during a session on GCP …
If I recall correctly, AppEngine was stuck on using an old version of Python because they had taken a snapshot of Python and heavily hacked the source code to introduce language run-time level checks and limits on what a user program could do in order to add sandbox style isolation without using VMs.
It sounded clever, but it had several major drawbacks. The obvious one was that they were stuck on one increasingly old and obsolete version of Python while the rest of the world moved on. Another was that they could only support a subset of the Python standard library and no user C modules.
The Java version they supported also had comparable limits, but I don't know the details of that.
"GVisor" replaces the need for a custom version of Python so they can now support up to date versions without having to hack the language run-time.
Most major Python projects such as Django, SciPy, and others have either already dropped or are in the process of phasing out support for Python 2.x, and many newer libraries have never bothered supporting 2.x in the first place.
While you may not want to try running something like Django on App Engine (I don't know if it is even possible), App Engine's lack of support for modern versions of Python was leaving it increasingly isolated in terms of third party library support. Since Google was running their own version of Python, the end of life date for mainstream Python wouldn't have affected them. However, lack of third party libraries, lack of new educational material, and just generally being out of the development mainstream would. This I think was the motivation for replacing their original solution with gVisor.
And the overall motivation for the update I think is that Google are now putting more emphasis on App Engine due to the current trendiness of "serverless", the latter of which was the basic idea behind App Engine to begin with.
Yup, Python must have been invented by a bunch of masochists or something.
I mean who in their right minds, in the 21st century, comes up with a programming language that is whitespace / indentation sensitive.
And that's just the tip of the iceberg.....
Python is snakeoil. And much like snakeoil, it draws in far too many gullible people.
I couldn't care a less about whitespace - a code formatter will sort that out. I'm more referring to the equivocation over 2.x and 3.x and the subsequent wasting of time backporting stuff from 3 to 2, writing compatibility shims and other uncertainty that comes from not dumping 2.x a long time ago.
Guido Van Rossum came up with Python in the last decade of the 20th Century. In fact, Python 2.0 just made it before the 21st Century arrived.
I use emacs when I write Python, and seldom have a problem with the indentation. Others I'm sure are happy with vim or IDLE or other tools. The indentation is no more a problem than braces or parentheses are.
I'll watch out for the rest of that snakeoil iceberg, though.
"I mean who in their right minds, in the 21st century, comes up with a programming language that is whitespace / indentation sensitive."
Who in their right minds has ever intentionally written code that doesn't get the indentation right?
How did they get this through lint? (First seen in in the 1970s, I think. Something similar presumably exists for newer languages.)
Why are they still a programmer? (The opprobrium of colleagues should make them quit if nothing else.)
Which of their (now former) colleagues isn't using an editor that can sort out the indentation of an entire file with a single command?
"I mean who in their right minds, in the 21st century, comes up with a programming language that is whitespace / indentation sensitive."
That was my first idea when I first approached Python. However, after using it for some time I have a few answers for you: someone that perhaps weighted all the pros and cons and decided that it was much better to save time and energy spent in formatting debates in exchange of something that at least is reasonably readable? Or perhaps someone aware that the tabs vs. spaces debate was over a decade ago?
"Python is snakeoil. And much like snakeoil, it draws in far too many gullible people."
My C++ peers in the other side of the room would kill to have the degree of interactivity of the Python shell, or just being able to churn out new features at only just more than 10 times the speed we humble pythonistas do. We sometimes long for their speed of execution, but not very often. They are barely able to release something new each six months, whereas we, gullible as we are, do it each three weeks the longest.
Python has some tremendous advantages in productivity in exchange of a lack of speed and very few bad surprises. And yes, lack of native threading.
"Python has some tremendous advantages in productivity in exchange of a lack of speed and very few bad surprises. And yes, lack of native threading."
You've just described perl...except I think it now has native threading. Be careful my friend.
Though this site runs on it, and I use it extensively myself, defending it often costs you socially.