this post was submitted on 28 Nov 2024
462 points (88.5% liked)

Programmer Humor

32743 readers
138 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] porous_grey_matter@lemmy.ml -4 points 4 weeks ago (1 children)

where messing up a space breaks everything

Messing up some character breaks everything in any language, skill issue

there is no real type system

What does "real" mean? It's pretty robust these days.

[–] fuck_u_spez_in_particular@lemmy.world 3 points 4 weeks ago (1 children)
[–] porous_grey_matter@lemmy.ml 3 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Yes, I love rust and use it regularly, but it is suitable for totally different use cases than python. Have you worked on a python project using strict type checking enforced in CI? It really isn't so bad.

[–] fuck_u_spez_in_particular@lemmy.world 1 points 4 weeks ago (1 children)

I haven't, but everytime I try python I want to quit it so quickly because of the messed up packaging system and more importantly IDE experience (and I don't think unless you are extremely disciplined with type annotations, that you're getting even close to rust-analyzers performance). I enjoy just exploring dependencies with go to definition, and the trust I can have in the type system.

I'm swearing everyday in my job about typescript, which is just javascript with leaky and unnecessary complex type annotations. So yeah I even consider typescript bad (and I doubt that python is better with type-checking).

[–] porous_grey_matter@lemmy.ml 2 points 4 weeks ago (1 children)

In my experience which is pretty extensive with python but only moderate with typescript I'd say it's probably better, easier to work with and offers a similar level of flexibility.

Not sure what you mean by performance but it's easy to be disciplined when you can't commit something that isn't fully annotated. I feel like I can trust it fairly well, except for rare occasions where external library code is wrongly annotated and I have to put some ugly shim in.

Afaik you can just go to definition in literally any language, typing or no.

I'm in total agreement about the packaging though, it sucks.

[–] fuck_u_spez_in_particular@lemmy.world 1 points 4 weeks ago* (last edited 4 weeks ago)

performance

Like raw runtime performance, if I write the code in python, it's ~ 100x slower than in Rust. You often get away with dumber stuff in Rust as the compiler is able to optimize it well. With python you would have to write your native bindings either in Rust/C or C++. So why not straight use Rust (as the other choices aren't sa(f/n)e at this point anymore).

Afaik you can just go to definition in literally any language, typing or no.

No you can't, at least not in the same way that a static type-system allows. As dynamically-typed programs are evaluated on runtime, so you often don't know at the time while coding what is run. In untyped/dynamically typed languages you often use heuristics to jump into stuff, which is just less precise.

There's more to this, but I think you get what I mean, when you programmed more intensively with static generics in Rust (compared to something similar in say javascript or python without types), IDE experience is just more precise and correct (and more fun).