4 ms·
Unfortunately I think it is hard to take a "Haskell is the best" article seriously with no comparison to Clojure or Ocaml. Personally I am skeptical that typecl
by bgorman 7y ago
Unfortunately I think it is hard to take a "Haskell is the best" article seriously with no comparison to Clojure or Ocaml. Personally I am skeptical that typeclasses + an expressive type system bring more benefits than i simple parallelism, an easy to use macro system and atoms/STM for state management. It can take programmers months to be productive in Haskell. It should only take a few days to be productive in Clojure. I think the cognitive overhead of having to deal with ADTs/Monads is too easily dismissed/disregarded.
- philzook 7y agoMy accounting of languages was not thorough. I picked very common languages and Haskell. I am also not sufficiently familiar with clojure to form judgement. I am skeptical that a language without a type system will scale in mental and project complexity well, but it might. Lisps intrigue me very much, and any language with passionate proponents is worth looking at. I am currently trying to learn OCaml and find it very nice. I think it may be more pragmatic than Haskell in many respects. Strictness is easier, grabbing mutation and side effects is easier (is it gonna hurt me later though?). I am concerned that the community feels smaller and learning resources are scarcer. I don't love the syntax (a quibble). I think it leads to less power of abstraction, either as a community aesthetic or perhaps as a language constraint. I would be perfectly content if my friends accepted OCaml. Perhaps I will change my mind and then you will find an article labelled "I (as of X) think OCaml is the best general purpose programming language" on my blog. Haskell is indeed hard.
- AdeptusAquinas 7y agoYou should have a go at F#. OCaml-like syntax, strong type system, and like Clojure sits in a large reusable ecosystem (in this case .net). Cross platform in dotnet core too.
- philzook 7y agoI have lived my life entirely outside of the .NET and Windows ecosystem, not really eager to go into it. Godspeed F# though!
- deleted 7y ago[deleted]
- AdeptusAquinas 7y agoWell, its not windows anymore since dotnet core, but fair enough :)
- rkangel 7y agoI'm interested you think the Haskell community is bigger than the OCaml one. Without checking any sources, I would have assumed the OCaml has a larger community of people using it in production for a variety of things, and therefore would have have the libraries etc. for me to build my thing. I suppose this is my bias - the only community I care about is the engineering side as supposed to my academic side. Also look at ReasonML (and bucklescript). I have tinkered with it for Web front end and been very impressed.
- philzook 7y agoI haven't figured out where on the internet OCaml people live. Maybe they have better things to do with their lives than proselytizing. There is very clear bias in my opinions and information. Jane Street is a very prominent industrial user for which I can't really think of a Haskell equivalent of that company size. ReasonML is a nicer syntax. Kind of seemed like if you wanna do ReasonML you need to know both OCaml and ReasonML though on a cursory glance.
- bgorman 7y agoIn my opinion the worst thing about the Ocaml/ReasonML platform is that discovery of language features/syntax/functions is needlessly difficult. There is no Hoogle equivalent for OCaml. Module functors are powerful, but the type system is very strict so it can be frustrating trying to express what you want. There are some techniques that are rarely covered by books and are almost impossible to google for. By contract, I think Haskell's typeclasses gives useful guard-rails to composing "complicated" logic. Overall, as someone who has been programming full-time in ReasonML for 9 months now, there are too many times places where I still feel like a "prisoner" of the type system for me to advocate for it over Clojure. I need to do more projects with Haskell, I am hopeful the built in typeclasses can reduce the time I am "stuck".
- ernst_klim 7y ago>I haven't figured out where on the internet OCaml people live. https://discuss.ocaml.org/ https://discuss.ocaml.org/ As well as #ocaml on freenode and r/ocaml on reddit.
- crimsonalucard 7y agoYour skeptical because you haven't used both in a meaningful way. Your conclusion is biased because it's based off of heavy usage of one paradigm. To become unbiased to truly know or hate a language you must become proficient in it. For what you say to have truly any validity you must use Haskell and an untyped functional language.
- philzook 7y agoI agree.