{"id":2256,"date":"2011-11-07T02:31:52","date_gmt":"2011-11-07T06:31:52","guid":{"rendered":"http:\/\/www.red-sweater.com\/blog\/?p=2256"},"modified":"2013-06-06T09:29:52","modified_gmt":"2013-06-06T13:29:52","slug":"objective-c-is-the-language","status":"publish","type":"post","link":"https:\/\/redsweater.com\/blog\/2256\/objective-c-is-the-language","title":{"rendered":"Objective-C Is The Language"},"content":{"rendered":"<p>My good friend Brent Simmons invokes a historical email from Linus Torvalds, about his disdain for C++<\/p>\n<blockquote>\n<p>C++ is a horrible language. It&#8217;s made more horrible by the fact that a lot of substandard programmers use it, to the point where it&#8217;s much much easier to generate total and utter crap with it.<\/p>\n<\/blockquote>\n<p>Brent <a href=\"http:\/\/inessential.com\/2011\/11\/06\/linus_on_c_\">affirms his support<\/a> while paying homage to plain-old C:<\/p>\n<blockquote>\n<p>But I will admit to an enduring love of C. I still think of C not as C but as\u00a0<em>the language<\/em>.<\/p>\n<\/blockquote>\n<p>I loved C. Emphasis on the past-tense. As object-oriented programming concepts became popular, those of us who were programming in C or similar procedural languages had to find new, object-oriented languages to fulfill our needs. At the time, I chose C++. Or I should say, I had C++ forced upon me. Because C++ popularized the notion of object-oriented programming, it was the only choice presented to many programmers.<\/p>\n<p>Because I ended up at Apple, the time I spent with C++ was thankfully short. They were fortuitously behind the times at the dawn of my career, and wound up taking a different path while my career was ascending.<\/p>\n<p>Objective-C was Apple&#8217;s response to object-oriented programming, and continues to be the lingua-franca for programmers on Macs, iPhones and iPads. I loved C. I love C. But it always fell short for me. It lacked something. Objective-C fixed that.\u00a0I hope I never have to program in C++ again. But tellingly, I also hope I never have to program in C again.<\/p>\n<p>There are lots of great features from Python, Ruby, or JavaScript, that I&#8217;d love to see incorporated into Objective-C. By no means is it perfect. But for its elegance, and for the fact that it fulfills many of the requirements of object-oriented programming, while maintaining the familiar simplicity of C, it presently earns the title of <em>the language<\/em> for me.<\/p>\n<p>[<strong>Update Nov 7<\/strong>: I&#8217;ve had a lot of reaction to my claim above that Objective-C was &#8220;Apple&#8217;s response to object-oriented programming.&#8221; This makes it sound like Apple invented the language, and they didn&#8217;t. But they have done more to popularize and promote it than anybody else. I stand by the meaning of it being &#8220;what they bring to the table,&#8221; when it comes to object-oriented programming].<\/p>\n<p><strong>Translation:<\/strong> Thanks to Anja Skrba, you can now <a href=\"http:\/\/science.webhostinggeeks.com\/objective-c\">read this article in Serbo-Croatian<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My good friend Brent Simmons invokes a historical email from Linus Torvalds, about his disdain for C++ C++ is a horrible language. It&#8217;s made more horrible by the fact that a lot of substandard programmers use it, to the point where it&#8217;s much much easier to generate total and utter crap with it. Brent affirms [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-2256","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/2256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/comments?post=2256"}],"version-history":[{"count":10,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/2256\/revisions"}],"predecessor-version":[{"id":2880,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/2256\/revisions\/2880"}],"wp:attachment":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/media?parent=2256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/categories?post=2256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/tags?post=2256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}