Microsoft has come a long way from the company that everybody loved to hate. IMHO, they still have a long way ahead of them, but it's nice to see they seem to be serious about it.
With Ballmer at the helm, I had the impression he didn't really know how to handle the rise of mobile devices and cloud services. Nadella seems determined to really change Microsoft from the old Windows-and-Office monopoly to something new.
Ballmer wasn't an idiot. It's not as if he didn't see the changing landscape. He left the company in a position to shape the future.
Ballmer allowed opensource during his leadership, but employees would be more "targetted" when it's not the right direction and it hasn't has "intermediate"/"fast" results... It's a much slower progress.
I believe Nadella has a lot of thanks for the change that Microsoft made before he stepped up and "received" the fame. There was a short release afterwards of his stepup with a Office version for iOS and Android, you just don't do that within the month.
Some things he did within the first 12 months:
- Bought Nokia ( they already worked very together closely, this was probably been going on for years )
- Office for iOS and Android ( was created during Ballmer, but probably got approval during Nadella)
- Opensource .Net ( opensource started with Asp.Net MVC 2, which wasn't an all-in though, i think of it as a "test" internally)
- Cloudobile - connecting mobile with the cloud ;) ( this is definatly more Nadella's style, coming from Azure)
But it isn't all "that good", a lot of people have been layed off ( approx. 18.000 ). While Ballmer's approach is very "profitable" and "evil", i do believe that Nadella's approach is more in the line of "more penetration", "cheaper prices" ( free version of Office eg.), being more open... It does come at a cost ( i hope no one blames me for mentioning this ). I do suppose those 18.000 people where mostly freelancers, but i'm not sure.
I left a job where I facilitated meetings to discuss major incidents and tracked action items and wrote long form reports. I decided to use this opportunity to instead move to a job I really loved where being laid off sounded far less likely.
I became a software developer. Finally took charge to do something professionally that I'd done for a couple decades as a hobbyist. Huge positive. Completely the right move. Never would have happened if I hadn't been laid off.
That said, I recognize it's not a positive for everyone in that position.
Source? What changed his mind?
Either way, Nadella didn't orchestrate the Nokia deal, Ballmer did.
You're right, he wasn't an idiot; he was a well-educated and successful executive that made strategic decisions informed by 80's and 90's business thought and practice. Half a decade earlier he'd have done wonders. But in emerging technology markets those decisions cost Microsoft its industry superpower status.
In tablets, mobile that cost Microsoft early market dominance and possibly locked the company out of future hopes at regaining their title.
In Web servers, numbers from Netcraft last summer showed that since Windows Server 2008 essentially what had been a healthy uptick turned disastrous for Microsoft's share of active web properties (half way down the page), and over the last 15 years a steady decline in Microsoft's market share in traffic volume handled.
More specifically, your "By design" start is common in these kinds of managed transitions: you want the new leader to come in with tail wind.
Hope you mean "embodied in Windows 8". I still remember the day I replaced my Vista PC with one running Windows 7, and wondering why the OS was booting so fast. I doubt "Vista" was strategic in any way, more incompetent management, but would agree "Windows 8" had strategic considerations behind it.
Windows 7 was a refinement of Vista.
Windows 8 was a new interface and a step toward multi platform, e.g. ARM.
Windows 10 is a full on multiplatform assault.
Running a big company is nontrivial. Microsoft's management has never been incompetent. The company has always been very profitable.
This is completely wrong in a couple of ways.
Vista popularized 64-bit Windows, and 16-bit WoW (responsible for running 16 bit Windows programs) never made it to 64-bit Windows. This was true for the earlier Windows XP 64-bit, and it has been true for every 64-bit Windows that followed. So there's always been some confusion on this point, but note: 16-bit WoW exists even today on 32-bit versions of Windows 8. Today you have to enable it explicitly, but it is available.
Also, the NT-based versions of Windows never included DOS. They were never "with" DOS such that they'd need to "break with" DOS. The last Windows that included a version of DOS was Windows ME. The last Windows that included a version of DOS which anyone ever willingly used was Windows 98.
> Windows 10 is a full on multiplatform assault.
It's a pretty modest number of platforms compared to all those supported by NT in the late nineties. Although it will probably end up running on a lot more devices...
The VP of Vista fled to Amazon before it was publicly released.
Steve Jobs on the other hand already learned in 2002 that the desktop GUI won't work on a mobile device and set out to create a new GUI for mobile devices that led to the iPhone and iPad that was different from the Macintosh GUI. I think Steve Jobs saw the Windows XP based tablets that Microsoft made and their Windows CE smart phones that basically used the desktop GUI and how it just didn't work out.
Microsoft has almost always bet everything on the new Windows version. It doesn't always work out for the best. Some companies still use Windows XP because their business software breaks in Vista and above because of API changes. Microsoft no longer supports XP, but it is still in use around the world.
They reversed most of these moronic design decisions in 8.1 and the 10 preview, but they kept some (hopefully they will be fixed before they release). Like instead of having notifications (like "An update is available", "Restart is needed") appearing discretely at the bottom right of the screen they now take up the entire screen. Since Vista they should know better than their customers are trying to use their OS to do things, to work. Customers are not fascinated with the system and having the system interrupting them all the time is a terrible idea.
It doesn't take a PhD in UX to realise that.
That effort made learning xmonad a breeze because I accepted the idea that I would have to spend time paying the dumb tax. It turned out to be only a morning.
Emacs on the other hand....
I do not dispute that keyboard shortcuts are faster than any mouse based UI. And I am sure that you became more proficient having to go around the Win 8 hassles using the keyboard. However if the UI can only be practical if a user learns by heart all sorts of commands and shortcuts, then it is a massive failure, it defeats the very purpose of a UI, particularly a UI targeted at consumers.
Picking tools based on first impressions, is in my opinion, a suboptimal strategy. YMMV.
I've been using Win8 for about 1 hour/day for the last few months. The flips between Metro and Desktop still drive me crazy. You might have learned to accept that, or to avoid those flips, but this schizoid mode of operation comes with unneeded cognitive overload for desktop work, even if you did master it.
The thing is, Win8 was optimized for Microsoft's benefit, not yours. Win8.1 gave up some of those things, because (a) it didn't provide the benefit it was optimized for -- windows phone acceptance, and (b) it did alienate a significant portion of the userbase that clang hard to their Win7.
"Using 8 meant you had to learn something", yes. But for what purpose?
There used to be a book on Windows Annoyances that told how to deal with them. The most annoying thing about Windows 8/8.1 is the Windows Update and having to restart the OS in order to update and not knowing how long it is going to take and watching the "Updating 12 of 64" with the dots in a circle loop and not being able to do anything with your computer while that happens. If only Windows Update could run in the background and not need to restart the computer or if it does restart the computer it can estimate how much time is remaining of the updates.
Sorry, but yes, the person who said this ( http://www.businessinsider.com/heres-what-steve-ballmer-thou... ) was, in fact, an idiot.
He should have had his walking papers from the board of directors by that Friday.
But both of us are just assuming.
Personally, I still want more. An open source editor would have been nice. Many good text editors are open source Vim, Emacs, Atom, Notepad++ entering this area with less community seems like an unneeded difficulty.
$ /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Atom .
Nadella's contribution is to make it possible to ship this sort of thing. Shipping this under Ballmer would have been a miracle.
This sounds like you're speaking from inside experience. I would _love_ to hear more of this back story. Seriously, to anyone, write it up.
I think MS Research would be a pretty amazing place to work.
Visual Studio Code is more like an offline version of Visual Studio Online (the editor part), 2 years later.
I think a better foundation for a cross-platform editor/IDE would be SWT, the Standard Widget Toolkit from Eclipse, perhaps ported to .NET.
For decades of trying, this is the best we've managed to do for cross-platform UIs. It ain't great, but it soundly beats the alternatives.
WPF also abstracts control behavior away from presentation and allows you to easily and quickly extend the base set of controls to do whatever you want to.
After building multiple thick client applications using VB6, MFC, Swign, Winforms and WPF, WPF exceeds all of these, by far, in flexibility and maintainability.
For me, the real value is composition flexibility.
Try using it to view its own source code inside the app!
Nadella is doing MS good. For one, he understands market dynamics better than Ballmer did and is willing to gamble. As a C# developer of 10 years, this is the first time Microsoft actually "spiced up" their product line. Offering up robust tooling like Visual Studio Community (which is just a free version of Professional) shows me Microsoft is committed to the platform. Now, with Visual Studio Code, it will make my work better since I'm 99% on a Mac these days. The next few months will be interesting. :)
- Ballmer, 2001
Yeah Ballmer was pretty bad, but to be fair Bill Gates also was very anti open-source ("Communism! Communism!"... http://old.seattletimes.com/html/microsoft/2002152694_paul13...). I like the direction of this "new Microsoft", but they still do some nasty stuff: http://arstechnica.com/information-technology/2015/03/20/win...
Yes, even if he was talking about the GPL when he said "open source software", he would be wrong. (And if he meant the GPL, he would be wrong in using the general term "open source software" in referring to it, even if his statements were accurate for the GPL.)
> It actually does what he is talking about by design.
No it doesn't. He says "if you use any open-source software, you have to make the rest of your software open source." You can use GPL software without making your other software GPL. You can distribute GPL software without making your other software GPL. You can distribute GPL software without making other software you distribute together with the GPL software GPL, too, in some cases.
> Every company which uses GPL code is very careful about how they do so.
Many of them also produce a lot of non-GPL software. Which demonstrates that the "all your other software" claim is false.
Sure, he used it as an example, but he also explicitly made a generality about open source software, not the GPLv2. In any case, what he said was wrong about Linux, wrong about the GPL (including GPLv2), and wrong about open source software, so arguing over which of those he was talking about is a sideshow.
> You can argue with this wording if you like, but his observation is spot on
No, its absolutely, completely false. You can use -- or even distribute -- "open source software" (or GPL software, or Linux specifically) without "all your other software" being required to become open source.
And the answer is yes.
"Open source is not available to commercial companies" is about as factually incorrect as any statement in the English language can aspire to be.
" Craig Mundie remarked, "This viral aspect of the GPL poses a threat to the intellectual property of any organization making use of it." In another context, Steve Ballmer declared that code released under GPL is useless to the commercial sector (since it can only be used if the resulting surrounding code becomes GPL), describing it thus as "a cancer that attaches itself in an intellectual property sense to everything it touches"."
It seems even the Wiki editors believe he was speaking about the GPL.
Stop being a jackass.
It includes GPL-licensed programs such as GCC and GDB; shouldn't Microsoft have released the source code of Windows Server by now if these statements weren't anything but FUD?
People have been selling access to remotely hosted services since long before 2001 (since before the web, the FSF/GPL, or even the internet or even ARPAnet existed.)
The thing now referred to as "SaaS" has been a thing a lot longer than the name "Software-as-a-Service" or the acronym "SaaS" to refer to the concept has existed.
Regardless of what one thinks about GPLv3, Ballmer could not possibly have been talking about it in 2001.
Under Ballmer's tenure as CEO, Microsoft's annual revenue surged from $25 billion to $70 billion, while its net income increased 215 percent to $23 billion
May all companies suffer equally incompetent CEOs.
Posted from my Zune
Slowly but surely the best developers are going to leave the Mac platform leaving only consulting body-shops and corporates on iOS. Developing for the Mac and iOS is miserable. It wasn't always that way, but it is now.
Developers* are sick of proprietary stacks, from the language (Swift), to the APIs (Cocoa/CoreX/iOS), to the conditions attached (iCloud SDK only available for Mac Apps sold through the Mac Store), to the penny-pinching (pay your $99 fee and 30% even though we're raising $billion in debt to buy-back shares and hand out dividends because we're too tight-fisted to repatriate overseas funds and pay taxes on it) to the still broken XCode which only runs on a Mac, which must run Yosemite which feels like a Fisher-Price toy rather than a workstation for developers.
*Well, ok, I'm sick of it, but I'm sure a few people reading this are feeling the same way.
As for your comment on the 30% fee, that's industry standard and few serious developers complain. The $99 fee is nothing compared to the amount of time it takes to build and design a quality app.
The 30% fee is not an industry standard that was debated and researched and rationalized. It's an abitrary number picked out by Apple first and then followed by others in order to maximize income from the work of third-party developers who are forced to pay or quit the platform. It's a de facto standard imposed by the platform gatekeepers. Calling it an "industry standard" sounds like it's an ISO recommendation :-)
There is no reason at all to charge a $99 fee to developers given the vast income generated from the 30% and the overall health of the company. This is nickle'n'diming developers. Some people claim that "Apple Developer" is a cost-center, an independently run business silo that must generate a profit to justify its existence, that it's not a charity... i say no. It contributes to the overall well-being of Apple Inc as a whole, just like human resources and research and development does, it helps contributes to the overall profits of the company, so when we look at the company's overall financial health, in my mind, there is no doubt that developers are being taken for a ride because...
...they have nowhere else to go because their Apple centric skill-set is not transferable to other platforms.
What about Sketch, AgileBits, Alfred?
I know many long time devs who are still doing it and haven't sold their products to others to maintain... And I also happen know -lots- of new Mac/iOS devs.
Nothing to say about the 30%, it's just a pathetic argument, people have pointed it out already.
There is a reason to charge a $99 fee. There's also a reason to force a user to put a credit card to create an App Store Account, there's a reason to request a CC to create an Amazon account too. And $99 bucks is literally nothing, check MSDN and Visual Studio (https://www.visualstudio.com/en-us/products/how-to-buy-vs.as...).
About 'Apple Centric Skill-set' not being transferable to other platforms? Sorry, but... are you f'ing kidding me?
If you learn -any- framework, made by anyone at all, in-depth (not just copy pasting code here and there), you'll get skills that are transferable to other development environments. I've learned a ton of C/C++ and even some Assembly by doing iOS, I've also dealt with several scripting languages in the process.
If you're a real Engineer, and you really learn and understand a framework (Apple's or not) it should contribute to your growth.
What's the point here? :)
Apple democratized and revolutionized that entire industry, providing a level playing field where I can compete with Omni, and we both have the same hoops to jump thru and get the same deal. We both get a much better deal than before.
The $99 fee covers the cost of administering the developer program. This program is hugely popular, and is already overrun with people who just want to get access to early versions of iOS before they are released publicly. Even with the $99 fee. It's a very low fee so that anyone serious can afford it, but high enough to keep out the problematic people who would abuse the service and overwhelm Apple's developer support resources.
Seriously, I find it kinda curious that you're complaining about $99 as if it's some big barrier.
The idea that an "Apple centric skill-set is not transferrable to other platforms" is pretty darn silly. I mean, sure, if you learn to program using Cocoa you will be frustrated and annoyed at how terrible certain other platforms are to develop for.
But these days only HR people seem to think that programmers can only learn one langage and that experienced in one language is not useful in other languages or using other frameworks. Are you an HR person? Because that perspective is not one I would expect from any software developer.
Apple charges 30% because they can, just like how CompUSA could charge whatever they wanted and make you pay for boxing and associated costs, because the software you spent a year writing cannot be sold anywhere else except on their platform. And if you want to sell by yourself on the Mac, without using the Mac App Store, you are a second class citizen because certain APIs like the iCloud SDK are not available to you.
If the $99 is a nominal amount, why even charge it? Why $99 and not $49? Or $199? Again, it's a number they came up with which they felt a certain demographic, let's say teenage programmers could afford, or younger kids could get their parents to pay for. I'm open to better reasons if you have one.
Being experienced in many languages does not make one a good programmer. You can be the jack of all trades and master of none. You think someone can just pick up C++ in a few weeks and become an "expert"? It takes years to become proficient in not only a single language but it's associated tooling and ecosystem.
I have no doubt that there are many developers out there who have spent years of effort learning Apple's proprietary stack and are now regretting it and kicking themselves because a decade has passed and Apple, as a friend to developers, has regressed and gone backwards.
Finally, Cocoa is a nice enough API, but have you ever had a problem and then tried to resolve it? Good luck going to the sign-in Apple developer forums where everyone shouts "ssh, we can't talk about it, it's under NDA" or having to file a bug report on Radar where nobody even responds and when they do it's to say it's a duplicate bug filing or, or opening a DTS incident and having the person say "Yep, it's a bug on our end, not sure when it will be fixed, in the mean time try a workaround". How is this better than having an open roadmap with discussion in public forums regarding language/SDK features, bugs, fixes etc?
Advance access to IOS kind of messed that up, (at lot of people paid the developer fee to access the next operating system) which is why application to the WWDC lottery is probably a better estimate of developer count.
I guess another way to look at it is this: If you had an idea for a desktop app today, would you decide to write for Mac first using a proprietary language Swift and proprietary SDKs like CoreData or would you pick C# and .NET so the bulk of your code could be re-used on both desktop and mobile, and you could bind to native toolkits for the UI?
Who are some big C# developers that create major applications consumers (Not enterprises) use everyday?
You mentioned the paucity of major OSX/iOS developers, but I'm not sure the case isn't the same for C#/.NET.
The last 12 months have been pretty horrible for them in terms of their relations with Apple. Sure they're toughing it out because it's not like they have other revenue sources, but those experiences have jolted them into finally considering moving beyond being just a Mac/iOS shop. So they're not a very good example of "all is well in Apple developer land".
I've been itching for someone to stick it to Apple since they're really being tight with money in some places (annual developer fee as you mentioned), and wasting it on share repurchases.
It's time for someone to really compress Apple's margins.
And developing native Windows applications with Microsoft's tools is still just as proprietary as anything on the OS X platform. The recent open-sourcing of the .NET web stack means nothing in this regard. Unless you're telling me that there's an open source C# compiler that can do the job now?
I'm a couple weeks away from paying the Apple license, and starting to write my first iOS app, so I may not know all the costs and foibles of Apple development yet. I'm open to the fact that I may be ignorant of needing some basic things, like on Windows, to REALLY get the job done.
My standpoint is that by developing on someones platform, I am doing them a favor. I'm happy for them to not roll out the red carpet, but there better not be a bouncer checking me at the door, either.
If I have to sign up to used your SDK (unreal, unity), I'll just use something else.
And Microsoft will rescue them... Yeah, right...
What's wrong with C# and F#?
I've watched Microsoft since the 1980s. One year is way too soon for me to believe that they've changed their stripes. In particular, it's way too soon for me to want to tie myself to their platform.
Once their open source .Net would get most of Windows version features there may be some use for it with same drawbacks like you have with Java for example.
And what did Microsoft do? They bought a browser and gave it away for free, cutting off Netscape at the knees, til the company folded and become the Mozilla Foundation.
They poured billions and billions of dollars into online initiatives from the Microsoft Network to Bing, including buying dozens and dozens of companies.
None of those were big successes. None of those have been a "tidal wave" of innovation, or success, or money. At least that I can see. Internet Explorer became dominant, but mainly due to bundling and that has gone away. IIS was a popular web server for a long time and people have written web sites using microsoft technology, but .net which is just a renamed MFC, isn't really much more used outside the same types of shops that used it before 1995. Yes, the mono project brought it to linux and made C# a more viable language, but that wasn't Microsoft's doing.
Maybe I'm missing something. Xbox and Xbox online are huge money sinks that I don't know if MSFT is ever going to recover the money from. The stock has been flat during that period while google, amazon and apple have been going like gangbusters. (And given the level of monetary inflation over the past 15 years flat means down.) Yes, it did boom during the bubble but that was %100 windows and office from the boom in companies putting computers on everyone's desk. And yes, it's grown the past couple of years after being flat from 2001-2011. But that's not a result of the 1995 "initiative".
Microsoft, like Apple, unfortunately for both, doesn't quite get the internet. It doesn't get mobile (unlike Apple).
The new CEO might change this, I don't know.
But the "internet tidal wave" happened pretty much completely without microsoft.
For the record, I worked for the company near the time of this letter, lived in Seattle during most of the intervening years and have been watching Microsoft closely for about 25 years.
I can't agree with this. MFC was a thin C++ encapsulation of the Windows API. It was a reasonably successful technology but was unloved largely because it was so thin - it didn't try to fix the ugly mess beneath and so left developers wrestling a large smelly octopus. .Net was more of a clean room attempt to provide developers with a clean, sane, consistent API built on a new virtual machine based architecture complete with a shiny new language (C#, basically Java++).
"MFC was introduced in 1992 with Microsoft's C/C++ 7.0 compiler for use with 16-bit versions of Windows as an extremely thin object-oriented C++ wrapper for the Windows API."
Thinness is probably in the eye of the beholder, but as one of the many MFC victims back in the day, I found using MFC to be endlessly frustrating because it added a layer of complexity and pain to Win32 programming without giving me anything I really wanted back in compensation - you still needed to work directly with arcane Win32 mechanisms to do simple things, like, change the background color of a window for example. Admittedly there was some (less thin) Document/View model stuff thrown in there, but the impression I got was that this was an afterthought bolted on the side.
In contrast, Qt and wxWidgets for example are toolkits that are designed to make a programmer's life easier by providing a genuinely convenient abstraction of a Windowed GUI.
What they did was bundle internet connectivity in with the every windows PC. Sounds ridiculous even mentioning it, right?
Back then you couldn't connect to the internet without installing third party tools, usually from an ISP on a disc. You had to install a browser, you couldn't embed hyperlinks in documents, there was no built-in way to get an email client..etcetcetc.
The original memo was not about building developer tools for the internet, but on taking a stand-alone operating system and shipping it with networking and hyperlinks and forming partnerships with ISPs and on and on.
It was much simpler for users to put in the AOL disk and stay inside their walled garden - both conceptually and technically easier for laypeople.
Just because Microsoft went on to dominate the desktop market and win the browser war doesn't mean it was inevitable.
This ridiculous comparison shows just how clueless you are about the .NET platform and Windows development.
erm..... no. Sorry, but if you really think that, then you need to go and read something about what really is .net
He (Guthrie) blogged a few times about evangelizing open source in Microsoft, and given today's news, he gained quite a bit of traction over the years. It also helped that ASP.NET MVC is a pretty sold web framework too.
While it's true that Microsoft was taking steps to open source products under Ballmer, it was despite him, not because of him. There was an incredible amount of red tape, dragging of heels and internal fear uncertainty and doubt. Even internal only projects to synchronize open source practices among divisions were an uphill battle. If anybody deserves credit for Microsoft's open source efforts at that time, it's Sam Ramji who should get the credit, not Ballmer.
From the outside, Microsoft under Nadella has all the stops removed. This all lines up with a quote that I heard from Nadella 3rd hand: "We [Microsoft] can either push the 'One Microsoft' vision, or we can make money."
It will never go away, there's too much code and money involved, but it won't be used for new projects.
I would interpret that statement as: it's on the way out.
WebForms and MVC and WebAPI were different stacks that ran on top of asp.net to deliver different functionality. WebForms is the old school stuff and was great at what it did (which was replicate the winforms ability so desktop developers could rapidly create webapps) and serves millions of businesses today.
WebForms is still being supported but now finally seems to be removed from future roadmap. MVC and WebAPI have been combined together now. The latest stack is ASP.NET MVC 6 running on top of ASP.NET 5 running on top of .NET framework 4.6
The layers are ASP.NET MVC 6 running on ASP.NET 5 (the web framework) running on .NET Framework 4.6 (the core libraries).
When this tool crashes, we automatically collect crash
dumps so we can figure out what went wrong. If you don’t
want to send your crash dumps to Microsoft, don't install
Edit: there is only a small "preview" symbol on the top left, beside that no text or screenshot mentions it: https://code.visualstudio.com/
"Code uses a newer, faster version of the same industrial-strength HTML-based editor that has powered the “Monaco” cloud editor, Internet Explorer's F12 Tools, and other projects.": https://code.visualstudio.com/Docs
It's based on Electron: http://electron.atom.io/
(look at the bottom of the page)
Look at the VSCode-linux-x64.zip in dir "\resources\app\server\" there is a "monaco.impl.js". It's the "monaco" editor component that comes from Switzerland that is also used in Visual Studio Online.
// Handle crashes
But for those who care about their privacy, IMO its approaching the problem from the wrong angle if you're trying to get some developer to change their code to respect your privacy. Its their code. They can do what they want.
We as users should have protections from them attempting to submit information we don't want leaked. To me the solution is better perimeter monitoring and filtering.
While not practical in many situations I would highly recommend filtering all outbound traffic using a new firewall that supports such features (Sophos UTM for one, PfSense for another). Its the only way to know for sure those requests don't get out even when there is a disable option.
If have something popular, e.g., .NET,
then make it open and promote it as a
standard. Then come out with enhancements
every few months.
Part of the script is what Ballmer
once said in his uniquely understated
way -- "Developers! Developers!
Then initially many
developers will adopt and use the
standard because it's open and, thus,
universal, at least pretty
good, and free.
Then, later, as Microsoft
makes improvements each few
months, it will be next to
impossible for anyone else to
make a fork that is competitive
so that Microsoft will, then,
continue to own the standard.
Or, if a developer wants some new
feature X, then they will likely
just wait for the next version of the
standard and hope.
So, thusly owning the standard,
a major part of computing which
can be very powerful for Microsoft
and a farm where only Microsoft
plows, seeds, and harvests.
E.g., nearly all the developers
would be on .NET, etc., but
Microsoft and only Microsoft knows
where the .NET standard will be
in version n + 1, n + 2, ... out
several years into the future.
Then the rest of Microsoft can
start development now that
exploits the standard, say,
two years from now while everyone
else has to wait two years
even to start. Bingo. Presto.
The parts of Microsoft that
exploit the standard get a
two year head start.
Or, maybe at one time a computer
company, say, HAL, designed, manufactured,
and sold hardware, operating system
software, middle ware software,
and applications software. Then
they had hardware enhancements
right along, say, each year or so.
Well, the hardware specification
about had to be in the manual
Principles of Operation and, thus,
essentially open. So, some
plug compatible manufacturer, say, GA,
could get the manual and build
a cheaper version of the hardware.
Well, the HAL software people knew
what good, new functionality was
coming to their hardware some years
before GA or
anyone else did and could have
a head start of those years.
One heck of an advantage.
Net, thusly owning an open
standard can be very valuable.
"Microsoft has come a long way from the company that everybody loved to hate"
Although, during the last few years, MS seemed to be the company that everyone ignored. But there is still a lot of built up animus against MS, due to their past business practices.
Perhaps a younger generation can get some value out of their products, though, which would be nice for all the people who work there.
The fact is, Nadella has made open source a lot more palatable from Microsoft.
I think it's funny that MS uses 3rd party opensource for building a editor that supports Visual Basic (and other languages of course).. According to me, Roslyn does the intellisense (it's opensource now) and CoreCLR is the RyuJIT-compiler (also recently opensourced).
I suppose the Asp.Net 5 framework is perfect for beginning with this ( grunt, bower, ...). Debugging currently works with Mono 4.0.1 and node, soon all of them will be supported because of CoreCLR (source: https://twitter.com/shanselman/status/593454392851845120 ). .Net has a lot of nice things to offer ( odata, f#, entity framework, typescript), i'd be happy to see them getting more traction :)
This move was unthinkable a decade ago. I'm very glad to see MS moving in this direction. Just because of this announcement I want to start playing with TypeScript and C# again.
From Wikipedia: The strategy and phrase "embrace, extend and extinguish", was first introduced in the United States v. Microsoft antitrust trial when the vice president of Intel, Steven McGeady, testified that Microsoft vice president Paul Maritz used the phrase in a 1995 meeting with Intel to describe Microsoft's strategy toward Netscape, Java, and the Internet.
smart because it’s embracing and extending. Let’s hope
Microsoft doesn’t try to extinguish. That’s the third E.
BRENDAN: I don’t think they will. I think they actually
people like Anders Hejlsberg about this.
ES6 and the Harmony agenda influenced TypeScript. Where
TS went its own way on things like open modules, MS has
promised to track the Ecma standard versions ASAP.
In particular, TS classes were purely an extension to
ES6's design, while ES6 was not frozen. There was not
feedback the other way, at least not phrased in terms of
TS -- the MS folks on TC39 had to make more generalized
arguments for changing the draft ES6 spec.
You can read the full thread there, it's just 3 days old: https://news.ycombinator.com/item?id=9442011
It was not cross-platform
"Write once, run everywhere" is a threat to a company whose entire business model is based on "everywhere" being owned by them.
A lot of that changed starting with Windows 95. Though, it's really 1998 that MS practices in terms of embrace/extend/extinguish was at their top.
The school was lending special network card for the few pupils (less than 10 among 400) who had linux on their PC. The common network card (we had network plug in our rooms) was not supported by linux.
Even if linux was not mainstream, Cross-platform had already a meaning at that time and djgpp was well known to run programs on dos (for example caml-light, the ancestor of ocaml).
> OpenVMS VAX
> OpenVMS Alpha
That's very much debatable. As a particular counterpoint, Apple hardware had a pretty significant market share among educational deployments. There were quite a few schools that were Mac-only even as late as the early/mid 2000s, let alone in the 90's.
Now granted, a big reason why that changed was because all the homes and businesses used Windows (or some specialized Unix like Solaris or IRIX), so the education market eventually shifted to the Windows world, but that happened quite a bit after the 90's.
Those who cannot remember the past are condemned to repeat it.
And those who can are condemned to see others repeat it.
Don't get me wrong---I'm as happy as the next guy about this. VS is the only tolerable language-dedicated IDE, if they take 25% of their VS engineering mantra to this it will be better than almost anything else.
But where does it end? I am clearly so not in touch with my inner mba. I just cannot even think of how what they are planning in the long run, here.
What's going on? Have they lost their minds? Is there a secret master plan? How realistic could that be? Is this the red giant to their eventual white dwarf?
What I took from it is that Microsoft used to make all their money from Windows and Office, but now the company is looking to transition towards being a service company rather than a product company. As a service-oriented company, restricting developers towards a single platform doesn't really help them, so ultimately it's in Microsoft's best interest to get .NET out there as much as possible so that people will want to choose their services.
I won't admit to "getting it", but what I gather is that Microsoft want .NET to be a valid choice for everyone.
I think it's apparent that Microsoft has admitted the reality that the operating system just doesn't matter any more - and you're not going to make money there.
So it's all about services, and Azure is one of the sources of those services.
At this point, they want to do this with Azure services. Which is very easy to work against with very rich tools in .Net. They're extending this development ability to other platforms, so that hopefully people will choose to use .Net even if targeting other platforms in the hope that people will choose to deploy to Azure over other cloud providers in much the same way that I chose to deploy to windows a decade ago.
This doesn't even count migrations of existing applications, which may well be better off on Azure (in windows) with new systems under Linux. The past two years, I've spent supporting Windows applications where a next generation was moving to Linux (node/iojs). Right now I'm doing this against Azure.
Being pragmatic, I'm even using Azure Storage (queues, tables and blob) for migration data, which means I don't have to setup/configure/manage a bunch of servers to do these tasks. Setting up RabbitMQ isn't hard, but there's time involved. Setting up C* isn't hard either, but if the data is transitional (using azure tables to hold data exported from the old system, and queues to trigger import into the new), it doesn't make sense to configure my own server. After using these services, I may use them more deeply, I'm already using Azure Tables for my configuration settings even, so I don't have to maintain an etcd/consul cluster.
All of this said... while I am mindful of getting locked in, and do have a strategy for breaking out, and my core application data won't be in azure services... actually using them makes me consider using them more.
From my own experience, what they are doing is a legitimate strategy and far better than how they approached it early on, and may still be. I stopped attending .Net conferences/meetings about 4-5 years ago because they were turning into Azure sales presentations more than development presentations in general. This is also the same time node.js started to become a viable contender, and I started using it for web project client files (js merge/min, less etc).
With the free W10 upgrades for 7/8 users and a 30% cut of Windows Store sales, they stand to make some money. But they have to get developers back on their side first, otherwise the store stays dominated by garbage.
I haven't paid much attention to native apps either desktop or mobile. I've built my career understanding distributed systems/communications flows and web based fromt ends... To me most of that is a better experience than what little attempts I've made at front end platform development.
They're also supporting Objective-C now, with VS slupring up Xcode projects. Did not expect that one.
Though I will say that Azure is all about getting you to use non-VM services, to generate lockin to their platform.
Whatever it is, I'm not sure I've actually been excited about what Microsoft is doing since Windows 2000, and that's starting to change.
The .Net plaform that's used by enteprises and devs also in the Unix/OS X world?
A couple nitpicks...
* There doesn't seem to be a way to set the file encoding... can I assume that files will always be saved in UTF8 w/o BOM?
* There doesn't seem to be a way to set line endings... can I assume that files will always be saved with unix (lf) line endings? By extension, will this fix windows line endings, or mixed to LF line endings?
* It would be really nice if there was an integrated command prompt, similar to cloud9's, that could be shown/hidden. Configurable to use a given shell (in windows, I'd prefer a git-bash prompt).
All in all, really nice work, and this may well replace sublimetext everywhere for me. I don't use any of the more advanced plugins with sublime, and I actually like the VSC editor's UI more. They seem to have burrowed the hotkeys from sublimetext.
The Microsoft of old would have died out eventually. What we are seeing is not something you see often - a behemoth of a company doing a 'pivot'.
What would you do remain relevant in the face of the majority of the internet services not going anywhere near Microsoft for material income?
After a few generations raised on smartphones and tablets without any Microsoft apps, Microsoft Office would just be a curiosity their parents used, like Corel Draw or dBase.
Fortunately Microsoft has taken note; there's rumor of Android Office apps, and the latest version of the Surface tablet is quite popular.
Microsoft, and in particular, Office is still going strong, but the stranglehold it had in the 90's is gone.
Google may want businesses to pay, but going to docs.google.com and using your personal email address works just fine - much to the chagrin of IT departments everywhere.
Google Docs doesn't hold a candle against it while LibreOffice can barely sneeze in front of it.
What non-technical users request won't matter, they will ask for whatever they are familiar with and complain if any icon is moved just slightly.
I like Google Docs as much as the next guy or girl, but I find this hard to believe when we had to end a meeting several minutes into it when the Google Doc displayed an http-500-style error when trying to load a spreadsheet.
MS is still corporate-centric in the US, and popular in foreign countries where Apple stores don't exist in large numbers.
In the US, perhaps. Where I study, I can count the number of people owning MacBooks on my fingers. They're still way too overpriced/lacking in hardware compared to PCs at the same market rates.
All of that said, outlook integration to office365 is actually worse as a mail client than it had been in the past with self-hosted Exchange. Counts don't update properly when you "delete all" from a folder, and even then it's inconsistent. I know it's to allow for better scale/resource control on the servers but it's still very annoying to say the least.
I hate sounding like an advertisement for MS, but it really isn't THAT much of a pivot. More adapting to keep those parts of income that used to come from server licenses now as services. Not even mentioning Azure as a target, which is probably the best bet for keeping legacy apps running while transitioning/refactor/rewrite to new generations.
- they have an history of discarding products on a whim,
- playing the strategic game and stifling smaller competitors,
- having a new CEO doesn't mean it's a new company. The people are still there, there are still fragmentation and silos, and the attitude.
Contrast this to Oracle/Java. Or about any other huge corporation.