4 ms·
I moved directly from Python to OCaml and I have to say, I’ve never been happier. Special shout outs to Jane Street, as their open source software is really sol
by laylomo2 8y ago
I moved directly from Python to OCaml and I have to say, I’ve never been happier. Special shout outs to Jane Street, as their open source software is really solid and a pleasure to use. The community is small but really smart. Overall I think F# and OCaml really nailed the programming language design sweet spot of powerful and practical.
- grdvnl 8y agoCan you eloborate on what kind of projects you work on which has made the move easy from Python to OCaml. While I love OCaml I have not heard positive things about the library eco-system in terms of variety and maintenance. Perhaps, you could throw some light on that based on your experience, especially after giving up the eco-system Python provides you. This is a sincere question and would love to find good excuses to adopt OCaml as my primary language of choice.
- ernst_klim 8y ago>I have not heard positive things about the library eco-system OCaml has quite a neat ecosystem, though. Especially in terms of quality. There are a few major and a bulk of minor groups that write libraries for different purposes, such as: * MirageOS -- people behind a bunch of a high quality system libraries, there are tls (in pure ocaml) and various cryptography primitives, filesystem drivers, tar, zlib, full tcpip stack, http server, git (in pure ocaml, not a mere binding), irmin (a git-based key-store database with concurrent access), dns and some other [1]. * Ocsigen -- webdevs, authors of Lwt (monadic concurrency library), js_of_ocaml (ocaml to js compiler) and related stuff [2] * Jane Street, Facebook, blumberg -- reason syntax, bucklescript (alternative npm-ecosystem-frienly javascript compiler), various libraries for serialization, containers etc. * Others Opam [3] has quite a comprehensive set of libraries pretty for every purpose: data serialization, interaction with other langs (python, R, beam Erlang/Elixir), servers, db bindings, stuff for system or web programming. Some stuff is absent, but it's definitely not a scorched field, and most of the time the benefits worth writing an absent binding or two. [1] https://github.com/mirage https://github.com/mirage [2] https://github.com/ocsigen https://github.com/ocsigen [3] https://opam.ocaml.org/packages/index-popularity.html https://opam.ocaml.org/packages/index-popularity.html