{"id":401,"date":"2006-10-14T13:01:34","date_gmt":"2006-10-14T21:01:34","guid":{"rendered":"http:\/\/boulter.com\/blog\/2006\/10\/14\/yet-another-programming-language\/"},"modified":"2006-10-14T13:01:34","modified_gmt":"2006-10-14T21:01:34","slug":"yet-another-programming-language","status":"publish","type":"post","link":"http:\/\/boulter.com\/blog\/2006\/10\/14\/yet-another-programming-language\/","title":{"rendered":"Yet Another Programming Language"},"content":{"rendered":"<p>The other day someone asked me if I had written anything Python. My response was a quick &#8220;no&#8221;. I&#8217;ve invested a lot of time in Perl and PHP (and to some extent Java) and I&#8217;d have to have a really good reason to learn Yet Another Programming Language. CPAN and Pear are rich API libraries and any newcomer would have to rebuild all that stuff and I&#8217;d have to learn it all over again. This also made me feel very old and curmudgeonly.<\/p>\n<p>This morning I came upon the <a href=\"http:\/\/www.joelonsoftware.com\/items\/2006\/10\/12.html\">latest Joel on Software article<\/a> reviewing the book <a href=\"http:\/\/www.amazon.com\/gp\/product\/0596100949?ie=UTF8&#038;tag=thescrabblera-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596100949\">Beyond Java<\/a>. The article directly answered my question about why Ruby or Python is better. The article got me curious, I went over to <a href=\"http:\/\/search.safaribooksonline.com\/home\">Safari Online<\/a> to see if they had it. They did and I started reading. In three or four hours I got through the whole thing, the first time I&#8217;ve read an entire book online.<br \/>\n<img decoding=\"async\" src=\"http:\/\/ec1.images-amazon.com\/images\/P\/0596100949.01._AA240_SCLZZZZZZZ_.jpg\" align=\"right\" \/><br \/>\nThe author might as well have titled the book, &#8220;Java, Schmava &#8211; Ruby&#8217;s Where it&#8217;s At&#8221; and I expect this marks the last book he&#8217;ll write concerning Java. The rest will be about <a href=\"http:\/\/ruby-lang.org\">Ruby<\/a>. The book confirmed my feelings that Java has gotten way complicated over the years &#8211; far beyond the simple servlets I used to write.<\/p>\n<p>That said, I was impressed with the introduction of Ruby and what it can do. Recently I&#8217;ve found that my willingness to build web apps is tempered by my dread of building get another form to edit data in a database. It&#8217;s tedious and boring. I wrote a framework in PHP that discovers database schemas and creates objects for me, eliminating the need to write SQL most of the time, but that only goes so far. Ruby on Rails seems to have solved the database abstraction problem and the web interface problem.<\/p>\n<p>Personally, I&#8217;d like to be able to settle on one programming language. Since every browser in the world supports JavaScript, it&#8217;s clear that language isn&#8217;t going anywhere, so it might as well be JavaScript. Unfortunately it hasn&#8217;t caught on in servers, despite support in IIS. It just drives me crazy keeping syntax straight while flipping back and forth between editors in Perl, PHP and JavaScript. <\/p>\n<p>I&#8217;ve got a little tool I&#8217;ve been putting off writing and this book helped convince me that I should write it in Ruby. We&#8217;ll see how it goes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The other day someone asked me if I had written anything Python. My response was a quick &#8220;no&#8221;. I&#8217;ve invested a lot of time in Perl and PHP (and to some extent Java) and I&#8217;d have to have a really good reason to learn Yet Another Programming Language. CPAN and Pear are rich API libraries &#8230;<\/p>\n<p><a href=\"http:\/\/boulter.com\/blog\/2006\/10\/14\/yet-another-programming-language\/\" class=\"more-link\">Continue reading &lsquo;Yet Another Programming Language&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-401","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/posts\/401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/comments?post=401"}],"version-history":[{"count":0,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/posts\/401\/revisions"}],"wp:attachment":[{"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/media?parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/categories?post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/boulter.com\/blog\/wp-json\/wp\/v2\/tags?post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}