this post was submitted on 15 Sep 2023
30 points (75.9% liked)

Rust

6005 readers
4 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

I think some raised points are relevant...

you are viewing a single comment's thread
view the rest of the comments
[–] savvywolf@pawb.social 41 points 1 year ago* (last edited 1 year ago) (14 children)

I know it's clickbait and all, but I can't really let their comments about "decay" go without saying anything.

I spent a weekend updating a Python project after updating the OS. Fuck Python's release methodology.

Yeah, Rust has a lot of releases, but they're all backwards compatible. I'm pretty sure a modern Rust compiler can compile any historic Rust program. Meanwhile every "minor" Python release has backwards incompatible changes and there's no guarantee of backwards compatibility at all. And that's without even bringing up the big major bump from 2 to 3 which... Was not handled well.

Honestly, if there's any language that people should be angry at for "decaying", it should be Python. Hell, even C and C++ have got this right.

[–] UlrikHD@programming.dev 5 points 1 year ago (10 children)

That honestly makes me curious, what issues have you encountered when upgrading your python(3) version?

[–] Turun@feddit.de 1 points 1 year ago* (last edited 1 year ago) (4 children)

I think they introduce new keywords every now and then. Match and async I think?

Edit: I was wrong, this is done in a backwards compatible manner

[–] UlrikHD@programming.dev 4 points 1 year ago (1 children)

Those doesn't break backwards compatibility though. Naturally you can't use match with a python 3.7 interpreter, but what scripts written for python 3.7 wouldn't work with a 3.11 interpreter?

I haven't encountered that issue before, so I'm curious what those problems OP have encountered looks like.

[–] Turun@feddit.de 1 points 1 year ago (1 children)

Huh, ok. I thought something like match = 0 in an old script might break a more recent version.

But you may very well be correct.

[–] UlrikHD@programming.dev 1 points 1 year ago* (last edited 1 year ago) (1 children)

match isn't a protected keyword like if is.

match = 0
match match:
    case 0:
        print(0)
    case _:
        print(1)

Is legal and will give print out 0.

[–] Turun@feddit.de 1 points 1 year ago

Well, today I learned. Thanks for pointing it out.

load more comments (2 replies)
load more comments (7 replies)
load more comments (10 replies)