This is a compilation of the tech I use, written as blatant propaganda. I love to talk and spread knowledge of all of these, so don’t hesitate to ask me!
I used to think that Haskell was really cool, but not practical. However, recently I’ve discovered more and more real world applications of Haskell, to the extent that I think Haskell is far more versatile than Python or Java, just in terms of breadth of usage. And it’s becoming more and more popular, breaking out of hobby use and into industry. Not only that, but ideas pioneered in haskell are being integrated into all sorts of other languages.
The elephant in the room with almost every other language is how easy it is for things to blow up in your face. Haskell programmers can be confident that their code will not error because so many errors are prevented at compile time by static typing and by lack of mutability.
For a large number of reasons, including culture, enforced lack of side effects, and powerful primitives, Haskell code and libraries is very easy to add together, and almost any repeated pattern can be factored out. This leads to concise code and rapid development.
Learning curve, and network effect.
Nix is a pure configuration language, and NixOS is a operating system that uses Nix for all of its configuration.
Again, when I first came across NixOS I thought it was completely impractical. But then I used it for a year and a half, and I couldn’t be happier. At no point will your layman Joe or Josy use NixOS, but I believe that it could slowly become a highly relevant server operating system, just as Linux is today.
When something works in Nix, it works forever, wherever. This allows the community to solve problems and have them stay solved, which means you have the accumulated best practices of thousands of developers at your fingertips.