Hacker News new | ask | show | jobs
by m_mueller 1974 days ago
Might be worth a revisit actually. After having kept off it for years I did a small project in Java for an interview some time ago, and a larger one as a postdoc a year before that. Its latest features, especially functional interfaces, makes it very powerful in a specific niche: The middle lands of software that does have stringent performance requirements - low latency from microseconds upwards and/or throughput, but not necessarily needing a cluster larger than some dozens of nodes. In such cases it is more productive than fully compiled system programming languages, while being much more performant than dynamic languages. Functional interfaces are a perfect match to do data centric designs in it.
1 comments

I work in Java and Kotlin still. I miss doing OCaml. I miss writing C. I am trying to keep my sanity by doing Erlang[1] (gonna be our server for various purposes and I did not want to use Go because I thought it would be a great opportunity to perfect Erlang) and reading old books on Forth. I am also reading "Fundamentals of Embedded Software: Where C and Assembly Meet". For the foreseeable future I will do more designing and reading than implementing, but I will be toying around of course; for example right now I am doing hot upgrades and release handling in Erlang so I will not hesitate much due to ignorance when the time comes. This is just a minor part of it, of course.

In any case, Java, and especially Kotlin are quite tolerable with IntelliJ. It is a great IDE for those two at least. Plus I get paid, which is also a motivator... :D

[1] Truth be told, it is difficult to keep that sanity because I dislike the OTP documentation. I am reading books instead. I already know what their "target_system" does anyway, I modified it a lot for my use case but I reverted it because I thought it would be more of a hassle in the end.

I invite you to learn Elixir instead. Plus the forum is extremely welcoming and there are very easily digestible and much more carefully crafted docs compared to Erlang.

Plus, macros (basically, generators of code). How can you say no to that?