What are your thoughts on using Clojure for more than 2 years?
reddit.com
reddit.com
https://github.com/clojurebook/ClojureProgramming/blob/maste...
Admittedly this is mostly a personal organization issue, but when writing object-oriented code, in my experience it encourages better encapsulation. That being said, I like functional more. :)
That's pretty much the point: You don't have to remember what the function does, just read its name (and function signature, if your language is statically typed).
This is a "best practice" in imperative land as well.
In imperative land, I find that I have to write fewer functions, for better or for worse. As a result, this is not as much of an issue.
Not a problem in Haskell and Idris, at least. With the :search REPL command it will give you all the functions that match the signature you give it as an argument.
And really, you can have "longer functions" in any functional language, and they're used all the time: let..in...where, piping transforms (with the |> pipe operator or the . function composition), and of course, the do-notation which resembles imperative programming while being just syntax sugar for nested monadic operations.
A few years ago I checked out the most used wordpress plugin for social network buttons, it was 4, if not 8 I lost track, pages of imperative loops over god knows how many mutable globals and 3 level deep adhoc dicts.
That said, if your objection is because it's a lisp and lisps are unfamiliar, then that still remains.
Every time when I am trying to switch back from Clojure to Python, I expect to find a (maybe slightly more verbose) language with mature infrastructure, extensive documentation and tons of accumulated knowledge on StackOverflow and elsewhere. Every time, I find out that the dependency system is strange at best, there are still a lot of poorly documented libraries where the features I need have not yet made it into the release for several years.