5 ms·
Clojure was my first language and I agree. Everything made sense, and I was in for an unpleasant awakening when I started to learn other languages. Mutability i
by robto 9y ago
Clojure was my first language and I agree. Everything made sense, and I was in for an unpleasant awakening when I started to learn other languages. Mutability in particular makes writing sensible code a lot more difficult. And learning how to properly structure object-oriented programs is still a thing I struggle with, many years later.
Clojure's developer ergonomics have spoiled me: I love the repl! And since its stacktraces were the first type of error reporting I was exposed to, I don't think they are as bad as other people make them out to be. Certainly worth the tradeoff considering all the other benefits you get.
- agumonkey 9y agoEvery time I have to touch OO I sink. Even if I understand method ordering and multiple inheritance a bit. Nothing in OO helps me. Every time I read function first (let's include lisp, scheme or lambda calc way of doing) I get clarity of mind, and spectacular zen attitude to approach problems. I don't "love" clojure, but I so wish more people started with it.
- blain_the_train 9y agoI'm experiencing the same thing right now. Even in Dynamic languages that claim to support FP like Python and Ruby i feel like i'm i have to concede building a compossible system because the language itself is so coupled that the trade off of code is too high. The biggest pain point is both languages couple objects to polymorphism. Now if i want runtime dispatch, i have to create an instance of an object and push data inside of it.
- romaniv 9y agoIt's worth learning about the roots of OO: https://www.youtube.com/watch?v=G8X-yvDWClc https://www.youtube.com/watch?v=G8X-yvDWClc The ideas were great, but it all went horribly wrong with C++ and never fully recovered. Modern OOP has few benefits of the original vision, while introducing a lot of pitfalls that need to be constantly avoided.
- agumonkey 9y agoI know about half of the OO roots, and yes, to be correct I should say mainstream post cpp OO, and not Kay Smalltalk OO. But in a way Kay OO isn't far from FP. He wanted algebras of objects.. he had some mathematical basis for his language design efforts. As opposed to C++ who used some principles to solve large C code base issues (my 2 cents).