4 ms·
"It's sad to watch Python destroy itself because it's such a great language, but that seems to be where things are headed." The author has a point here. I've b
by tschellenbach 10y ago
"It's sad to watch Python destroy itself because it's such a great language, but that seems to be where things are headed."
The author has a point here. I've been programming Python for about 10 years now. Really concerned about the future of the language. Languages like Node and Go are progressing rapidly, but what's happening to Python? I used to complain about Node, but with the latest ES6/ES7 improvements it's actually pretty decent. The difference in usability between npm and pip is also huge.
Python is still my favorite language, but they really need to fix this part of the ecosystem. Maybe it's time to release Python 4 that has a clean upgrade path from 2 and enough language improvements to encourage users to adopt it?
- SEJeff 10y agoNode is an interpreter for the v8 JavaScript engine and it uses a language named JavaScript. There isn't a language named node :) I've done Python about as long as you but also like Golang for things Python is awful at.
- kough 10y agoJavascript is a colloquial name for what is formally known as ECMAScript. There isn't a language named JavaScript :)
- StevenNunez 10y agoNetscape would like to have a word with you.
- banachtarski 10y agoI would argue the technicality you pointed out is a lot more minor than the OPs. The OP was basically talking about the JVM as if it was a language. *edit typo
- kqr 10y agoWell, there is a Jim language, it's just not something you'd want to write by hand...
- sli 10y agoYou might just be being facetious, but in case you aren't, that's not true. The EMCAScript specification was based on JavaScript, not the other way around, and there are EMCAScript implementations that are not compatible with JavaScript (e.g. ActionScript, JScript). That is, JavaScript is one of many implementations of the EMCAScript standard, in and of itself it is not simply EMCAScript.
- SEJeff 10y agoNice try! ECMAScript is a standardized child of JavaScript, one with less warts and more awesome after lessons learned in javascript hell. ES6 will be nice.
- mastazi 10y agoPython's adoption is exploding in the data science / machine learning fields, I don't see Go or Node do the same, so I guess it depends on which field you are considering. Regarding web development specifically, then yes Python is not the latest hot-new-thing.
- nas 10y agoFor the vast majority of a language users, the community and the libraries matter a lot more than the merits of the core language. Look at R. I'm not sure anyone would hold it up as a great core language. However, it is very successful and becoming more so, due to its awesome libraries and community. numpy, scipy and matplotlib are really powerful. Go and Node don't have anything close to their capabilities.
- nas 10y ago> what's happening to Python? Great things, IMHO. Now that the painful changes of 2 to 3 are done (or nearly so), recent releases have focused on incremental and steady progress. Take a look at the "What's New" documents: https://docs.python.org/3.6/whatsnew/3.6.html https://docs.python.org/3.6/whatsnew/3.6.html https://docs.python.org/3/whatsnew/3.5.html https://docs.python.org/3/whatsnew/3.5.html There is a lot of great stuff there without ripping up the world and breaking all your programs. For example, the new compact dict implementation in 3.6 is a great improvement. All Python programs can potentially benefit from the memory use reduction. Bug fixes and improvements to library code are great. The transition from 2.x to 3.x was not handled well. The core Python team should have focused much more on making transitioning code easier. Allowing code that can easily run in both 2.x and 3.x (with suitable shims like 'six') should have been a focus early on. Disallowing 'u' prefix on strings in 3.x is an example of a serious mistake. The argument of keeping 3.x pure was wrong. It is much more important to make transition easier rather than making 3.x extremely pure. That's something that C++ has got right, although maybe they went too far the other way. My small contribution to transitioning 2.x to 3.x is "ppython". See my github repo: https://github.com/nascheme/ppython https://github.com/nascheme/ppython Now that I've been programming in Python 3 for a few months, I find it pleasant. Writing programs that handle Unicode text correctly is easier. For small programs, it is easy to make them run under either Python 2 or 3.