DEV Community

Discussion on: Build your first Harberger Tax App

Collapse
 
jasoons profile image
Jason Smythe

It is my favourite language at the moment.

The guarantees it gives you about the safety of your code are simply superior to typescript. The whole of the wildcards ui and quite a few backend services are written in Reason. It is has made the code easy to refactor while we working with the new technology.

The compiler(transpiler) is extremely fast, the type system is sound (see #3 in 'non-goals' of typescript), the interop via bucklescript with javascript is very expressive (although does have a learning curve), you can also progressively integrate (or convert) an existing javascript/typescript codebase into reason (although typescript is better as this) - gentype for example helps a lot.

There is also very exciting new work (very early) on cross compiling reason to native (mac,linux,windows,android, etc) and javascript/web. You can see the revery framework and an example application using it onivim2.

Another example I'll highlight is the tooling for graphql in reason being absolutely first class. eg: github.com/reasonml-community/grap...

The main thing, for me is that my code never feels like it is 'legacy' even if I haven't looked at or touched it for half a year or more. I don't get that feeling with any other language (well elm was good too - its inferior interop with javascript was my issue).

That said, you definitely need to have a very good understanding of javascript before trying to write javacript applications using reason. Also learning Reason like learning any new language, there is a learning curve!

Collapse
 
jasoons profile image
Jason Smythe

tldr, I recommend giving it a try. You'll learn a lot even if you don't find it suitable for you project

Thread Thread
 
rhlsthrm profile image
Rahul Sethuram

Thanks for the great writeup! I'll definitely give it a shot.