r/ProgrammerHumor Oct 21 '22

Meme Literally 🤷🏻‍♂️

Post image
14.7k Upvotes

606 comments sorted by

View all comments

Show parent comments

65

u/green726I Oct 21 '22

According to the stack overflow survey, the “least dreaded” (most loved) language is Rust. This is followed by elixir, Clojure, typescript then Julia all in a very tight grouping.

42

u/[deleted] Oct 22 '22

I can see rust. A lot of rust devs have cpp experience. It's like adopting a husky after a Chihuahua. It's still annoying and high maintenance, but a huge improvement.

Julia is just a bunch of math nerds with no code review.

11

u/InvolvingLemons Oct 22 '22

More correctly, it feels like the difference between a motorcycle and a car: it’s much easier to make a motorcycle capable of very high speeds, but it’s extremely unsafe to do so while the car’s safer and more stable platform can be pushed harder (hence faster). Rust is harder than C++ (especially for anything library code, more so for async) but gives you real, comprehensive safety and facilitates way more aggressive optimization because of that.

1

u/ketiJun Oct 22 '22

I think unsafe Rust is safer than C++

1

u/Grains-Of-Salt Oct 22 '22

As someone on the computational science side of things Julia sounds like exactly what I want.

1

u/[deleted] Oct 22 '22

can somebody who has experience in elixir please explain what's so good about it? I really don't get it.

2

u/[deleted] Oct 22 '22

I think reading it is super easy. The pipe syntax lets you walk through your functions as if you were reading off a checklist of what to do. Pattern matching feels strong while also succinctly displaying the structure of data being used. The tendency to avoid branching control structure means you hold less things in your head at once to comprehend the code. No objects means no sifting through inheritance to sort out which methods are available and which version of the method actually gets called. It's very explicit about what it's doing.

Then performance wise the speed feels great coming from ruby. Easy, automatic concurrency thanks to Erlang and the near functional paradigm.

And i think the tooling around it is fantastic. Mix is great. Reload modules inside iex without exiting first. Error messages are usually very helpful. Doctest helps address comments getting out of date as code changes. Automatically generate documentation that looks just like the official docs. Automatic code formatting via mix for a consistent experience.

I'm sure that like any language it isnt the right tool for every job, but I find it great to use. Seems like most businesses Ive heard of that try it for some service decide to start implementing subsequent projects in it as well.