11 ms·
Agreed, I think looking at the Python 2 and 3 migration catastrophe gives a glimpse into what this could look like, but I imagine it would be much worse given t
by bruxis 7y ago
Agreed, I think looking at the Python 2 and 3 migration catastrophe gives a glimpse into what this could look like, but I imagine it would be much worse given the types of (large) projects that are backed by substantially "dated" C/C++ code.
- santamarias 7y agoI agree about the "rocky transition" from Python 2 to 3. Still if the Python migration story gives any inference towards the outcome of an eventual C++ transition, the new language would be an even more massive success; it seems that Python 3.x is doing alright right?
- roenxi 7y agoThat is somewhere in the logical region of saying 'Stephen Hawking was really smart, maybe amyotrophic lateral sclerosis is a good thing'. The transition to Python 3 was not pretty. Still isn't; Python 2 documentation features prominently when I'm trying to look up information. The to abandon backwards compatibility in C++ is to make a mockery even of the name of the language (see the "C" in there). If they want to create a new language they should call it something different. Willfully abandoning backwards compatibility and keeping the name is an abuse of one of the great brands in software.
- santamarias 7y agoI was just trying to get a response to how the Python transition mentioned was so (edit:) "catastrophic". I don't understand the need to bring fiction writers, fatal diseases or laden words like "mockery" or "abuse" to the debate.
- ComputerGuru 7y agoStephen Hawking was not a fiction writer. Stephen King does not have a horrible disease.
- santamarias 7y agosorry, my bad
- bsder 7y ago> Python 2 documentation features prominently when I'm trying to look up information. I consider this more a case of the ossification of search. Neither search engines nor specific sites like Stack Overflow deal with the fact that information can switch from right to wrong with age.
- tempay 7y agoYeah, I think Python 2 has been successfully killed at this point. There are a decent number of projects which still need to migrate (and I recently became responsible for a couple) but it’s been a long time since I heard anyone claim they can keep Python 2 forever. The maintenance burden of keeping Python 2 is rapidly increasing as libraires drop support.
- phire 7y agoYou could do so much better than the python 2 to 3 transition. If the python 3 interpreter could still run python 2 code. If you could mix and match python 2 and 3 code on a per-module, per-file or even per file basis, then the transition could have been so much smoother.
- BiteCode_dev 7y agoThe reasons the transitions worked were that: - the languages were not that different, so no need to learn the new version - python core devs gave 10 years to make the transition. Then extended it. - it was possible to write code running on python 2 and 3 - python is very expressive, hence the code base have way less numbers of lines than in C++ - python cared only about one implementation, Cpython. The rest of the world needed to follow. Some didn't, like Jython and stackless, and the community didn't blink. Despite all that, the transition was very painful.
- otabdeveloper2 7y ago> python is very expressive, hence the code base have way less numbers of lines than in C++ This doesn't match reality. In reality, many Python projects have way more lines of code than equivalent C++ projects. Probably because of the 'expressiveness' you cite; you can't really showcase your love of coding and job security though artificial complexity without 'expressive' bells and whistles. (This is the idea that lead to languages like Go, I'm pretty sure.) That said, C++ is plenty 'expressive' itself.
- BiteCode_dev 7y ago> many Python projects have way more lines of code than equivalent C++ projects. That is mathematically impossible. Even if the syntaxes were exactly the same (which they are not, python syntax is on average shorter), the low level nature of C++ requires your code to do operations that Python does need to do, such as memory management. It's like stating the sky is red.
- snovv_crash 7y agoOnce you've written sufficient unit tests to prove your code works as well as a C++ equivalent does just by compiling, I don't think Python ends up being more dense though. I'd also argue that operator overloading etc lets C++ be just as expressive as Python, the libraries just need to be designed with that in mind.
- pletnes 7y agoSince python3 has many more users than python2 this is not a relevant comparison. It was not smooth, but now it’s done and it worked. There have been many C++ forks which have failed to replace it, e.g D, Rust, ...
- MaxBarraclough 7y agoD and Rust are not forks of C++, they're entirely different languages.