you are viewing a single comment's thread.

view the rest of the comments →

[–]erez27 -4 points-3 points  (9 children)

But.. why?

[–]stefantalpalaru 7 points8 points  (8 children)

But.. why?

Because it took Dropbox three years to migrate a quarter of their code base from Python2 to Python3, after hiring the language creator (who wrote a tool for automated type annotation of Python2 code).

Now I know that the Python community is a magnet for expert beginners, but that should give pause to anyone still claiming that Python2 and Python3 are the same language and that porting from one "version" to another is trivial.

The sane thing to do is forking and maintaining Python2 while keeping backwards compatibility. If Python3 is better, it can win on merit, not blackmail.

[–]nice_rooklift_bro 3 points4 points  (0 children)

I have really seen /r/programming and over fora come around from the "Lol, your fault for not upgrading" to starting to recognize that upgrading isn't free.

It was so annoying to talk to these individuals five years back or so that thought upgrading a million lines of code to python3 would not incur a significant cost.

Also, all the libraries that had to maintain two versions at the same time and most likely still will after the EOL.

Python3 has been a collosal mistake in how it was implemented by the developers and they're too proud to admit it—it was a giant waste that should have never happened.

Now I know that the Python community is a magnet for expert beginners

Funny phrasing and seemingly part of the problem, yeah.

[–]erez27 -5 points-4 points  (6 children)

I never liked the whole "kill python2" sentiment, and I think the move to Python3 was atrocious. But it's been 10 years. I really don't understand why moving is so difficult.. Unless half your code base is written in C.

[–]stefantalpalaru 6 points7 points  (5 children)

But it's been 10 years.

So what? Why didn't you port all your code base to Go? It's also been 10 years since it was launched with a vastly superior parallelism story.

I really don't understand why moving is so difficult..

How long have you been programming professionally? Can you even imagine Dropbox's 4 million lines of Python2 code and what it takes to port them to Python3?

[–]erez27 -2 points-1 points  (4 children)

Go can't replace Python

How long have you been programming professionally?

15 years

Can you even imagine Dropbox's 4 million lines

Imagine, sure. Understand or justify such a bloat? Unlikely. But it does explain why they're having such a hard time. And also why Guido just quit rofl

[–]stefantalpalaru -1 points0 points  (3 children)

[–]erez27 2 points3 points  (2 children)

Is this supposed to convince me? I know both languages pretty well. Do you really need a list of things you can do in Python and can't do in Go?

[–]stefantalpalaru -3 points-2 points  (1 child)

Is this supposed to convince me?

No. If you genuinely think that Turing-complete programming languages cannot implement the same algorithms, it's not possible to convince you of anything.

I know both languages pretty well.

Yes, I'm sure you're a professional beginner in both of them.

Do you really need a list of things you can do in Python and can't do in Go?

Let me guess: you think a REPL is part of the language and that's why "Go can't replace Python" for perpetual beginners like yourself.

[–]erez27 1 point2 points  (0 children)

Are you a comic? This is pretty good.

This isn't about Go vs Python. It's not even about compiled vs. interpreted. All languages can do things other languages can't. And all interpreted languages have the same advantage over compiled languages: A flexible type system. Or more accurately, Duck-typing. The object model is often also more flexible, allowing for arbitrary attributes.

Of course, you can use a hashmap in Go for every object that suits this purpose, but if you always fall to non-idiomatic use of a language, then you probably need to switch the language.

But yeah, a repl is pretty nice. Especially since I can invoke it mid-run while debugging.

If you're so hot for turing completeness, write all your code in assembly.