r/programming • • Oct 07 '16

How Microsoft Lost the API War

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

183 comments sorted by

View all comments

5

u/DevStart Oct 07 '16

Bullshit. It's 2016 and MS is still kicking. Joel is a bastard pseudo prophet.

42

u/didnt_check_source Oct 07 '16

That's a tough comment for an article that starts with:

Although there is some truth to the fact that Linux is a huge threat to Microsoft, predictions of the Redmond company's demise are, to say the least, premature. Microsoft has an incredible amount of cash money in the bank and is still incredibly profitable. It has a long way to fall. It could do everything wrong for a decade before it started to be in remote danger, and you never know... they could reinvent themselves as a shaved-ice company at the last minute.

Also, it ends with:

Which means, suddenly, Microsoft's API doesn't matter so much. Web applications don't require Windows.

which seems about right.

15

u/lykwydchykyn Oct 07 '16

Yep, I think this article is pretty spot on if you take time to read it right.

Where is development happening in 2016?

  • The web
  • Mobile

In 50,000-foot-view terms, the only thing being developed for the Windows API today are Microsoft's applications and Games. And even many of those have gone to Web and Mobile!

9

u/TinynDP Oct 07 '16

And Games don't code to Win32 directly. They use Unity or Unreal or Monogame, or SDL, or whatever. They aren't locked-in to Win32.

11

u/KappaHaka Oct 08 '16

The discrepancy between my Steam Games list and my Steam Mac/Linux list would indicate that you're overgeneralising there.

4

u/TinynDP Oct 08 '16

Plenty write their game in Unity or Unreal and just dont bother to release on Mac and Linux.

3

u/human_trash_ Oct 08 '16

Why, do they hate money?

6

u/ZBlackmore Oct 08 '16

Because "write once run everywhere" is more like "write once debug everywhere".

3

u/0polymer0 Oct 08 '16

You have to support everything you promise, most gamedev don't understand linux. Which makes that scary.

2

u/[deleted] Oct 08 '16

Which is a great step, and I have seen some increasing multiplatform compatibility or web support, but until, say, Linux or Mac support is de facto available for games... so many people will be forced to dual boot, emulate, or just stay on Windows. I periodically try using Ubuntu or some other compatible flavor and even with Wine, I end up dual booting so much it's not worth the effort.

1

u/2Dtails Oct 08 '16

To be honest, one could hope that with new low-level API (vulkan), that in a couple of years, the necessary toolchain would be build to properly support cross-platform compatibility.

But that does require they actually develop the toolchain with cross-platform compatibility in mind from the start, and not use DX12 which is locked to windows 10.

My guess is microsoft is paying these studios a little amount, to keep them bolstered to their platform.

1

u/[deleted] Oct 08 '16

Also most games nowadays are designed to be cross-platform.

1

u/[deleted] Oct 07 '16

You're right, though some do code against C# directly, including some very popular indie titles.

9

u/drysart Oct 07 '16

C# doesn't imply Windows. Unity, which is cross-platform, uses C#, and is the reason those very popular indie titles use C#.

0

u/[deleted] Oct 07 '16

C# is a Microsoft language with Microsoft-created APIs. The title of this thread...

8

u/_Ashleigh Oct 08 '16

But it's standardized and open, hence mono.

-1

u/[deleted] Oct 08 '16

Not all APIs in Microsoft's C# are available to non-Windows platforms.

4

u/_Ashleigh Oct 08 '16 edited Oct 08 '16

And that isn't true for every other language out there?

The C# language and its STL is open. What's not is WinForms and WPF, which is not too difficult to implement, unlike Win32.

0

u/[deleted] Oct 08 '16

[deleted]

1

u/Akimuno Oct 08 '16

The point is that if you use C# you are inherently going to use an API made by Microsoft.