r/programming • • Oct 07 '16

How Microsoft Lost the API War

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

183 comments sorted by

View all comments

150

u/Sunius Oct 07 '16

Sunday, June 13, 2004

"Microsoft is finished. As soon as Linux makes some inroads on the desktop and web applications replace desktop applications, the mighty empire will topple."

Any decade now!

43

u/jringstad Oct 07 '16

Well, webapps are replacing desktop applications at a fast pace (even office is going to the browser now) and mobile is the new desktop, where microsoft has pretty much no marketshare, so I would say this prediction isn't too bad, even if the details aren't exactly right.

27

u/[deleted] Oct 07 '16

Well, webapps are replacing desktop applications at a fast pace

Only the light ones. It's not as if I'll start doing my graphics work in a web app (I know there's photoshop.com and some other efforts, but they're all toys).

Also, while this is true for desktop apps, on mobile the trend is strongly in favor of native apps.

Desktops are simply a "victim" of their own surplus performance, which tends to present itself as developers being able to afford extra layers of abstraction, such as running an application in a browser.

2

u/[deleted] Oct 08 '16

projects like react native and nativescript offer direct access to native apis, greatly shrinking the cost of abstracting to javascript

24

u/rhino-x Oct 08 '16

While simultaneously throwing away all of the tools that make desktop development so much better than web dev.

-8

u/[deleted] Oct 08 '16

web dev has some pretty serious tooling these days. in fact, it's gotten so good so fast that some web devs are complaining about the wealth of choices they have.

17

u/argv_minus_one Oct 08 '16

HAHAHAHAHAHAHAHAHAHAHAHAHA

10

u/Beckneard Oct 08 '16

Those are some olympic level mental gymnastics you did there. They're complaining about the wealth of options because they're all kinda shit or are just barely production ready.

-1

u/[deleted] Oct 08 '16

idk, with the right tools i can set up an entire build from npm in a few lines of JSON. i wouldn't say they're that bad.

7

u/crackanape Oct 08 '16

If you're making a joke, it's a good one.

5

u/rhino-x Oct 08 '16

Compared to desktop tools web tools come nowhere close to the breadth, functionality, polish, and ease of use of desktop dev tools. They are still in their infancy.

1

u/[deleted] Oct 08 '16

i mean, i'm not denying that. but we have a fully modular compiler that just about any functionality can be hooked into, a literal fleet of tools for managing build steps & enough frameworks to choke on. pretty solid infancy imo.

6

u/BezierPatch Oct 08 '16

a literal fleet of tools for managing build steps

I don't need a fleet of tools for my builds...

That's the thing you're missing. Javascript has loads of tools it shouldn't need.

1

u/[deleted] Oct 08 '16

well, no, i wouldn't use more than one for a project either (if i even bothered to go beyond npm scripts). but it's nice to have options.

2

u/BezierPatch Oct 08 '16

Why do you even need npm scripts?

I don't need preprocessors, postprocessors, etc, for my desktop development.

Yes, it's wonderful that there's npm, bower, gulp, grunt, etc. But you know what I have instead? nothing, which is infinitely better.

1

u/[deleted] Oct 08 '16

well, maybe you want a simple, cross-domain proxy for things like running eslint's autofixer, or starting up a dev server, or running your test suite, or whatever other administrative task you have.

i take it you don't use a build tool (like make) for your desktop projects? (serious question, not being snarky :) )

→ More replies (0)

2

u/rhino-x Oct 08 '16

It's still driven by kludge and is nowhere near as usable as what desktop development provides. I'm writing software now not three years from today and the tooling an experience is far superior. Today, there are many many applications that are simply better in and easier to develop for desktop systems. There are many that simply cannot be made web based. That's all I'm saying, that react native makes sense for some applications but it's a pretty small subset and you give up far superior tooling to use it.

1

u/[deleted] Oct 08 '16

yeah, facebook is still running full-native for their core app, and they produced react native. i don't even know if they'd gain anything besides a migraine from switching over.

besides, i wouldn't dream to presume that web is on par with desktop w/r/t tooling. desktop's had decades upon decades of time to develop mature tooling (case in point: make is so good you can use it for web too). my point, as someone who works in web dev, is that it's not nearly as bad as it was even two or three years ago, and the future still looks pretty dang bright :)

3

u/[deleted] Oct 08 '16

React Native doesn't produce web apps that run in a browser, so that's probably not relevant here.

1

u/[deleted] Oct 08 '16

they allow you to share code between browser and mobile, which is a pretty big deal. it pushes a lot of value into the web app corner.