this post was submitted on 13 Nov 2024
163 points (98.8% liked)

Programmer Humor

32721 readers
371 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 month ago

Functional programming tends to get conflated with static typing and immutability, but it's a much broader paradigm than that. I find it really depends on the specific language. It's very easy to do local mutation in Clojure for example. There are constructs like transient specifically designed for doing that. There are also languages like Janet that are functional, but use mutable constructs by default and can embed in C with very low footprint.

I generally get annoyed with software being slow to startup and hogging resources as well, but that's a separate discussion. The JVM is designed primarily for servers where you have long running processes, and startup time isn't really a big concern. So, it's not the best illustration. A CL app written using something like clog will be very snappy.

Joe Armstrong made a good point a while back as well. He pointed out that it's better to focus on making the compiler smarter so that it can do the optimize performance, and optimize languages for human readability. I very much agree with that sentiment. We can see an example of that being done with GraalVM which can compile JVM bytecode into optimized native apps that have very fast startup time and use far less resources than the JVM. At the moment it's not comprehensive, but you can make GUI apps with it, and they'll even run on RPi.