4 ms·
I think it's very naive for a programming language to make you "wince", tools are tools.
by reedf1 3y ago
I think it's very naive for a programming language to make you "wince", tools are tools.
- wayvey 3y agoAgree, would like to know more context
- spacecadet 3y agoBecause you have all the power to change the tool or invent a new one.
- blurbleblurble 3y agoHave you ever used pip?
- amelius 3y agoPython is a great language to Just Get Things Done™. Rust is great if you like puzzles and want to spend your precious time solving the same memory management riddle over and over again. You do get faster and often more robust code though, although in practice the difference is often not meaningful and the extra time invested doesn't pay off.
- aldanor 3y agoSometimes, Things just can't be Done with Python. E.g., you're parsing dozens terabytes of data, or need response time within a microsecond. So, you're left with a choice of C++, Rust (what else, C#, possibly Zig and a few other). Rust stops being a "puzzle" once you've written enough of it and you just know how to do things. It has one major disadvantage though - returning back to write in languages like C++/Python makes you cringe because they don't have basic language tools like proper sum types or traits that get things done.
- amelius 3y agoTurns out 99% of the time you don't need to parse terabytes or have μs-response times. Meaning you should be programming just about 99% of your time in Python. The Rust memory management puzzles are not really complicated. They just get in the way. > they don't have basic language tools like proper sum types or traits that get things done Sum types and traits are not getting things done.
- pkolaczk 3y ago> Meaning you should be programming just about 99% of your time in Python. No, not me, because I’m less productive in Python than in Rust, assuming the same level of final product quality, even excluding runtime performance. > Turns out 99% of the time you don't need to parse terabytes or have μs-response times. Performance is not the primary reason to use Rust. It has way more to offer than performance.
- buddhu 3y ago> Performance is not the primary reason to use Rust. It has way more to offer than performance. So much this. I've been doing mostly Scala (and some Haskell) for the last 10 years, and now I'm really enjoying Rust precisely because of its language features. Performance is just a (really) nice bonus. Other bonuses include simple deployments (single binaries versus massive JVM and fat jars), low memory footprint, simple builds that just work (Cargo is an absolute joy), great concurrency, great ecosystem, etc. etc.
- aldanor 3y ago> 99% of the time 99% of whose time? Where does this estimate come from? Definitely not my case, and definitely not the case for lots of programmers I know and/or work with. Python has its own place (for example, in DS/ML) and while I use it myself on daily basis for what's it's best at, statements like "you should be programming just about 99% of your time in Python" make no sense at best. And, note, it's not only about speed/performance; after writing lots of Rust (or even F#), it's hard to get back to Python because of missing expressiveness and basic language tooling. Finally, speaking of Python (CPython in particular), part of why it's so attractive is all the fast binary extensions libraries written for it... in C++/Rust, not Python. > Sum types and traits are not getting things done. Disagreed, sum types are exactly what gets things done, regardless of language performance and other features. This kind of logic exists everywhere. That's why languages with proper (or even semi-proper) sum types like Rust, F# are a lot easier to express 'business logic' in. And e.g. that's exactly why serialization/deserialization can get so weird in Python where values can be of multiple types and you have to invent crutches to work around that, to simulate sum types in this way or another.
- IshKebab 3y ago> Tools are tools Are you trying to say that all tools are the same? There are no bad tools? Why is it naive for a painful tool to make you wince?
- walthamstow 3y agoI've used all kinds of hand tools and cooking utensils that were terrible and made me wince or experience other discomfort as I used them
- reedf1 3y agoIt's completely fair enough to argue that a language/tools is a bad at what it is made to do, but this needs to be pared out from tool choice. A baking spatula makes a bad cooking spatula. It's pliable and can easily scrape the curved surface of a bowl, but for flipping a fried egg it is hopeless - in a pinch it will work - but it would be nice to have something rigid. Further, describing it as making you "wince" is a recipe for a flame war bordering on deliberate bating. Just describe your issues with the language in more than a single charged word. You don't have to write an essay, just "I don't like the package management environment". That way people can have a constructive discussion.
- deleted 3y ago[deleted]