yellow-dog4741735dThis is coming from someone who uses mentioned languages professionally: fp is only viable as the smallest building block. Scala has akka, because having an own implementation functors is simply not doable in large scale environments. Ocaml has objects because its really cool to a|>b|>c everything, but after going upwards from functions, your codebase becomes an unmaintainable mess.
aggelalex65535dSimply because it's tried and tested. What do you suggest instead of curly braces?
SomeNone69535dIndentation works, in my experience. I was apprehensive about it at first, it's a bit of an acquired taste, but it works well.
yellow-dog4741735dNo, thats not what modules are for, they are for separation of concerns
mr-user53735dI may be wrong but the reason almost every language look like Java is because Java is popular. Java become popular since it solve one of the problem of it times (there are different platform and how to make our program at those different platform) Java solve the problem with JVM. JVM is the most important feature of that time.
Since everyone use Java other language at that time try to market it to developer like "Hey try our new language.It's just like Java."
I agree that FP have make our problem simpler but it is not the tool for every problem.For every in graphic intense problem such as photo editing tool , it's not a good idea to copy the entire matrix just because single pixel change.
AleCx042205435dI would say that FP turns to the same level of mess that people can have in other paradigms. Whereas in C like languages, and I am speaking mostly from a Java/C# point of view, your mess involves a complicated hierarchy of design patterns, these are easily distinguishable from people wanting to be cute with FP. Now, don't get me wrong, I love F# and what little I know about Scala, and I am here one of the biggest fans of Clojure and have used it at work to write a small utility. But something that made complete sense to me in Clojure did not made sense to other people, even if I tried to make it as idiomatic as possible. FP composition can be just as complex if not more than complex oop hierarchies, but at least in my point of view it is easier to discern separation of concerns with standard curly bracketed oop languages.
A good mix of both in which there is damn near no syntax and good spacing considerations exist? for me it is Smalltalk, I wonder what you would think about Pharo.