Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I am currently reading Real-World Ocaml and I am really learning more about functional programming, though I was already familiar with a few things.

Looks to me like you can build amazingly robust pieces of software with functional programming.

However, I am divided.

I have a backend that works in NiceGUI for a product. It does the job. The code is reasonable and MVVM. The most important task it does is connecting to a websocket per customer and consume data to present some analytics.

I will not have a great deal of customers, maybe in the tens or maximum hundreds visiting the website.

I also want REPL and/or hot reload, but I am aware that as I grow features (users admin panels, more analytics, etc) maybe functional programming can do a good job transforming data pipelines.

But Haskell or Ocaml are static. I guess if I want something later that grows and scales and is still dynamic Clojure or Elixir should be a good choice. But at the same time I am afraid that if at some point I need to refactor, things will go wrong.

Currently I use Python with Mypy. All is written in the backend: the frontend is generated by NiceGUI from the backend.



Not sure about Ocaml but with Haskell you can use ghci/`cabal repl` and get blazing fast reload of a web app as you develop. Tbh a lot of haskellers don't take advantage of this IMO.


Ocaml seems to have a REPL as well, not sure how it works outside of Emacs (in Emacs with utop looks good what I am trying).

Haskell is so so correct that it tends to get a bit on the way and you tend to encode everything in the type system. This is a blessing for correctness and a curse for other stuff (tracing, debugging, adding side-effects).

This is the reason why I am looking at Ocaml instead of Haskell: not so pure, more pragmatic and supports imperative programming well.

As I said, it is double-edged.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: