{"id":1616,"date":"2007-06-18T11:54:58","date_gmt":"2007-06-18T14:54:58","guid":{"rendered":"http:\/\/brockerhoff.net\/bb\/viewtopic.php?p=2152"},"modified":"2010-05-08T17:41:04","modified_gmt":"2010-05-08T20:41:04","slug":"re-the-64-bit-sky-is-falling","status":"publish","type":"post","link":"https:\/\/brockerhoff.net\/blog\/2007\/06\/18\/re-the-64-bit-sky-is-falling\/","title":{"rendered":"Re: The 64-bit sky is falling!"},"content":{"rendered":"<p>OK, here&#8217;s what I wrote a few days ago, regarding the Mac OS X transition to Intel:<br \/>\n<strong>Rainer Brockerhoff wrote:<\/strong><\/p>\n<blockquote><p>&#8230;Most Cocoa developers that didn&#8217;t call Carbon frameworks to any great extent, or that didn&#8217;t have to deal with complex binary files, were able to recompile their apps into the Universal (&#8220;fat binary&#8221;) format in a few hours or days. In contrast, most developers of Carbon apps of any complexity faced months or years of conversion.<\/p><\/blockquote>\n<p>I invited comments on Apple&#8217;s <a href=\"http:\/\/lists.apple.com\/archives\/Carbon-dev\/\/2007\/Jun\/index.html\">carbon-dev<\/a> mailing list, and some people objected to the paragraph quoted above. In particular, Apple engineer Eric Albert <a href=\"http:\/\/lists.apple.com\/archives\/Carbon-dev\/\/2007\/Jun\/msg00680.html\">wrote<\/a>:<\/p>\n<blockquote><p>I&#8217;d probably moved more Mac OS X code to Intel than anyone else before the announcement &#8212; some of the iApps and a bunch of other apps, plus a ton of work in the OS &#8212; and of the code I&#8217;d worked on, the Cocoa apps happened to take more work than the Carbon ones.  That was really nothing more than coincidence because the Carbon apps I was working on dealt with structured data better than the Cocoa ones, but there&#8217;s nothing inherently more complex about the Intel transition for Carbon than there is for Cocoa.  Mathematica, which is most assuredly a complex Carbon app, took four hours to get up and running on Intel, faster than any other app I&#8217;ve seen.<\/p>\n<p>The primary reason for some Carbon apps taking a long time to move to Intel was that they weren&#8217;t using Mach-O or Xcode at the time the transition was announced and both were required for Intel support.<\/p>\n<p>Carbon apps already using Mach-O and Xcode came over to Intel fairly easily.<\/p><\/blockquote>\n<p>Well, that&#8217;s quite definite; I was wrong there. I was wondering why, though, and here&#8217;s what I found: the <a href=\"http:\/\/www.geekculture.com\/joyoftech\/joyarchives\/772.html\">RDF<\/a> is to blame&#8230; <img decoding=\"async\" src=\"\/blog\/wp-includes\/images\/smilies\/icon_wink.gif\" border=\"0\" alt=\"icon_wink.gif\" \/><\/p>\n<p>Here&#8217;s <a href=\"http:\/\/news.com.com\/Apples+Intel+switch+Jobs+keynote+transcript+-+page+3\/2100-1047_3-5748045-3.html?tag=st.num\">what Steve Jobs said<\/a> at the WWDC 2005 keynote, where I was physically present, and quite near the front too:<\/p>\n<blockquote><p>So, let&#8217;s take a look at this again: Widgets, Scripts and Java just work. Cocoa apps, literally a few days and your Cocoa app&#8217;s going to be running with an Intel version. Carbon apps, it&#8217;s to be a few weeks, a few more tweaks, although there are exceptions to that although we maybe overstating it here, which we&#8217;ll see in a minute. And and in Metrowerks we don&#8217;t know, you&#8217;ve got to get to Xcode. So the key here is getting to Xcode.<\/p><\/blockquote>\n<p>And I distinctly remember the same point being made later in the reserved &#8220;state of the union&#8221; sessions: click a checkbox in Xcode, &#8220;boom&#8221; for Cocoa&#8230; not that easy with Carbon.<\/p>\n<p>There it is then. I don&#8217;t have any Carbon apps myself, and didn&#8217;t have to migrate anything from Metrowerks CodeWarrior either, so I thought Carbon was to blame for stuff like the Adobe Photoshop delay. I&#8217;ll update my original post below; thanks to everybody who sent in comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OK, here&#8217;s what I wrote a few days ago, regarding the Mac OS X transition to Intel: Rainer Brockerhoff wrote: &#8230;Most Cocoa developers that didn&#8217;t call Carbon frameworks to any great extent, or that didn&#8217;t have to deal with complex binary files, were able to recompile their apps into the Universal (&#8220;fat binary&#8221;) format in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,19],"tags":[26,23,21,22],"class_list":["post-1616","post","type-post","status-publish","format-standard","hentry","category-dev","category-software","tag-cocoa","tag-mac","tag-wwdc","tag-xcode"],"featured_image_src":null,"author_info":{"display_name":"Rainer Brockerhoff","author_link":"https:\/\/brockerhoff.net\/blog\/author\/rbrockerhoff\/"},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1q3Zc-q4","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts\/1616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/comments?post=1616"}],"version-history":[{"count":0,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/posts\/1616\/revisions"}],"wp:attachment":[{"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/media?parent=1616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/categories?post=1616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brockerhoff.net\/blog\/wp-json\/wp\/v2\/tags?post=1616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}