How apple could keep both PowerPC and X86

Posted:
in Future Apple Hardware edited January 2014
Apple could always change the way programs are compiled in Xcode and instead of compiling to machine code compile to a middle language which is then executed using a interpreter on either platform.

They would need to develop a way of doing this without the source code being made avaliable to please developers.





Jonathan

Comments

  • Reply 1 of 7
    thttht Posts: 5,451member
    Quote:

    Originally posted by cdoverlaw

    Apple could always change the way programs are compiled in Xcode and instead of compiling to machine code compile to a middle language which is then executed using a interpreter on either platform.



    They would need to develop a way of doing this without the source code being made avaliable to please developers.




    Cocoa applications will be a simple recompile plus architecture specific optimizations. For most Cocoa apps, it's just a recompile.



    Carbon applications will need quite a bit of work. The vast majority of [important] applications are Carbon applications and will require many man-months of work.



    The problem with the Mac OS application ecosystem is that no major developers (Adobe, MS) will ground-up rewrite their Carbon (read as old Mac OS 9 application) applications with a new development environment. Apple will have to support Carbon application development for x86 if they want Mac OS X/x86 to be successful.



    So, if Macs go Intel Inside, a Carbon/x86 developer environment is a requirement for virtually, hopefully near-zero effort ports and a Carbon/PPC emulation environment is a requirement to run PPC apps on Intel. Developers of big applications will not rewrite or even write major applications on any new developer environment, no matter how good it is.



    Now if you are talking Internet, web applications, that's different.
  • Reply 2 of 7
    rolandgrolandg Posts: 632member
    Quote:

    Originally posted by cdoverlaw

    Apple could always change the way programs are compiled in Xcode and instead of compiling to machine code compile to a middle language which is then executed using a interpreter on either platform.

    They would need to develop a way of doing this without the source code being made avaliable to please developers.





    Jonathan




    All the CoreStuff and the other Frameworks (Cocoa, Carbon) represents the "middle language" you are thinking about. It abstracts from the specifics of the hardware platform and provides an unified interface to the programmer.



    The only software that still needs to be hardware specific are hardware drivers that interface between the hardware and the middleware and the core OS itself.
  • Reply 3 of 7
    junkyard dawgjunkyard dawg Posts: 2,801member
    So how well would something like Photoshop run on MacIntel? We'd be comparing Photoshop for Windows, written from the ground up for x86, and MacIntel Photoshop, written for Mac OS PPC, converted to OS X PPC, and then converted again to OS X x86. It seems like the MacIntel Photoshop would lack many of the optimizations in the Windows Photoshop, and so on a Mac Photoshop would be dog-slow, even using the same CPU as the Windows version. So Macs could get a reputation for being slow even using the same damn hardware as Wintels!



    This seems like a dangerous game for Apple to play.
  • Reply 4 of 7
    rolandgrolandg Posts: 632member
    Quote:

    Originally posted by Junkyard Dawg

    So how well would something like Photoshop run on MacIntel? We'd be comparing Photoshop for Windows, written from the ground up for x86, and MacIntel Photoshop, written for Mac OS PPC, converted to OS X PPC, and then converted again to OS X x86. It seems like the MacIntel Photoshop would lack many of the optimizations in the Windows Photoshop, and so on a Mac Photoshop would be dog-slow, even using the same CPU as the Windows version. So Macs could get a reputation for being slow even using the same damn hardware as Wintels!



    This seems like a dangerous game for Apple to play.




    I would hope that if Apple does indeed switch (and the rumors point to a slow, gradual switch within a two-year timeframe) the frameworks will be highly optimized for any platform used.



    When both OSs run on the same hardware there one has to consider how well the OS and its respective frameworks are optimized. Thus, a Carbon PhotoShop running on OS X on Intel hardware might be faster than a .NET PhotoShop on Windows on the same hardware.
  • Reply 5 of 7
    smirclesmircle Posts: 1,035member
    Quote:

    Originally posted by cdoverlaw

    Apple could always change the way programs are compiled in Xcode and instead of compiling to machine code compile to a middle language which is then executed using a interpreter on either platform.



    Welcome to Java or .NET/C#.
  • Reply 6 of 7
    smirclesmircle Posts: 1,035member
    Quote:

    Originally posted by cdoverlaw

    Apple could always change the way programs are compiled in Xcode and instead of compiling to machine code compile to a middle language which is then executed using a interpreter on either platform.



    Welcome to Java or .NET/C#.
  • Reply 7 of 7
    kwsanderskwsanders Posts: 327member
    Quote:

    Originally posted by cdoverlaw

    Apple could always change the way programs are compiled in Xcode and instead of compiling to machine code compile to a middle language which is then executed using a interpreter on either platform.

    They would need to develop a way of doing this without the source code being made avaliable to please developers.



    Jonathan






    XCode v2.1 was released today. it produces a universal binary "with all the bits for both platforms" within the application. The universal binaries support either PPC or Intel processors.



    http://developer.apple.com/
Sign In or Register to comment.