{"id":557,"date":"2007-12-25T22:34:51","date_gmt":"2007-12-26T03:34:51","guid":{"rendered":"http:\/\/www.toomik.net\/helen\/wordpress\/?p=557"},"modified":"2007-12-25T22:34:51","modified_gmt":"2007-12-26T03:34:51","slug":"ruby","status":"publish","type":"post","link":"https:\/\/www.toomik.net\/helen\/blog\/2007\/12\/25\/ruby\/","title":{"rendered":"Ruby"},"content":{"rendered":"<p>\nLess than a week of vacation and already my fingers were twitching and wanting to code. I&rsquo;ve wanted to learn a new language for a while, so I started playing with <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ruby-language\">Ruby<\/a>.\n<\/p>\n<p>\nIt&rsquo;s been a bit of a struggle since many fundamentals work quite differently from what I&rsquo;m used to in the .NET world. I have to look up just about everything: how to declare a class or a method or an attribute or a variable, how to refer to code in other files, how to call methods, how to raise exceptions&#8230; It doesn&rsquo;t help that most things have at least two syntax options: methods can be called with or without parentheses, blocks defined with do&#8230;end or with brackets.\n<\/p>\n<p>\nNevertheless exploring the language is fun. It&rsquo;s a welcoming language, easy to get started with &ndash; you just write code and run it. No messing with classpaths (that&rsquo;s all done for you) or solutions or projects or compiling (not necessary at all). In fact there&rsquo;s even a <a href=\"http:\/\/tryruby.hobix.com\/\">web tutorial named Try Ruby!<\/a> that includes an online interactive interpreter, just type and see things happen. There are also a lot of tutorials, docs and example code available on the web. (I started with <a href=\"http:\/\/rubylearning.com\/satishtalim\/tutorial.html\">the tutorial at RubyLearning<\/a>.)\n<\/p>\n<p>\nIn fact getting started with Ruby was so easy that my biggest hurdle thus far was finding a project to write. All the applications that I really need I have either written or bought already. The few things that I want to build at some point are either too large for these few weeks I have, or too Windows-specific \/ GUI-heavy, so I would spend more time struggling with the implementation specifics than learning the language. In the end I decided to rewrite a tool I already have, a small backup utility that I wrote in VB.NET almost two years ago.\n<\/p>\n<p>\nDifferent languages encourage different things, from the moment you first meet them. The .NET version of my backup utility has a GUI because Visual Studio makes GUI-building very easy and almost encourages you to start from the GUI and work backwards from there. Ruby doesn&rsquo;t do that, so this will probably a command line app only. Ruby, on the other hand, encourages unit tests &ndash; a unit test framework comes bundled with the standard installation &ndash; so this version will probably be much better tested than the .NET one.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Less than a week of vacation and already my fingers were twitching and wanting to code. I&rsquo;ve wanted to learn a new language for a while, so I started playing with Ruby. It&rsquo;s been a bit of a struggle since many fundamentals work quite differently from what I&rsquo;m used to in the .NET world. I [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-557","post","type-post","status-publish","format-standard","hentry","category-geeky_things"],"_links":{"self":[{"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/posts\/557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/comments?post=557"}],"version-history":[{"count":0,"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/posts\/557\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/media?parent=557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/categories?post=557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.toomik.net\/helen\/blog\/wp-json\/wp\/v2\/tags?post=557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}