other-languages 2024-08-21

Are there other languages who's recurring theme by it's users seems to be that they can do more things faster? For example in Clojure it seems the main theme by it's practitioners is that they can get more done with less effort and time. Whereas in Haskell it seems to be about how they can do things more safely. Or in Erlang/Elixir how they can lean on the reliability of the beam for distributed systems. To me, a language that appears to have most of its practitioners say they have a higher velocity with it sounds amazing. I was wondering is that only Clojure? Any other?

In the Python ecosystem β€œfaster” is a common word these days, but that is mostly about the tooling: developed in Rust πŸ˜†

No direct experience with it, but people said the same thing of Rails when it was introduced, and it still commands a loyal following to this day (in spite of DHH's increasingly abrasive persona). Based on when they both got popular, I can definitely see preferring working in Ruby, or just hacking things together in Perl, to something like Java (especially the Java of the late 90s-early 2000s). You might be interested in reading about Raku (FKA Perl 6): https://buttondown.com/hillelwayne/archive/raku-a-language-for-gremlins/

a lot of "real programmers" dismiss it, but I think PHP is also very much in this category for building websites quickly

with the right tooling, other languages not broadly associated with high velocity have been put into production with high velocity in quantitative finance: β€’ https://calpaterson.com/bank-python.html β€’ https://blog.janestreet.com/ironing-out-your-development-style/ - Jane Street

True. PHP and Rails, though I feel those are almost framework for a specific use-case, which is true it would enable you to go fast. I feel Clojure it's often said in the general sense, to build anything is more productive. I think Python and Perl you're right might fit the same description. OCaml is interesting, because as the only typed lang, would be an outlier in also being more productive.

Second to that, do people feel there's a catch about this in Clojure? Is it only true in the beginning, but not ounce an application grows large? Then it loses that speed advantage? Or maybe not if working on a large team? Etc.?

Honestly, I think it's the opposite - Clojure's codebases start slow, and then get faster

It's hard to argue against Rails when all you need is a JSON API, for example. It takes literally less than ten minutes to bootstrap something, and that is including the time to install all dependencies on a regular internet connection. But... in my experience, Rails codebases make it very hard to move fast in the future, because everything is tied together in weird ways, and also they don't follow any kind of sane versioning, meaning that bumping versions is a complete nightmare (even more when you consider that bumping Rails usually means bumping the test libraries and even Ruby too). My experience with Clojure is that adding new things and evolving the codebase, even when you need to add some very weird feature/library, is way easier than Ruby or Java

@mauricio.szabo As a solo dev? Or in a team as well, where people come and go over the years?

Both, actually, but more as a team - mainly because my personal projects (everything that I do solo are just personal projects really) are all unconventional, so the "initial speed advantage" is something that I don't have, because everything is unfamiliar. Like, I don't have personal projects that are APIs, or web services, etc...

So I don't have the first "this is familiar, I'll do in Clojure because I like but it would be faster in X language" πŸ™‚

While I've seen Clojure get faster as a codebase grows, I've also seen the opposite. It depends on the type of development that the team uses. For instance, I've seen codebases that rely heavily on Atoms, and Atoms whose structures contain more atoms. This appears to me to be prima facie an anti pattern. The difficulty of working with this code bears out this opinion.

πŸ’― 1