1. 18
  1. 6

    Here we are 17 years later. As Joel wrote, it would take decades for Microsoft to go down, and they could always reinvent themselves.

    • Dotnet instead of .NET Framework, this reinvention has passed the early stages and seems to be doing OK, not taking over the world, but seems to be healthy enough. Runs on Linux and there are advantages to such a large collection of free open source libraries having a major corporate sponsor

    • and speaking of Open Source, the reinvention of supporting open source

    • Windows10, kinda sorta a reinvention of Windows..but it is still Windows. I personally don’t know any developers who care about the Windows API, but MS has positioned it to be just one of several platforms compatible with dotnet 6 (coming in November)

    • Azure, MS was late to the cloud party, but they proved they can at least be one of the surviving major cloud platforms

    • Office, reinvented as Office365…MS continues to milk this cow.

    • Quantum computing, MS is determined to be in the running for this prize.

    And above all Microsoft continues to be profitable quarter in and quarter out. No sign of reinvention as a consulting company.

    1. 5

      One of the greatest technology essays written. I remember reading this article when it was first published and agreeing with it. In the zeitgeist of the early aughts, Microsoft was still viewed as a tech titan that the universe revolved around, but people were starting to realize they were becoming much less relevant with the advent of web technologies; namely what were called “Application-grade JavaScript engines” (the first generation of JavaScript JITs in browsers).

      My friends and I at the time were entirely living in the world of JS + LAMP, with no Microsoft to be found except for early VMs to ensure IE6 compatibility. The thought of building software for the masses without touching Microsoft’s stuff was just starting to become feasible.

      1. 3

        My biggest takeaway from this article: there are IBM cheap cordless phones. I should plunk one on top of the POWER6 for yuks.

        1. 3

          What a great read. It’s amazing that basically every single point about the web absolutely sucking compared to native applications stands today even though computers have gotten many times faster. I will say the complaints posted have mostly been taken care of by the advent of “are you sure you want to leave the page?” dialogs. Offline work is kind of there too for gdocs etc.

          The price of desktop devs vs web devs does seem to make sense too (even moreso today) the sheer amount of convenience the web brings especially with full-stack frameworks (rails/phoenix/etc) means way more can get done in the same amount of time compared to native apps. Even though native apps perform better and usually look better too since they follow the UI paradigms of the desktop.

          1. 2

            I fail to see what is convenient about an environment where leftpad is a third party library.

            1. 5

              Lots of people sneer at these frameworks and this ecosystem, but they embed the domain knowledge of what at this point must be thousands of food ordering apps, todo apps, diet tracking apps and so on, all of which are virtually identical to each other in technical terms. The whole system is optimized to quickly write apps for eager founders. They are going to run circles around any native framework when it comes to that (it certainly doesn’t help that most native frameworks are closer to Win32 than Nextstep but I digress…)

              Sure, any path slightly off the beaten path of fetch-this-via-HTTPS-and-make-an-entry-on-an-infinite-timeline leads to one of the lower-numbered seven circles of hell, but this beaten path is extraordinarily wide. There are entire software development outsourcing businesses with thousands of employees that don’t stray from it. I’m pretty sure it’s a billion-dollar industry by now.

              Also, the fact that any path slightly off that beaten path leads to oblivion is nothing to sneer at. Visual Basic 6.0 was hugely successful and it enabled a lot of businesses to thrive. Was it good for anything except form-based applications? Fuck no, I mean sure, you could write raytracers in it, just like you can write a raytracer in sed, but you did that either for hacker street cred or because that’s really all you knew. But it was better than any “serious” language for those form things. Visual Basic 6, the language of clueless accountants, won not just the popularity contest, but also the usefulness contest against a lot of languages with good pedigrees.

              1. 3

                It is not. It hasn’t been for a long time. I find this take frustrating because it’s out of date and, far more importantly, there’s no effort to understand or consider the subtleties of the issue.

                If you don’t think that the convenience of the web’s ecosystem is worth the costs that it brings, that’s okay! There are very good reasons to feel that way. But if you “fail to see what is convenient about an environment where leftpad is a third party library”, full stop, then that’s because you’re not looking hard enough, or in the right places.

                1. 3

                  I’ll take it any day over the app store approval process, or the arrangements required to put a cartridge in a box on store shelves.

              2. 1

                Microsoft Lost the Backwards Compatibility Religion.
                it’s not enough to reinvent the entire Windows API: they have to reinvent it twice.
                And yet, people aren’t really using .NET much. ​
                It turns out we were wrong. Object oriented programming is handy dandy, but it’s not really the productivity booster that was promised. The real significant productivity advance we’ve had in programming has been from languages which manage memory for you automatically.
                Inside Microsoft, the MSDN Magazine Camp has won the battle.
                Much as I hate to say it, a huge chunk of developers have long since moved to the web and refuse to move back.

                This explains everything wrong with the javascript eco-system. We are in the visual basic / .net shift. It started with react I suppose. At this point I wonder if React was started by ex-microsoft employees at facebook. Now i am beginning to think the github acquisition was also about acquiring electron, as even skype was rewritten in electron. This is not open source, its weaponised corporate source and possibly EEE.

                Javascript is even more productive because it had no types, C-like syntax and garbage collection; while avoiding inheritance bullshit completely. It provided mixins. jQuery provided so much backwards compatibility and a market place for plugins, only now I am beginning to appreciate it. Things were easy to prototype. iterate and perfect over a period of time. Now javascript is replaced with ex-dotnet, ex-silverlight, ex-applet, ex-gwt, ex-java “professional” object oriented programmers who do nothing but reinvent APIs. There’s a reason why those technologies failed - things take 10 times as long to develop and prototype and people hate broken crap. After these losers failed in the marketplace, they have now managed to sneak objects in via bribing the standards committee so that they can bring their control freak misery everywhere. What a farce. There will be another bubble because these typescript hacks will not deliver things on time and investors will move on … but they will have wonderful and clean interfaces that do nothing. Time to move to lua and web assembly. Heck maybe it’s time for a new browser.

                1. 7

                  Javascript is even more productive because it had no types, C-like syntax and garbage collection

                  • Is no types really a reason for it being productive? I’m not very experienced in JS at all but the existence and widespread use of TypeScript tells me the opposite might be true. Again, I’m not experienced in JS at all (though I have done Python, another dynamically-typed language) so I may be a bit off here.
                  • Javascript does have garbage collection.

                  ex-dotnet, ex-silverlight, ex-applet, ex-gwt, ex-java “professional” object oriented programmers

                  After these losers

                  sneak objects in via bribing the standards committee so that they can bring their control freak misery everywhere.

                  You didn’t need to express your unreasonable loathing of OO developers in this incendiary way. I’m not a exactly super fond of OO either, but this is just a personal attack.

                  1. 6

                    Personal attack is generous. I mean come on:

                    they have now managed to sneak objects in via bribing the standards committee so that they can bring their control freak misery everywhere

                    This is half completely unhinged conspiracy theory, half rage comic masquerading as prose.

                    these typescript hacks

                    Ironically the TypeScript type system has more in common with Haskell types than mid-2000s OOP type systems.