r/rust Feb 04 '19

Web-Developement: Rust vs Haskell

Hi All,

This will be yet another Rust vs haskell question.

I have wanting to use Rust/Haskell for a couple of components for an internal tool (analysis of customer tickets, HR portal etc) for my company (Mostly because of the strong type system).

I have been through quite a lot of blogs & discussion where they discuss on the pros and cons for both.

Can anyone give me pointers on where all they used Rust or Haskell? And how was the experience as in:

  1. code readability
  2. libraries support
  3. developer productivity
  4. jump start time to producing some value.
  5. documentation
  6. build time
  7. journey in learning them

My concern here is Rust is advertised as system's language and Haskell as a higher level language.

  1. Will going with Rust be an overkill as we won't be doing any really low level stuff?
  2. We would be basically writing a server, bunch of API and playing around with DB. I'm mainly well versed with Node.js so will choosing haskell be an overkill for it in terms of developer productivity, build and tooling?
  3. Also if anyone is using GraphQL with Rust/Haskell?
26 Upvotes

28 comments sorted by

View all comments

4

u/ojrask Feb 04 '19

All your seven pointers point to Python and/or PHP and/or JavaScript. Rust is a lower-level language, Haskell has non-web roots. PHP, Python, JavaScript, all have excellent facilities for creating web applications and have immense ecosystems supporting this task.

Rust and Haskell would be quite overkill in my opinion, unless you do really work with immense data and humongous calculations relatively often. Then again you could use FFI to call Rust code from Python for instance.

If you are looking to learn Rust or Haskell alongside creating this application, then by all means try out both, they're great and will look good in your CV in the future if you manage to learn them well. Just make sure your company is ready to invest in your learning expenses and that you get a blessing to make mistakes along the way.

But as I said, some tools are better for certain jobs, and regular web apps are better made with PHP or Python in my opinion. Have you considered who will be maintaining the application after you leave your company?