this post was submitted on 26 Feb 2024
256 points (96.4% liked)

Programming

17313 readers
625 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

On the one side I really like c and c++ because they’re fun and have great performance; they don’t feel like your fighting the language and let me feel sort of creative in the way I do things(compared with something like Rust or Swift).

On the other hand, when weighing one’s feelings against the common good, I guess it’s not really a contest. Plus I suspect a lot of my annoyance with languages like rust stems from not being as familiar with the paradigm. What do you all think?

you are viewing a single comment's thread
view the rest of the comments
[–] mipadaitu 72 points 9 months ago (1 children)

Depends on if you're coding for critical infrastructure (i.e. - electrical grid), or writing a high performance video game that can run on older hardware.

We should absolutely have specific licenses like Civil Engineers do for computer infrastructure that is required for any software written for specific purposes. It would be a nightmare to implement, but at some point, it's going to be needed.

[–] [email protected] 24 points 9 months ago (3 children)

writing a high performance video game that can run on older hardware

Unless it's some really exotic platform, I'd honestly still say no. Rust has shown that memory safety and performance doesn't have to be a tradeoff. You can have both.

But sure, if whatever you're targeting doesn't have a Rust compiler, then of course you have no choice. But those are extremely rare cases these days I'd say.

[–] themusicman 20 points 9 months ago (1 children)

There's always a trade-off. In rust's case, it's slow compile times and comparatively slower prototyping. I still make games in rust, but pretending there's no trade-off involved is wishful thinking

[–] [email protected] 29 points 9 months ago (1 children)

They mean a trade off in the resulting application. Compile times mean nothing to the end user.

[–] [email protected] 10 points 9 months ago (1 children)

That may be true but if the language is tough to develop with, then those users won't get a product made with that language, they'll get a product made with whatever language is easier / more expedient for the developer. Developer time is money, after all.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

You'd be better just using a managed languages in many cases.

With tiered jit and careful use of garbage allocations they can actually be the same or faster.

[–] [email protected] 1 points 9 months ago (1 children)

Can we stop pretending Rust doesn't take performance trade-offs? Of course if you compare it one to one its roughly the same, since it's compiled. But Optimizing memory for cache hits becomes a lot more difficult in Rust, to the point where you have to use unsafe. And unsafe Rust has more undefined behavior than C. In my opinion C is more safe than unsafe Rust.

If you want normal performance its a good Language, but once you need to Optimize memory, which is usually the bottleneck, You are out of luck.

[–] [email protected] 7 points 9 months ago

But Optimizing memory for cache hits becomes a lot more difficult in Rust

Why is this?