Hacker News new | ask | show | jobs
by millstone 4273 days ago
I'll concede that there was definitely more churn around the change from OS 9 to OS X. But the result was definite forward progress: the entire OS moved off of its legacy core. This was clearly a transition period, with both the legacy APIs and modern replacements clearly identified.

I don't think Microsoft's churn is like that at all. Instead it seems to reflect churn in their internal strategy. They attempt transitions, but abandon them before they are complete. There's no overall trajectory.

The latest is WinRT. Take a look at https://dev.windows.com/ . It's all about Windows 8, Windows Runtime apps, etc. Other technologies are buried. Wouldn't you agree that MS is positioning WinRT as the new preferred way to write for Windows? (If not, their messaging is terrible.)

Characterizing these development options as MS giving developers "choices" is crap. WPF developers aren't excited about having WinRT as another choice, they're worried that WPF is abandoned and their investment is obsolete. They saw it happen to Silverlight. See http://pragmateek.com/is-wpf-dead-the-present-and-future-of-... for example. See http://channel9.msdn.com/Events/Build/2014/2-563 too.

This isn't 1998 and I'm not looking for some Mac vs PC flamewar. These are serious problems. They're making existing developers sweat, and new developers are taking a wait-and-see approach. It's hard to watch, but I'm optimistic about Nadella turning it around.

Oh, and Carbon is not an emulation layer at all, nor is it "heavy handed." Perhaps you have it confused with the Classic environment?

1 comments

Have you ever actually worked professionally with Microsoft tech for any length of time? Have you followed Microsoft closely for 3 decades because your paycheck rides on knowing what's going on with them? If not, I'll forgive you for being an outsider...and yes, I meant Classic.

Microsoft has historically employed over 30,000 developers. That's a lot of people working on new software products. The "churn" you're talking about is, in fact, just more choices for you. It's crazy though you know - you don't have to use the latest thing from Microsoft! (We don't worship them like a lot of Apple-centric devs seem to do with Apple.) Sure, they're trying new things like WinRT and they'd like devs to use them. If things don't take off, they scrap them.

Who cares? You can still use a kit from 1998 (VB6) to make apps on Windows today without too much difficulty. Could you even use XCode from 2005 to make an app for OS X Mavericks? I doubt it.

According to your logic - web developers would never get anywhere because there's so much new tech/frameworks/etc being thrown at them and no corporation to tell them exactly what to choose.

I've been working professionally with Microsoft platforms since the early 2000s.

Not sure why you celebrate that Microsoft is treating everything but the latest as legacy.

His point is that after massive rework for OS X, more than 10 years ago, expertise in Cocoa has been remarkably stable and portable across their ecosystem.

Microsoft in the same time, has been through how many data access layers? How many networking/HTTP APIs? Web frameworks? GUI toolkits? All of it legacy abandonware now.

It's not free to have to continually retool to work with APIs that will still get bugs fixed.

Yes, using the 1998 API will still work. But that API will never be worked on again. Good luck if it has a bug that means something is impossible to do.

Microsoft errs on the side of throwing something out there before it's fully baked, and fixing it by introducing replacement APIs with the learnings from the first couple.

Apple's approach is to keep APIs private up until such time as they're ready to make them public, after which they commit to them and they'll be The Way To Do Things for a much longer time.

Which you prefer I guess depends on the type of developer you are.

Yes, using the 1998 API will still work. But that API will never be worked on again.

Whats this then?

http://msdn.microsoft.com/en-us/library/windows/desktop/dn30...

That's a Win32 API call added for Windows 8.1 to their 1988 API!!!

As for bugs, you've never read "The Old New Thing" blog or played with the compatibility options for running executables in windows? http://blogs.msdn.com/b/oldnewthing/

They actually go as far as fixing all the bugs and backporting the actual bugs to older compatibility layers so software that relies on the bugs still functions properly when you set the compatibility OS version.

Regarding impossibility, there is literally nothing that I can't do with their APIs. Find something and I will show you.

Win32 is the only API that can be used in the long run and is maintained and improved by MS.

All the other APIs like WinForms, WPF, MFC, Silverlight, WinRT get abandoned after a few years. Yes, they still run but you end up with a codebase that uses outdated tools without a good migration path to a never API.

It would be really nice if they would actually stick to something.

But you just said that they do stick to something: Win32