| ▲ | trenchpilgrim 3 days ago | |
In my experience so far most languages I've encountered have been similar enough that language choice mostly comes down to "Does it have the APIs I need" and "Do I like the tooling." There are a handful of exceptions where the capabilities of the language are fundamentally different enough to provide a competitive edge. - Systems languages with manual memory management, like C or Zig, where real-time/low-latency performance is important. - Rust and its borrow checker, as an alternative to manual memory management. - A strongly FP influenced language such as a Lisp or Haskell. Especially Lisp macros. Exceptionally good for working with structured data in cases where purity is more important than performance. - The BEAM/OTP architecture for distributed systems (Erlang/Elixir). - Languages with good CUDA/PTX/Vulkan support, for programs that need the GPU. - Assembly. This was a much bigger deal in the past before compilers got good. Today good mostly for educational purposes. | ||