4 ms·
I'd recommend just making yourself pick up a project, and run with it. Try not to over think it, and if you start to feel paralyzed, just say "fuck it, I'll do
by cstrahan 10y ago
I'd recommend just making yourself pick up a project, and run with it. Try not to over think it, and if you start to feel paralyzed, just say "fuck it, I'll do it the first, shittiest way that comes to mind."
As an example, the first "real" project I wrote in Haskell was one or two weeks into learning it: a web testing framework/DSL (a la Capybara[0]) that spoke a (custom) protocol over socket to a headless webkit instance[1].
Looking back, I abused stuff like type-classes and such, but then again, it was all a learning experience. I should probably be a little embarrassed about how I left the project, but in the interest of providing some inspiration, here it is in all its gory -- I mean, glory: https://github.com/cstrahan/happybara https://github.com/cstrahan/happybara
[0]: http://teamcapybara.github.io/capybara/ http://teamcapybara.github.io/capybara/
[1]: https://github.com/thoughtbot/capybara-webkit/tree/master/src https://github.com/thoughtbot/capybara-webkit/tree/master/sr...
- laumars 10y agoI completely agree with the "write shit code" approach. That's how I learn any new language. As long as you adopt an attitude where you are aware that you're writing bad code and are willing to adapt and learn better processes as you progress, then it's the quickest way to getting proficient. Much like that immersion technique of learning a foreign language by moving to another language.
- problems 10y agoYeah, the key is to start out writing shit code, but to skim over and get a feel for when you might use the more advanced concepts so that when the time comes that you think you might be able to apply something you know what to look for quickly.
- jcadam 10y ago> I'd recommend just making yourself pick up a project, and run with it. Try not to over think it, and if you start to feel paralyzed, just say "fuck it, I'll do it the first, shittiest way that comes to mind." I tried that. When I got stuck (fairly early on), I ended up switching my project from Haskell to Clojure :/
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]