Fork me on GitHub
#clojuredesign-podcast
<
2019-07-24
>
Tim Hawes00:07:21

@nate & @neumann Great podcast! Thanks so much for your contributions! I have a great question for discussion in the next podcast. "Why use Clojure over another functional language... say... Kotlin?" We had a huge surge of dev teams in our company start to adopt Clojure a few years ago. Then Kotlin came out, and that is what everyone started to use, instead. There are a few teams who have held on to Clojure, but not many. A lot of the big pluses to use Clojure can be found in many other functional languages. I have an answer to this (metaprogramming, the ability to rewrite the language for the task, its why Lisp has survived for 60+ years, now), but would love to hear your guys' take on this. I don't think to say Clojure is great because of immutable data by default, and is functional, is enough.

neumann17:07:10

Hey @trhawes! @nate and I took up this question in today's episode. Check it out and let me know what you think. I'd love to get your feedback.

Tim Hawes01:07:36

@nate @neumann Just finished listening. You guys covered it well! In answer to your question as to why the other teams migrated to Kotlin, I don't know that there was any single answer to that. Seemed like a combination of chasing the next new thing, a sense that since Intellij (we are a Jetbrains shop) was promoting Kotlin, and a concern one of our senior administrators had over the future of hiring Kotlin programmers over Clojure programmers (being self-assured that Kotlin was going to be more successful than Clojure). A close friend of mine, and also a team lead that stayed with Clojure told me the reason they stayed is because, unlike any of the other languages, Clojure is data-driven. Being data-driven, the time to get a solution out to production is significantly faster. Being able to shape the language to the problem, rather than the other way around is what makes working with a Lisp like Clojure way better.

neumann16:07:53

@trhawes Thanks for listening and sharing! Yes, data-driven is such a huge thing. @nate and I should talk about that specifically. I think it has come up a bunch, but it probably deserves it's own episode.

Tim Hawes20:07:47

@neumann I definitely think data-driven programming ought to be front and center when discussing Clojure. When a different programming problem comes up, people look for the best language for the job. You don't need to change languages, when you can rewrite the language for the job. Homoiconicity is key, and almost unique to Lisp dialects (Julia, Prolog, and Tcl probably being the most popular non-Lisp homoiconic languages).

nate00:07:39

@trhawes Thank you for your kind words. And thank you for the great question.

nate00:07:39

We'll definitely add it to our list of questions.

👍 4
nate00:07:55

@lodin.johan Great point, I forget sometimes that the system map is just a map and we can use regular functions to create the right mixture.