Why Elm is better for business

Elm breaks less

JavaScript has thousands of ways to create runtime exceptions. These are costly to maintain and get far worse as time goes on. Almost every time exceptions causes the application to misbehave. Causes things to not load or a button to do nothing, perhaps even deletes the users content they worked so hard to create. It just makes things feel crappy and cheep. When it happens more than a few times it's hard not to wonder if anyone cares at all about the product.

Elm has effectively no runtime exceptions. No red ink has had it in production for years now and literally never experienced it. This is good for business.

Elm shows all the edge cases.

What is an edge-case? Basically situations that happen less often that the programmer could easily forget. For instance when the Internet isn't connected so your http request fails, or when the user tries to push the back button in a place you didn't expect, or puts letters in a phone number field, or loading states, when the user goes to a place they shouldn't have permission to view. The list goes on.

Because Elm has no cop-out of runtime exceptions it forces the programmer to have to handle those edge-cases. While it's true that it doesn't make them handle them well at least you know you had to think about it.

One beautiful thing about Elm is option types. These basically let your enforce people using your code to think about the different situations that can happen.

This is beneficial both when people write new code or when the number of edge-cases change. In the latter situation all you would have to do is add one line of code then the the compiler would tell you all the places you need to change. Literally.

Elm attracts good developers

There's benefits to being one of the only companies that have discovered a Programming language that thousands of developers want desperately to work in, but can't.

Not only that but it grantees that the developers know how to