Fork me on GitHub
#off-topic
<
2021-11-22
>
JC15:11:59

I'm planning to learn a new language this winter on the side and am looking for something that is complementary to Clojure. Does anyone have any recommendations or positive experiences with learning other functional languages/lisps?

mpenet15:11:27

dart/flutter in preparation for clojure-dart 🙂

borkdude15:11:47

ClojureScript is pretty nice

andy.fingerhut15:11:48

If you want something very very unlike Clojure, and you don't know C or any kind of assembler, you could learn one of those 🙂. Definitely very very different.

borkdude15:11:28

I've also enjoyed dabbling with Rust and Golang. Golang is much easier to get something into production with, if you don't have a lot of time.

andy.fingerhut15:11:42

For the kinds of things Clojure and other high level languages are good at, C is like banging rocks together by comparison.

1
borkdude15:11:00

Zig is on my list of interesting things to check

mpenet15:11:59

golang is a good companion, easy to learn (not necessarly to master), that's basically the duo we use at work. Covers 99% of use cases (as long as you can afford a gc).

mpenet15:11:50

but nowadays most thing you can do with go you can also do with clj, I guess back then the argument was about ease of distribution & startup time, but that can be mitigated now.

mpenet15:11:00

even more so in the future

borkdude16:11:46

what future are you thinking about?

cdeszaq16:11:02

In many cases, I’ve found the most complementary languages are those that fill in gaps in each other. What are the gaps in Clojure you run into the most? Or that you see as most important? Find a language that is well-suited to fill those in which isn’t too far from the aesthetics you appreciate from Clojure. Rust could be a good fit if you see low-level performance as a Clojure gap, since it is also highly functional in nature. Java is another complement for similar performance / library reasons, though perhaps a bit obvious given Clojure’s intentionally hosted nature.

dharrigan16:11:40

how about kotlin?

➕ 2
dharrigan16:11:55

Kotlin, runs on the JVM, and has really nice syntax, and quite functional!

dharrigan16:11:19

(and has really good tooling support via intellij)

respatialized17:11:13

Languages I wish I had the time to learn/mess with: Zig - low level programming with a small surface area of things to learn (way smaller than C++/Rust), https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html with C without inheriting its baggage Pharo - Object Oriented Programming done right, very interesting https://gtoolkit.com/ , altogether different paradigm from Clojure, the only programming environment actually trying to emancipate its users from the tyranny of plain text Haskell - continuously pushing the envelope of https://ucsd-progsys.github.io/liquidhaskell-blog/

ghadi17:11:20

kotlin's always going to play second fiddle to Java

➕ 1
adi03:11:58

I can tell you Kotlin played second fiddle to Clojure at least once in history. I was new to a KT project and couldn't make head or tails of it. Needed to instantiate things and manipulate them. Suffice to say KT's "repl" is ... not a repl. Struggled with print lines, threw hands up, published the KT project in anger to maven local, added it to a Clojure project, REPL'd and "reflect"ed my way to success.

adi03:11:33

My colleagues had never seen anything like it 😁

aw_yeah 1
Colin P. Hill18:11:43

Seeing as a key theme in the Clojure world is various ways of keeping large amounts of data consolidated and accessible to everything (global state atom, Datomic, maps that contain the whole world in the form of namespaced keys, etc.), maybe Erlang would be a good complement

💡 1
Colin P. Hill18:11:33

not hard to imagine that what works well with a model of shared and consolidated data and what works well with a model of owned and atomized data would be fairly disjoint

nate sire19:11:48

is there a channel for managers? leaders? of teams

seancorfield19:11:05

@natesire Depending on what you might want to discuss, I'd say either #jobs-discuss or #off-topic (here) would be suitable. Looking over the channel list, I don't see anything related to that sort of thing specifically...

Mateusz Mazurczak20:11:30

@natesire If you have some question/thought you can write it in channel corresponding to that thought and discussion will bring back people who are interested. There are from time to time topics useful for working/creating a team, but you need to look on different channels.

sova-soars-the-sora20:11:50

I'm thinking about writing a clojure book for making web applications using clojure and clojureScript with SSR (serverside-rendering) and realtime comms... I still feel like a newbie myself 😅 but I think it would help others get up to speed on some things. Do you think it'd be good to start it as a website and eventually turn it into a tome of sorts?

😀 2
cdeszaq20:11:58

What’s your main objective? If it is to help people, and then eventually get a little bit of income from that investment, a (bunch of) blog articles can be a great way to help a bunch of people and get a sense for how much “traction” the ideas and approaches have. Books often have the downside of “big bang delivery” where you get relatively little feedback until after you’ve put in the work. Publishing small pieces at a time as you go on your own journey can get more feedback faster.

sova-soars-the-sora04:11:36

I'd like there to be a resource covering these topics specifically. So maybe blog entries w/ some sort of instructional demo piece would be better to start. Make it more interactive, you know?

cdeszaq14:11:01

Yes, a “watch me work through solving this, and follow along as well!” sort of structure could be quite appealing