this post was submitted on 26 Jan 2024
90 points (92.5% liked)

Programming

16304 readers
566 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
90
submitted 5 months ago* (last edited 5 months ago) by pathief to c/[email protected]
 

I've been working with a Javascript (+ TypeScript) + Java + SQL stack for the last 10 years.

For 2024 I'd like to learn a new programming language, just for fun. I don't have any particular goals in mind, I just want to learn something new. If I can use it later professionally that'd be cool, but if not that's okay too.

Requirements:

  • Runs on linux
  • Not interested in languages created by Google or Apple
  • No "joke languages", please

Thank you very much!

EDIT: I ended up ordering the paperback version of the Rust book. Maybe one day I'll contribute to the Lemmy code base or something :P Thank you all for the replies!!!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 11 points 5 months ago (1 children)

Give Clojure a go.

It's a modern variant of lisp that runs on the JVM and has deep interoperability with Java, so you can leverage your existing knowledge of Java libraries.

But as it's a lisp, it will have you thinking about problems in a very different way.

[–] [email protected] 3 points 5 months ago (2 children)

Can you name any real world usages for Clojure? I did some lisp once when I was a sprout and loved it, would be awesome to do it on the jvm now that I work with java every day.

[–] [email protected] 2 points 5 months ago

It's a very flexible language so can find a niche almost anywhere. I know of fintech companies that use it extensively for their back end data processing systems, and I've seen some really interesting stuff done with Clojure and Apache Kafka. They're a good fit for each other - Clojure, as a lisp, is optimised for processing infinite lists of things and Kafka topics can be easily conceptualised as an infinite stream of data.

Also, when combined with Clojurescript, it provides a single language that can be used full-stack, so could drop in anywhere that you might otherwise use Node.

But I think one of the best things about it is the way it forces you to re-evaluate your approach to development. It's a completely functional language so you have to throw away any preconceptions about OO and finding new ways to resolve old problems is one of the things that should be a joy for most developers, even if it has no practical application.

[–] [email protected] 1 points 5 months ago

IMHO it would fit use cases of java, mostly long running services. But it is a hosted language with different implementations on top of javascript, .net etc. So it might branch out other use cases like frontend dev. It has a small but active community. Although it might be most popular lisp nowadays.

If you are not familiar with lisp and aim is having fun while learning new things then clojure will fit nicely. It is so joyful once you get the initial weirdness because it will feel different. You just fire up a REPL, leave it running in background, hook your ide/editor to it and start sending evals. The application grows while it is running. I find the workflow quiet enjoyable.