It seems like there are about 22 27 46 219 320 493 1840 active subscribers here. I have a few questions for you all.

  • Which programming languages do you regularly use?
  • Which are your favorite to work with and why?
  • Which do you have interest in trying and why?
  • I regularly work with C#, JavaScript, TypeScript, and PHP. Of those, C# and TypeScript are my favorites. I’m also planning to try out Rust eventually, but atm I don’t have time to learn such a complex language.

    • C# - Very clean and concise syntax, performant runtime, excellent standard libraries and tooling. Later versions (.NET Core and newer) have top-tier async, generics, and DI implementations. Biggest downsides are reliance on a runtime and lack of union types. Ever tried to implement ActivityPub (or any other polymorphic API) in C#? Not a good time.
    • TypeScript - the best type system that I’ve ever worked with. With a bit of thought and planning, you can model complex requirements directly into the type system. The language is comfortable and easy to use, although some advanced types can become hard to read. Its biggest flaw is that its tied to JavaScript. I would love to one day see a language that’s basically just C# + TypeScript’s type system.
    • JavaScript - I only use it in legacy code. For anything else, I just use TypeScript.
    • PHP - I actually have a fondness for PHP, even though its not one of my favorite languages. I’m still maintaining one hobby website in full-custom PHP 8. The language has developed a lot recently and has resolved many of the classic problems that made it so awful in the PHP 5 era. Its well on its way to becoming a viable option once again.
    • Rust - Rust is the first language that I believe has a real chance of displacing C++. It solves the same problems with dramatically more safety, and has all the bells and whistles of a modern language to boot. I probably wont use it much in my work (I mostly develop LOB apps and websites), but I do expect it to gain widespread use within low-level and high-performance applications over the next 10 years.
    • TypeScript - the best type system that I’ve ever worked with. With a bit of thought and planning, you can model complex requirements directly into the type system. The language is comfortable and easy to use, although some advanced types can become hard to read. Its biggest flaw is that its tied to JavaScript. I would love to one day see a language that’s basically just C# + TypeScript’s type system.

      I feel like you’d appreciate Ocaml, ReasonML, and ReScript.

      The future of Rust seems promising. I’m also intrigued by Odin as an alternative to C.