Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

When see stuff like this I think of Joel Spolsky's post

http://www.joelonsoftware.com/articles/APIWar.html

This I think was the beginning of the downfall of Windows as the controlling force in personal computing.



If that is the downfall of Windows, then it is also the downfall of Apple and Google development tools and OSe as they also have their share of "API of the year", deprecations or just plain removal without way forward.


At least for Apple I don't think it's fair to say that. Apple tends to deprecate little parts of the API of their API, but the core has been quite stable. By that I mean Cocoa / Cocoa Touch. Since the introduction of OSX these two and Carbon were the only core APIs you had to care about. Now with Swift there's some movement again (which isn't enforced yet), we'll see where that goes. All in all not bad for ~16 years of development. If you count things like the move to ARC or Auto layout, I think these transitions were handled well and didn't lead to that much additional investment, it's on the order of expected support you need to do.

It's a different kind of stability though. Windows tends to support everything old written for their platforms in some way or another through tons of compatibility layers. It's 98% legacy and 2% of what's currently the favourite thing Microsoft would like you to do (which is constantly shifting). With Apple it's a lot less legacy support but the stuff actively sanctioned by Apple is also more stable.


I remember when Java was being sold as having the same first class support as Objective-C, Web Objects, the Qt framework for Java, how GC support in Objective-GC was going to be great, how Carbon was going to stay around.

Before Mac OS X, I remember Pascal being the best thing, only to be replaced by C and C++, then as they couldn't improve their own tools, having them based on Metrowerks.

I remember Common Lisp, Dylan, Hypercard, Newton, Quickdraw, Quickdraw 3D,...

So I think it is more than fair to put them on the same bag.


I think your viewpoint is really wrong-headed. Since around 2001, Apple has given you pretty much a single way to write OS X apps: Objective-C and Cocoa. Yes, there was a brief flirtation with Java, but that lasted what? A year? And afterwards it was 100% clear that Objective-C was the way forward. Same thing with GC. They tried it, decided they didn't like it, and then got rid of it. No ambiguity. Furthermore, the basic structure of a desktop application has not changed much at all in the OS X era. In contrast, MS pushed C#+WinForms for a while, then moved on to C#+WPF (without really killing WinForms), then moved on to C++/WinRT (again without really killing C#+WPF). Also, none of these post-Win32 technologies seemed to get anything near universal buy-in from developers. Furthermore, the switch from C#+WPF to C++/WinRT was a profound change: If you had a WPF app, you pretty much had to redesign the whole UI when you switched to WinRT, because it's based on an entirely different way of organizing a UI.

And I say all this as someone who has mostly stuck with Windows since NT 4. Personally, I find it just sad the way they've mismanaged the developer story for the platform, starting, really, with the introduction of WPF.

On OS X, in contrast, the developer story has been pretty consistent since the introduction of OS X: Write your apps in Objective-C+Cocoa. Full stop.

Of course, now Apple has introduced Swift, and the coexistence of Obj-C and Swift does seem like it complicates the developer story. But not nearly to the extent the MS developer story has been, and continues to be, a mess.


Thank you, that's exactly what I meant.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: