Linked by Thom Holwerda on Mon 21st Apr 2008 19:00 UTC, submitted by Adam S
General Development Ars' Peter Bright wrote an article today entitled "From Win32 to Cocoa: a Windows user's conversion to Mac OS X", in which he explains why he believes "Windows is dying, Windows applications suck, and Microsoft is too blinkered to fix any of it". These are rather harsh words, but there is a definitive element of truth in it. The article is part one in a three-part series.
Thread beginning with comment 310861
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Why
by segedunum on Tue 22nd Apr 2008 12:02 UTC in reply to "RE: Why"
segedunum
Member since:
2005-07-06

A: You don't make much money, if any at all, writing KDE Applications.

Which part of cross-platform did you fail to understand? You're not writing KDE applications here. That's a downright bizarre thing to come out with.

B: Java is server-side programming and Web Services, not traditional client applications.

Java isn't the best option, certainly now that Apple has crippled it in OS X, but if you have different platforms to code for then it's silly not to look at cross-platform options. Also, cross platform options such as Java and Qt can insulate you from the stupidity of Apple when they create APIs they know they will drop.

C: Qt is C++. When Qt 4.5 comes out and is designed to interoperate with Cocoa then you can leverage the best of both on a platform that has

Yer, and you can do that to a very large extent without having to rewrite your application for Cocoa from Carbon. Score to Qt.

Apple doesn't get developers, and that has been ably demonstrated over a period of many years. API breakages, APIs being plain dropped, telling developers not to use something but making it available anyway (copying pointers out of the jump table for example) and outright hardware platform changes. If you value developers, you can't take that stuff back. You have to make it work, and up until fairly recently, that was the view Microsoft took. If you want to see how successful Microsoft's new direction is, look at the uptake and support for Vista and platforms such as.Net versus XP, 2000 and previous Windows versions.

If you must develop for a Mac, get yourself a nice big wrapper, and preferably a cross platform development tool, not just for the flexibility of cross platform porting, but to insulate yourself from Apple's stupidity. The Cocoa versus Carbon debate is the same as the Winforms versus WPF one in the Windows world. Why does it even exist in the first place?

As for the article, when there are the number of applications written for the Mac, both shrink-wrapped and especially internal applications, as there are on Windows, he can give us a call and make a comparison. That's what it all boils down to, no matter how much more 'passionate' he perceives Mac developers to be and no matter how much Microsoft wants you to re-write stuff in the shiny new .Net. A lot of stuff is written with Win32 and COM.

Edited 2008-04-22 12:12 UTC

Reply Parent Score: 3

RE[3]: Why
by evangs on Tue 22nd Apr 2008 18:23 in reply to "RE[2]: Why"
evangs Member since:
2005-07-07

Now, if you need to tightly integrate with the OS you might wanna learn Cocoa. Much like just knowing QT isn't enough to write an app that tightly integrates with KDE or knowing Java isn't enough to integrate with Windows.
But that is a whole other issue in itself...I'm against apps that integrate that much into the environment.


Carbon has always been billed as a transitional API. It was obvious right from the start that it wasn't always going to be available. It's purpose was to help developers port their existing applications to OS X, before transitioning to Cocoa.

Guess it didn't work too well, given how many commercial apps remained Carbon. It was only the announcement that there will be no 64 bit Carbon that has spurred these software houses like Adobe to start seriously looking at Cocoa.

Reply Parent Score: 2

RE[4]: Why
by segedunum on Tue 22nd Apr 2008 23:47 in reply to "RE[3]: Why"
segedunum Member since:
2005-07-06

Carbon has always been billed as a transitional API. It was obvious right from the start that it wasn't always going to be available.

It was never going to work. Transitional APIs never do, because they never are transitional. Once you put it out there people start using it.

Guess it didn't work too well, given how many commercial apps remained Carbon. It was only the announcement that there will be no 64 bit Carbon that has spurred these software houses like Adobe to start seriously looking at Cocoa.

Shock, horror. There is zero return on investment to Adobe or anyone else in rewriting their applications from Carbon to Cocoa!

Reply Parent Score: 3