clojuredesign-podcast

Discussions around the Functional Design in Clojure podcast - https://clojuredesign.club/
2019-07-24T00:31:21.012100Z

@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.

neumann 2019-07-26T17:36:10.024700Z

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.

2019-07-28T01:56:36.054200Z

@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.

neumann 2019-07-28T16:05:53.055300Z

@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.

2019-07-28T20:49:47.055700Z

@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).

nate 2019-07-24T00:33:39.012900Z

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

nate 2019-07-24T00:34:39.013600Z

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

1👍
nate 2019-07-24T00:36:55.015500Z

@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.