Beej’s guides are absolute classics. The networking guide is also amazing. Definitely worth the read.
I’m a software engineering developer from Ottawa, Ontario, Canada.
Beej’s guides are absolute classics. The networking guide is also amazing. Definitely worth the read.
Yeah, that’s pretty much what I was thinking too. The combination of a c API and a JVM API (and maybe .NET if you’re in Microsoft land?) Hits most FFI available in languages I’ve seen. I can’t think of any language I’ve used that couldn’t Interop with either a c library (.a or .so) or JVM library (.jar). However I’ve never used any .NET system seriously, so I don’t know about them.
FWIW I regularly remake the same API based game whenever I start a new job working in a new environment to test that my environment is “up to snuff” with my development methodologies. I’ve never needed to port more than API.a and API.jar to play around in any language. I’ve ported that system to at least 100 languages over the years, and while some have more friction than others, and often the c/JVM paradigm doesn’t line up well with the target language, it is always effective.
I definitely have the soapy gene, but don’t mind the taste. I blame thrills soap gum, I occasionally enjoyed that as a kid. My sister also has the gene and can’t stand the taste.
Great read. Only constructive criticism I have is a pet peeve of mine that is especially prevalent in type theory articles. In particular it may be worth mentioning the more formal names of some of the types discussed. Trying to map Haskell’s types to other languages can be very tricky and can hinder understanding. Mentioning more googleable names like unit, top, bottom, can be helpful in disambiguation which characteristics are intrinsic to the Haskell type, versus which are properties of the type system in general.
Ada, hands down. Every time I go to learn Rust I’m disappointed by the lack of safety. I get that it’s miles ahead of C++, but that’s not much. I get that it strikes a much better balance than Ada (it’s not too hard to get it to compile) but it still leaves a lot to be desired in terms of safe interfacing. Plus it’s memory model is more complicated than it needs to be (though Ada’s secondary stack takes some getting used to).
I wonder if any other Ada devs have experience with rust and can make a better comparison?