{"id":208647,"date":"2025-04-27T11:44:35","date_gmt":"2025-04-27T11:44:35","guid":{"rendered":"https:\/\/peraltafinancing.com\/apple-2\/michael-tsai-blog-the-subjective-charms-of-objective-c\/"},"modified":"2025-04-27T11:44:35","modified_gmt":"2025-04-27T11:44:35","slug":"michael-tsai-blog-the-subjective-charms-of-objective-c","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=208647","title":{"rendered":"Michael Tsai &#8211; Blog &#8211; The Subjective Charms of Objective-C"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p><a href=\"https:\/\/www.wired.com\/story\/objective-c-programming-language-verbose\/\">Gabriel Nicholas<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.wired.com\/story\/objective-c-programming-language-verbose\/\">\n<p>To argue that Objective-C resembles a metaphysically divine language, or even a good language, is like saying Shakespeare is best appreciated in pig latin. Objective-C is, at best, polarizing. Ridiculed for its unrelenting verbosity and peculiar square brackets, it is used only for building Mac and iPhone apps and would have faded into obscurity in the early 1990s had it not been for an unlikely quirk of history. Nevertheless, in my time working as a software engineer in San Francisco in the early 2010s, I repeatedly found myself at dive bars in SoMa or in the comments of HackerNews defending its most cumbersome design choices.<\/p>\n<p>[\u2026]<\/p>\n<p>I saw how objects and messages take on a sentence-like structure, punctuated by square brackets, like <code>[self.timer increaseByNumberOfSeconds:60]<\/code>. These were not curt, Hemingwayesque sentences, but long, floral, Proustian ones, syntactically complex and evoking vivid imagery with function names like <code>scrollViewDidEndDragging:willDecelerate<\/code>.<\/p>\n<p>[\u2026]<\/p>\n<p>But the longer I spent writing Objective-C, the more I felt it hid rather than revealed. Long, sentence-like function names buried the most pertinent information under a fog of dependent clauses. Small features required long-winded pull requests, making it easy for engineers to get distracted during reviews and to miss bugs. Objective-C\u2019s excess words, multiplied across thousands of files and millions of lines of code, made for an exhausting codebase.<\/p>\n<\/blockquote>\n<p>I did not find this to be a problem, but neither am I really nostalgic for Objective-C, except when calling lower level C APIs and when recalling the fast compilation and small binaries.<\/p>\n<p><a href=\"https:\/\/shapeof.com\/archives\/2025\/4\/the_subjective_charms_of_objective-c.html\">Gus Mueller<\/a> (<a href=\"https:\/\/mastodon.social\/@ccgus\/114360289728929821\">Mastodon<\/a>):<\/p>\n<blockquote cite=\"https:\/\/shapeof.com\/archives\/2025\/4\/the_subjective_charms_of_objective-c.html\">\n<p>My own experience with Objective-C has been very different. I wonder if that\u2019s because I work as a solo developer, and the architecture of my apps has always been stable?<\/p>\n<p>[\u2026]<\/p>\n<p>To me, Objective-C has always felt expressive and capable, doubly so when I first started using it. After coding in Java for years I felt like I could fly.<\/p>\n<p>Swift is the thing now, and both Acorn and Retrobatch use it for parts. But Swift is a heavy and unsettled language, not to mention extremely slow to compile.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/www.manton.org\/2025\/04\/18\/gus-mueller-to-me-objectivec.html\">Manton Reece<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.manton.org\/2025\/04\/18\/gus-mueller-to-me-objectivec.html\">\n<p>After Swift became popular, I felt kind of guilty still using Objective-C so heavily, but I\u2019m over it. Micro.blog for Mac is all Objective-C. I did two new releases this week.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/mastodon.online\/@octothorpe\/114360320282809468\">CM Harrington<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.online\/@octothorpe\/114360320282809468\">\n<p>For real though, it seemed like ObjC and Apple\u2019s frameworks really caught lightning in a bottle. Swift has gains sure, but they\u2019re trades that place different burdens on the developer\u2026 ones personally I wouldn\u2019t take. But also, maybe because my brain is very SmallTalk oriented, I am indeed fighting Swifty ways, and not flowing, like I did back with ObjC.<\/p>\n<\/blockquote>\n<p>Previously:<\/p>\n<p class=\"tags\"><a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/history\/\">History<\/a> <a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/ios\/\">iOS<\/a> <a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/languagedesign\/\">Language Design<\/a> <a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/mac\/\">Mac<\/a> <a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/objective-c\/\">Objective-C<\/a> <a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/programming\/\">Programming<\/a> <a rel=\"tag\" href=\"https:\/\/mjtsai.com\/blog\/tag\/swift-programming-language\/\">Swift Programming Language<\/a><\/p>\n<h2><a id=\"respond\"><\/a><br \/>\n4 Comments<br \/>\n <\/h2>\n<hr class=\"com-hr\" \/>\n<hr class=\"com-hr\" \/>\n<hr class=\"com-hr\" \/>\n<hr class=\"com-hr\" \/>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Gabriel Nicholas: To argue that Objective-C resembles a metaphysically divine language, or even a good language, is like saying Shakespeare is best appreciated in pig latin. Objective-C is, at best, polarizing. Ridiculed for its unrelenting verbosity and peculiar square brackets, it is used only for building Mac and iPhone apps and would have faded into [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11768],"tags":[3767,2169,1823,79428,64160,17088],"dealstore":[],"offerexpiration":[],"class_list":["post-208647","post","type-post","status-publish","format-standard","hentry","category-apple-2","tag-blog","tag-charms","tag-michael","tag-objectivec","tag-subjective","tag-tsai"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Michael Tsai - Blog - The Subjective Charms of Objective-C - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=208647\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Michael Tsai - Blog - The Subjective Charms of Objective-C - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"Gabriel Nicholas: To argue that Objective-C resembles a metaphysically divine language, or even a good language, is like saying Shakespeare is best appreciated in pig latin. Objective-C is, at best, polarizing. Ridiculed for its unrelenting verbosity and peculiar square brackets, it is used only for building Mac and iPhone apps and would have faded into [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=208647\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-27T11:44:35+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=208647#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=208647\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Michael Tsai &#8211; Blog &#8211; The Subjective Charms of Objective-C\",\"datePublished\":\"2025-04-27T11:44:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=208647\"},\"wordCount\":464,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"keywords\":[\"Blog\",\"Charms\",\"Michael\",\"ObjectiveC\",\"Subjective\",\"Tsai\"],\"articleSection\":[\"Apple\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=208647#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=208647\",\"url\":\"https:\/\/fivemor.com\/?p=208647\",\"name\":\"Michael Tsai - Blog - The Subjective Charms of Objective-C - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"datePublished\":\"2025-04-27T11:44:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=208647#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=208647\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=208647#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Michael Tsai &#8211; Blog &#8211; The Subjective Charms of Objective-C\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Michael Tsai - Blog - The Subjective Charms of Objective-C - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=208647","og_locale":"en_US","og_type":"article","og_title":"Michael Tsai - Blog - The Subjective Charms of Objective-C - Som2ny Network","og_description":"Gabriel Nicholas: To argue that Objective-C resembles a metaphysically divine language, or even a good language, is like saying Shakespeare is best appreciated in pig latin. Objective-C is, at best, polarizing. Ridiculed for its unrelenting verbosity and peculiar square brackets, it is used only for building Mac and iPhone apps and would have faded into [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=208647","og_site_name":"Som2ny Network","article_published_time":"2025-04-27T11:44:35+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=208647#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=208647"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Michael Tsai &#8211; Blog &#8211; The Subjective Charms of Objective-C","datePublished":"2025-04-27T11:44:35+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=208647"},"wordCount":464,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"keywords":["Blog","Charms","Michael","ObjectiveC","Subjective","Tsai"],"articleSection":["Apple"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=208647#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=208647","url":"https:\/\/fivemor.com\/?p=208647","name":"Michael Tsai - Blog - The Subjective Charms of Objective-C - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"datePublished":"2025-04-27T11:44:35+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=208647#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=208647"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=208647#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Michael Tsai &#8211; Blog &#8211; The Subjective Charms of Objective-C"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/208647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=208647"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/208647\/revisions"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=208647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=208647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=208647"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=208647"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=208647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}