• 2 Posts
  • 326 Comments
Joined 2 years ago
cake
Cake day: April 27th, 2023

help-circle
  • The borrow checker

    This is indeed pretty unique.

    the way it handles exceptions and nulls

    This is really just the fact that Rust has sum types - but those kinds of types have been used in many functional languages (Haskell for example) for a long time.

    the way it handles stack/heap

    This is just the same as C and C++ and any other low-level language that requires you to distinguish between the stack and heap.

    composition pattern instead of oop

    I mean if you’re only looking at OOP languages then this will be new, but functional languages have done this for a long time.

    So yea, I think a big part of what makes Rust great is that it has managed to take these really, really good ideas from functional programming languages and made them work in a language that is not entirely functional. This leads to a perfect blend/best of both worlds with regards to OOP and functional programming :)






  • If there is anything I’ve learned in my 10+ years as an engineer, it’s that there are no good or bad languages, just pros and cons of each in different applications.

    I dunno if I agree really - the more languages I’ve learned, the more I see an evolution from less sophisticated, less usable languages to more sophisticated, more usable, modern and just generally better languages.

    C and C++ are old, and you can tell. There’s so much complexity and legacy in those languages that it’s crazy. But it’s not just legacy - it’s also bad design choices. There’s a lot of really bad APIs and bad usability and footguns everywhere. You see the same thing in languages like JavaScript (whose design journey has been fraught with peril). Even Java has some bad stuff I would say, mostly from the overzealous insistence on OOP.

    However, if you look at some modern languages that were more deliberately designed, you really start to see how they are just intrinsically better. Python, while still being a dynamically typed scripting language which I would never use for large systems, is still leagues better than JavaScript in terms of design and usability I would say. Haskell was born from research and you can really tell - the language just makes sense in a very scientific way - although that does mean ease of use and developer experience has not always been the priority.

    Rust was developed for a very particular purpose, basically to provide the same speed as C++ but without any undefined behavior. From that design principle, a lot of good has resulted and Rust is basically an objectively better language than C++. The only thing still keeping C++ in the game is the historical reasons, just due to the sheer amount of code that exists out there in C++. C++ has more support in all kinds of places, but that’s just due to history and Rust will likely gain ground soon enough. For instance, C++ still rules for game development, but this could change within the next 5 or 10 years.

    It’s not that surprising when you think about - languages like Python, Haskell and Rust were built on the giant pile of experience the whole industry has amassed from using previous languages. It also helps that we just have more computing power today to make languages like Rust feasible. Rust compile times probably wouldn’t have been realistic 30 years ago.












  • Of course it’s collective bargaining, that’s what I mean with “organize”. I don’t mean just organize within your workplace, I mean organize within entire fields and industries.

    Friend, you don’t know how unions work at a core level.

    This sounds kind of condescending and mean. In Denmark we have large unions that cover whole industries and fields and they work very well for collective bargaining and securing good levels of compensation, vacation and good work environments. I am myself a member of such a union. So please don’t assume that I don’t know how unions work.


  • Yea definitely don’t disagree with that. I think that is a factor too. But I think it also kind of goes hand in hand. Do you have similar ideas because you organized and kind of aligned your ideas, or did you organize because your ideas are similar and you easily agreed to organize? It’s kind of a chicken and egg thing.

    I’ve also often thought that countries like the US are just too big. There’s too many people to take into consideration. A country like Denmark with ~6 million people is much easier to keep track of and the governance and politics is closer to reality.