Hacker News new | ask | show | jobs
by gauravagarwalr 4038 days ago
We from TarkaLabs (tarkalabs.com) were able to build and deliver an app in a relatively short span of time which was very similar to one seen at http://www.tiki-toki.com/timeline/entry/137152/Tower-of-Lond....

I agree with the initial learning curve being a bit steep. But once you get the hang of it you tend to see similar concepts in React.js and Haskell (of course - Elm is inspired from Haskell) and a bunch of other places.

2 comments

This has been my experience as well. Learning basic Haskell (from cis194[0]) helped with Elm, however it took a while (about 3 days) before I began being productive at all. Too productive, in fact. Once the basic application is in place, implementing additional features have been laughably easy. For example, implementing the search feature[1][2] took surprisingly little effort.

[0]: https://github.com/bitemyapp/learnhaskell#yorgeys-cis194-cou... [1]: https://github.com/srid/chronicle/commit/4a6c18147bf1596b234... [2]: https://github.com/srid/chronicle/commit/fb040b9e3268d7d843e...

The other benefit is static typing with option types leading to nearly no runtime error! For example, when I did a substantial refactoring[a] of my code, aside from fixing type errors there were no runtimes errors when the new app was run. This is basically unthinkable when writing in plain JavaScript.

[a]: https://github.com/srid/chronicle/commit/f81d6d9c04e75fbd9e7...

Finally, large Elm programs benefit from componentization[x] of the model and related structures (actions, view, request, run). This is something I plan to blog about later on.

[x]: https://github.com/rtfeldman/dreamwriter/issues/39

I played with Elm a little as well. Right now is not the time to start learning it by the way, because there will be a new website with new tutorials up soon. The last release (0.15) introduced some major changes, so it's better to just wait for them to update the docs and tutorials.
Any estimations?

Edit: It is rather frustrating right now, since even the basic hello world examples didn't work anymore, because Text lost some functionality.