Adobe Photoshop CS4 Will Be 64-Bit For Windows Only
HighWizard notes that Adobe Systems has shared the first scrap of information about its next version of Photoshop, CS4, and it's a doozy: there will be a 64-bit version of the photo-editing software, but only for Windows Vista and not for Mac OS X. Ars explains the history of how this conundrum came to pass — blame Apple and/or Adobe as you will.
just like the article says, it's not like it's going to make your app run any faster. In fact, with tday's machines, 64 bit will probably run slower than 32 bit...
Exactly. Adobe, along with all Mac OS developers were warned almost a decade ago - essentially a previous geological epoch in computer terms - that going forward they would have to move their apps from Carbon, the old OS 9 compatibility layer - to Cocoa, the new Mac OS X framework which has been the fully native Mac OS X framework since the developer previews of Mac OS X in the late 90s.
Adobe was busy focusing on the windows market and betting that Apple would go out of business so they put 0 effort into porting Photoshop to Cocoa - OOOPS!
Apple not only survived but thrived, so Adobe simply dug in their heels and assumed that Apple would keep Carbon around forever rather than risk losing Adobe. Instead, Apple simply built internal Cocoa replacements for all the Carbon software whose absence could threaten the platform:
Microsoft Internet Explorer -> Safari
Microsoft Outlook -> Mail and AddressBook
Microsoft Word -> Pages
Microsoft Excel -> Numbers
Microsoft PowerPoint -> Keynote
Adobe Photoshop -> Aperture
This 64bit issue is no one's fault except Adobe who have had nearly a decade's warning that they needed to move from Carbon to Cocoa.
There is a difference between being picking up a language and knowing the language. Yes a good C++ developer can start coding in Objective-C in a few days or maybe weeks. I would bet that it will take a few months before they are really comfortable with it. Then toss in Cocoa and you have a pretty steep learning curve. It will just make it harder to develop software for both Windows and Mac. There are few companies that will choose to drop the Windows market for the Mac market.
I would love to try Objective-C but the lack of bindings for GTK, QT, and Windows keeps me from putting in the effort.
It is a shame since I hear that Objective-C is better than C++ in many ways.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
The additional GPRs and XMM registers are not vendor-specific, as they are a natural part of the AMD64/EM64T platform, and Intel has adopted them as well, as they are a required part of the specification. These registers may speed up tight inner loops by allowing to keep more data a hand. Yes, I know that this is not going to help many applications, for example data structures with a large percentage of pointers/references (trees and graphs, for instance) might actually get slower on 64 bits due to the size increase and memory "speed" (unless you are using something like DataDraw), but expensive computations on packed homogeneous data can get much faster under right circumstances.
If you can generate tight inner code from a node tree, for example, even if the expression trees you can compile are very simple, things can get much faster, because less accesses even to cache equals more speed. You basically cannot saturate a modern PC CPU's execution units from memory today - if you're not running from registers and have to hit the memory to reach the big picture (pun intended :)) in order to just multiply and add some pixel values from several layers, you might be losing an order of magnitude of performance compared to the theoretical limit. If the operations are more complex, and you have dozens of layers and you are adding them and multiplying them and processing them all over the place, it is faster to keep the intermediate the values in registers even at the cost of having to generate some code. The other option is to spill the values into intermediate buffers and that is not a good thing for performance.
I do not think that the people at Adobe are dumb. VirtualDub uses this idea, and I think I read something about the Windows GUI kernel using such techniques as well. I fail to see why the leader in the market of graphics editors would avoid such opportunity.
Ezekiel 23:20