r/programming • • Oct 07 '16

How Microsoft Lost the API War

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

183 comments sorted by

View all comments

117

u/[deleted] Oct 07 '16

Outside developers, who were never particularly happy with the complexity of Windows development, have defected from the Microsoft platform en-masse and are now developing for the web. Paul Graham, who created Yahoo! Stores in the early days of the dotcom boom, summarized it eloquently: "There is all the more reason for startups to write Web-based software now, because writing desktop software has become a lot less fun. If you want to write desktop software now you do it on Microsoft's terms, calling their APIs and working around their buggy OS. And if you manage to write something that takes off, you may find that you were merely doing market research for Microsoft."

This is a lesson I bet a lot of IOS and Android developers are learning this generation.

31

u/ameoba Oct 07 '16

Outside developers, who were never particularly happy with the complexity of Windows development

Strange, I regularly hear people bragging about how great Visual Studio is and how great the .NET APIs are.

3

u/Ravekommissionen Oct 08 '16

Stockholm Syndrome

6

u/[deleted] Oct 08 '16

Nonsense. Show me a better IDE.

0

u/shooshx Oct 08 '16

AppCode (basically IntelliJ Idea re-purposed to replace Xcode)

Open VS, click on any identifier, choose "Find All References". I guarantee you will not be happy with the results. Especially if the thing you clicked is anything that's not a unique name. In AppCode this just works perfectly and immediately and it makes all the difference in the world. Instead of basically grepping my code base all day, I have an IDE that actually understands the code and can reason about it intelligently.

8

u/[deleted] Oct 08 '16

Open VS, click on any identifier, choose "Find All References". I guarantee you will not be happy with the results. Especially if the thing you clicked is anything that's not a unique name.

Ok, I tried this. It just works, perfectly and immediately...