{"id":17211,"date":"2017-02-15T14:20:14","date_gmt":"2017-02-15T19:20:14","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=17211"},"modified":"2018-02-21T21:43:11","modified_gmt":"2018-02-22T02:43:11","slug":"swift-and-objective-c-forever","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2017\/02\/15\/swift-and-objective-c-forever\/","title":{"rendered":"Swift and Objective-C Forever?"},"content":{"rendered":"<p><a href=\"http:\/\/lapcatsoftware.com\/articles\/whither-swift.html\">Jeff Johnson<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=13655125\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"http:\/\/lapcatsoftware.com\/articles\/whither-swift.html\">\n<p>When Swift became public in 2014, its creator Chris Lattner seemed to claim that Swift and Objective-C would coexist indefinitely.<\/p>\n<p>[&#8230;]<\/p>\n<p>The problem is that nobody believes this. And of course Lattner has now left Apple, so he won&rsquo;t be there to take the criticism is his claim turns out to be false. The consensus among developers is that Apple will eventually deprecate Objective-C, and Swift will become the sole first class language for Cocoa app development.<\/p>\n<p>[&#8230;]<\/p>\n<p>You only have to review the history of Apple developer relations to see the long string of deprecations, disappointments, suffering, and broken promises. Objective-C garbage collection, 64-bit Carbon, the Cocoa-Java bridge, Yellow Box for Windows, Dylan. Need I go on? I could go on. Apple evangelists will tell you that Swift is the best programming language ever and then turn around and tell you that we&rsquo;ve always been at war with Swift.<\/p>\n<p>[&#8230;]<\/p>\n<p>The people who think Apple will deprecate Objective-C, how do they think Apple can handle it? Some people suggest that Apple will deprecate Objective-C externally, but they will continue Objective-C development internally and indefinitely. However, I think these people underestimate the problem. Given the amount of Objective-C code Apple has, and the constraints they&rsquo;re working under, taking the slow road internally to a Swift future would be a very slow road indeed.<\/p>\n<\/blockquote>\n<p>I don&rsquo;t see Apple dropping Swift. The technology seems to be <a href=\"https:\/\/twitter.com\/mjtsai\/statuses\/831309804538826752\">sound<\/a>, and Apple has really put its reputation on the line in a way that it didn&rsquo;t with the other canceled projects. Plus, unlike those, Swift already has massive adoption outside of Apple.<\/p>\n<p>That said, I expect that Objective-C, while not being deprecated, will decline in popularity the same way that Carbon&mdash;also officially a first-class coexister&mdash;did. I don&rsquo;t think that Apple will maintain sample code parity for much longer.<\/p>\n<p>Johnson is right that there are many open questions about how Apple will manage this transition&mdash;if that&rsquo;s what it is&mdash;both internally and externally. It will affect the OS itself, Apple&rsquo;s apps, the public APIs, and Apple&rsquo;s own staffing. It&rsquo;s got to be difficult for Apple to hire and retain WebObjects programers for its internal services, and it could face similar issues, to a lesser extent, if developers continue to switch to Swift.<\/p>","protected":false},"excerpt":{"rendered":"<p>Jeff Johnson (Hacker News): When Swift became public in 2014, its creator Chris Lattner seemed to claim that Swift and Objective-C would coexist indefinitely. [&#8230;] The problem is that nobody believes this. And of course Lattner has now left Apple, so he won&rsquo;t be there to take the criticism is his claim turns out to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[38,69,296,937,31,30,54,71,901],"class_list":["post-17211","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple","tag-cocoa","tag-dylan","tag-hiring","tag-ios","tag-mac","tag-objective-c","tag-programming","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/17211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=17211"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/17211\/revisions"}],"predecessor-version":[{"id":17224,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/17211\/revisions\/17224"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=17211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=17211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=17211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}