Programming languages

Here are some gross oversimplifications and generalizations of when to use programming languages I’ve had the (mis)fortune to work with recently:

  • C++ - when you want to write fast code, you’re working on a team, and you can afford to spend time dealing with its warts (lack of a module system, limited standard library functionality, avoiding “advanced” features like exception handling, RTTI, multiple inheritance, operator overloading).
  • C - when you want to write fast code and occasionally emulate C++ features in ways that will piss off your team who has to figure it out every time.
  • Go - when you’re writing kind of fast code and want modern language features like module support, a full-featured standard library, and garbage collection.
  • Haskell - when the most important thing is that your code is right in every single case, but might take a long time to write it correctly.
  • Python - I just want something to kind of work gosh darn it! Oh crap, run time failure!

Back to writing