Fork me on GitHub
#off-topic
<
2019-07-24
>
jayesh-bhoot14:07:30

I never really got comfortable with C++/Java-style object-oriented programming. There was always something nagging in the back of my mind. Even while using languages like JS and Python, I always leaned towards function-based organization. But these last 15 days of exploring clojure has been a breath of fresh air. Thinking about the shape of data and not worrying about its mutability is a boon. So this got me thinking. Keeping in mind the availability of work, which languages/framework out of clojure ecosystem do you find yourself most comfortable with?

jayesh-bhoot14:07:14

Ironically, I found the much-maligned Javascript (with ES6+ syntax and React + redux frameworks) closer to this taste than, say, Python.

jaihindhreddy15:07:37

I concur. I found Elixir to be closer to Clojure than JS. But that is pretty niche too. Most OO-langs seem to cling too much to inheritance and end up too parochial and fractionated whereas statically typed functional langs cling to their type systems and complect specification, verification and function. I couldn't find anything else that close to Clojure in "simplicity".

jayesh-bhoot15:07:12

You just put in words what I wasn't able to convey.

jayesh-bhoot15:07:02

I am not looking for a functional programming language per se. Otherwise many other concepts like a strong type system would kick in. What I miss is the expressive simplicity of clojure

jayesh-bhoot15:07:07

Python, so far my main language, while looks clean is heavily OO-procedural. There are point where you just cant escape those stateful mutations.

jayesh-bhoot15:07:42

It seems I will have to look into nodejs. It should give me something server side besides clojure

👍 4
jaihindhreddy15:07:55

Yup. Same here. functional python is just plain ugly most of the time, having to use stuff from itertools and functools all the time.

✔️ 4
jaihindhreddy15:07:39

But the problem with javascript is, while it's vastly simpler and safer than C++, it suffers from feature bloat just as much. And different people learn a different subset of JS. That combined with lack of a std library makes doing almost anything a massive pile of convention.

jaihindhreddy15:07:40

Or you have to configure seemingly endless amount of tools (build systems, transpilers, linters...)

jayesh-bhoot15:07:02

True. I have settled on some prescriptions there though. Avoiding OO features (especially this); relying on closures and arrow functions; libs like ramdajs, date-fns to act as stdlibs;

jayesh-bhoot15:07:12

Too many bandages though 😄

jayesh-bhoot15:07:30

What do you use for work?

jaihindhreddy05:07:19

Python, JS and a bit of Go here and there.

👍 4
Jimmy Miller14:07:44

Yeah, javascript when done well can be rather functional. React and redux really starting leading you in that direction. I actually quite enjoy javascript when written by the right people with agreed upon standards.

👍 8
jayesh-bhoot14:07:39

True! Are there any other combos I could work in?

jayesh-bhoot14:07:06

Within the popular language/frameworks?

4