• 0 Posts
  • 37 Comments
Joined 1 year ago
cake
Cake day: August 2nd, 2023

help-circle


  • Null safety is orders of magnitude simpler than memory safety. Kotlin is a null safe language by default. Java is infamously not. Anyone who has worked on a mixed-language Kotlin project can tell you how quickly null safety becomes a pain once guarantees break down - and that’s in a language where these issues are flagged instantly and you can “fix” the problem in a couple of characters! Mixed memory safe/unsafe codebases would be a nightmare in comparison.

    Also, C++'s ecosystem consists of deeply entrenched libraries with ancient codebases. Safe C++ might be useful in a decade or two if library maintainers could be pushed to make the switch (good luck with that, if it’s half as much of a paradigm shift as Rust), but by then there will probably be multiple competing language features that claim to solve the same problem. It’s the C++ Way™.


  • Quetzalcutlass@lemmy.worldtomemes@lemmy.worldThe Star Citizen Situation
    link
    fedilink
    English
    arrow-up
    19
    ·
    edit-2
    2 months ago

    There are two facts old space game fans could tell you about Chris Roberts: that he will never meet a deadline (one of the Wing Commander games, his claim to fame, only came out because the publisher got sick of his delays and forced a release), and that he desperately wants to be a Hollywood writer/director. Both explain Squadron 42.







  • The main problem with Java (or garbage collected languages in general) as a first language is needing to unlearn the bad habits it ingrains when you move to a systems programming language with manual memory management. Other than that it’s a pretty good first language, though I’d suggest learning a bit of C at the same time just to get a basic grip on things like pointers and stack vs heap.

    Edit: it occurs to me that C# would be the perfect learning language. It’s very similar to Java and an easy first language, but you’d also learn about stack allocation through structs, and can teach pointers using unsafe (though I think unsafe code is still GCed, so this wouldn’t help with the memory management side of things. Haven’t touched C# in fifteen years so I’m not sure how it works anymore).