Comment by classified

7 years ago

If “to get the machine to do exactly what you want” is an important goal, I'd recommend C or C++. Those are well known tools for those purposes. FP languages are rather about getting more ideas from math into how you structure your code.

I don’t think you need to go that low level. I find it much easier to optimize around things like memory layout, allocation patterns and cache effects even in Java and C# compared to (essentially) any functional language.

I think this is just a feature of imperative languages over functional ones. Functional languages are excellent for many things, but not for this stuff.

  • Where should I look to learn about doing those things in Java? Last time I tried looking for guidance I mostly found people saying it's not worth the effort since the JVM JIT will do better.

    • This thread is for people who are smarter than compilers. Java is not different from C in that regard.

Rust on the other hand is zero-cost abstraction but pushes you to write functional code.