• 0 Posts
  • 47 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™.


  • 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 funny thing is the whole commercialization process started with one of the future partners messaging the project lead out of the blue on LinkedIn. I don’t know about you, but taking ideas from a random LinkedIn user doesn’t strike me as good business sense.

    Then again, getting something out of your years of unpaid volunteer work must be incredibly tempting, given how many open source projects have sold out over the years. At least it was to form an actual legitimate company this time, unlike when SuperSU (the Android root solution before Magisk came along) sold themselves to a scummy foreign ad company. That one still ranks as the all time top WTF sale.





  • 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).