{"id":1438,"date":"2014-03-04T10:06:05","date_gmt":"2014-03-04T16:06:05","guid":{"rendered":"http:\/\/www.mooreds.com\/wordpress\/?p=1438"},"modified":"2014-03-04T06:15:52","modified_gmt":"2014-03-04T12:15:52","slug":"what-a-pleasurable-way-to-learn-a-language","status":"publish","type":"post","link":"https:\/\/www.mooreds.com\/wordpress\/archives\/1438","title":{"rendered":"What a pleasurable way to learn a language!"},"content":{"rendered":"<p><a href=\"http:\/\/rubykoans.com\/\">This site<\/a> was recommended to me, and I have to say, it is a fun way to become more familiar with the syntax of a language.  There&#8217;s the journey aspect:<\/p>\n<pre>\r\nthings are not what they appear to be: nor are they otherwise\r\nyour path thus far [...X______________________________________________] 19\/280\r\n<\/pre>\n<p>and the fact that when you see something you want to investigate further, you just write another unit test:<\/p>\n<pre>\r\n  def test_slicing_arrays\r\n    array = [:peanut, :butter, :and, :jelly]\r\n\r\n    assert_equal [:peanut], array[0,1]\r\n    assert_equal [:peanut,:butter], array[0,2]\r\n    assert_equal [:and,:jelly], array[2,2]\r\n    assert_equal [:and,:jelly], array[2,20]\r\n    assert_equal [], array[4,0]\r\n    assert_equal [], array[3,0] # my addition\r\n    assert_equal [], array[4,100]\r\n    assert_equal nil, array[5,0]\r\n  end\r\n<\/pre>\n<p>Now, running through these koans certainly isn&#8217;t going to make me a Ruby expert, but I will have passing familiarity with the language and be ready to use it on my next small project.<\/p>\n<p>Apparently I&#8217;ve been living under a rock, because there appear to be koans projects for quite a few languages: <a href=\"https:\/\/github.com\/matyb\/java-koans\">java<\/a>, <a href=\"https:\/\/github.com\/HaskVan\/HaskellKoans\">haskell<\/a>, <a href=\"https:\/\/github.com\/patrickgombert\/erlang-koans\">erlang<\/a> (cue whatsapp reference), and even <a href=\"https:\/\/github.com\/marcinbunsch\/bash_koans\">bash<\/a>.  I was, however, unable to find a koans package for assembler.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This site was recommended to me, and I have to say, it is a fun way to become more familiar with the syntax of a language. There&#8217;s the journey aspect: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,59,58,37],"tags":[],"class_list":["post-1438","post","type-post","status-publish","format-standard","hentry","category-dynamic-languages","category-lifehack","category-testing","category-tips"],"_links":{"self":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts\/1438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1438"}],"version-history":[{"count":2,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts\/1438\/revisions"}],"predecessor-version":[{"id":1440,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/posts\/1438\/revisions\/1440"}],"wp:attachment":[{"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mooreds.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}