Hacker News new | past | comments | ask | show | jobs | submit login
Microsoft Launches Visual Studio Code, a Free Cross-Platform Code Editor (techcrunch.com)
1608 points by MikusR on Apr 29, 2015 | hide | past | favorite | 543 comments

Ever since Nadella took over at Microsoft, such news items are becoming more and more frequent. Ten years ago, my first reaction at such a headline would have been to check my calendar if it's April 1st.

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.

By design, Nadella is getting credit by design for 'overnight changes' many years in the making. Windows 10 reflects the strategic decisions embodied in Vista. Ballmer owned enough stock that along with Gates' backing Microsoft could produce a largely incompatible new version of the Windows OS and Wall Street could like it or lump it. Gates and Ballmer have been divesting Microsoft shares and the new company is beholden to the "What did you do this quarter?" analyst's mindset. Before he left, Ballmer set the course and ensured there was a tick tock product development cycle.

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.

Indeed, Nadella is an opensource guy that had the chance to grow during Ballmer. While Microsoft (during Ballmer) had a slow change (going more opensource) from the bottom-to-top, there has been a faster change now from top-to-bottom. I remember Scott Hanselman, Scott Guthrie and Phil Haack (now at Github) during Ballmer as opensource contributors.

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.

Just to clarify, Microsoft bought the mobile phones division from Nokia, not Nokia itself.

The layoffs come at a cost to the people who lost the jobs, not as much as a cost to Nadella or Microsoft. In fact, layoffs are usually a positive for the company. Of course, I'd also argue that in the longterm, layoffs are a positive for most of the people laid off.

Have you ever been laid off? Why was it a positive for you?

I have been laid off. In the end it was positive for me.

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.

It sounds like you just needed the right motivation to improve your quality of life. I think that is called "tough love" and it doesn't always work for everyone. But I'm glad to hear that you turned what is usually a negative into such a positive!

Nadella didn't buy Nokia. The deal was already announced before he became CEO. He was actually strongly opposed to the idea initially.

> He was actually strongly opposed to the idea initially.

Source? What changed his mind?


Either way, Nadella didn't orchestrate the Nokia deal, Ballmer did.

Nadella did have a few softballs lined up for him, but they were likely no more than a few years old. Don't overestimate what can be done in two years, but don't underestimate what can be done in three. Let's not paint Ballmer as an Ozymandias, though, secretly architecting the salvation of the company for 10 years while on the face it looked like they were teetering toward annihilation.

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[1] 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.

1: http://news.netcraft.com/archives/2014/02/03/february-2014-w...

"Microsoft’s most recent growth in hostnames since mid-2013 has, for the most part, been caused by a large number of Chinese linkfarms (泛站群). The sites in question provide advertising for gambling sites, online product listings, and normally make use of affiliate schemes. Yet they are hosted in the USA, on generic TLDs such as .com and .net to bypass China’s TLD and internet content provider (ICP) license requirements. Unusually, each linkfarm makes use of a reasonably large number of domains and IP addresses, presumably making them harder for search engines to evade. This would normally be cost prohibitive for this kind of activity, however hosting and domain packages can be found advertised on auction sites specifically for this purpose, with packages of (random/unspecified) .com domains available for as little as ¥17 (~ £2 / $3) each, guaranteed to remain yours for at least a month. It is not clear why IIS has been chosen for these sites, however it does have a considerably higher market share (for all of our metrics) in China compared to worldwide - for example 59% of domains hosted in China use IIS compared to just 29% worldwide."

source: http://news.netcraft.com/archives/2014/07/31/july-2014-web-s...

Your comment is spot on. People don't look under the covers to realize this kind of change simply cannot happen over night or "because there is a new captain."

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.

> Windows 10 reflects the strategic decisions embodied in Vista

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.

Vista broke with DOS and 16bit code. It elevated security. It required better hardware. It moved x64 toward the mainstream. The architecture of the OS was brought forward a decade.


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.

> Vista broke with DOS and 16bit code.

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...


Pretty sure that "breaking with DOS" has already been the case since NT.

Depends of the definition of breaking with DOS.

What you say is "Tick tock" was actually "flop, recover".

The VP of Vista fled to Amazon before it was publicly released.

Vista had some big changes in it, but shipped with lots of issues and had horrible driver support at the beginning. A while back I set up a laptop for aged relative with Vista plus all the service packs and fixes, and it was really fast and smooth. Very surprising.

When Vista shipped, the problem with drivers was that many manufacturers chose not to update drivers for most legacy hardware to the new, more secure driver model. The other standard complaint was with its security popups. Part of that was rough edges on the user experience design, part was just that people weren't used to thinking about security on their machines...that's changed over the past few years. And of course a lot of the complaints were because Vista was a change.

Also it's not that system was throwing UAC prompts on users, applications did. Ever since XP there were rules around what files go where, how installers should behave, etc. but people chose to ignore them (because they could). When Vista started enforcing certain things, elevation dialogs happened. What made MS in the days past (app ecosystem) broke it when quality started to matter.

Yes. People who are quick to criticize Ballmer and praise Nadella do not realize that even though Ballmer was mostly into cruise control he indeed let people like Nadella lead other important efforts. None of these products seem like "overnight changes".

I don't know if he is an idiot but it is under his watch that someone signed off on windows 8, thinking hum, customers are going to love that.

The problem that Ballmer made in Windows 8 and Windows RT was in making the GUI for desktops and mobile devices the same.

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.

I think it is more problematic than that. It takes only a few minutes of using Windows 8 on a desktop to realise it was a terrible idea. Like when you right click and the context menu appears at the bottom of the screen. They clearly haven't tried that with a mouse on a 4k monitor.

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.

Evaluating a user interface in a few minutes makes sense for things which will be used for a few minutes...and for journalists in need of sensational headlines under deadlines. An operating system is complex and used over a long period of time. Using Windows 8 meant I had to learn something. It took a day or two to become effective. A few months to become more effective than I had been under Windows 7, and a while before I really started to get it.

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 don't need more than a few seconds to find that the contextual menu at the bottom of the screen was absurd. Being frustrated with it means I would try to avoid using it, go around that problem. The solution Microsoft advocated for desktop: use keyboard shortcuts!

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.

Consumers are not the primary target for Windows. Never has been. Microsoft is primarily a B2B company. That's why they have long support cycles. That's why they make Excel. That's why they make Visual Studio...and languages and frameworks and SQL Server and Windows Server and Exchange etc etc.

Picking tools based on first impressions, is in my opinion, a suboptimal strategy. YMMV.

They are getting cornered into a corporate environment. But they used to dominate the consumer market, and windows 8 was precisely designed to reconquer this lost market share.

> It took a day or two to become effective. A few months to become more effective than I had been under Windows 7, and a while before I really started to get it.

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?

My wife and I share a laptop that runs Windows 8.1 Pro. In order to help her use it I had to install a program called Classic Start Menu that brought back the Start Menu. She could not figure out the Modern UI screen.

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.

Ballmer wasn't an idiot.

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.

I think that it's much more reasonable to assume that he was talking defensively, as he actually did see the enormous threat of ios. He sounds like a scared man there.

But both of us are just assuming.

I'm not sure what they're getting at with the "Microsoft is building its own hardware, just like Apple." jab. Microsoft has had a hardware division since 1982!

But no Windows computers before Surface.

I must agree with even though I don't want to. Microsoft seems to legitimately changing its behavior.

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.

This editor is built on Atom.

From their docs: https://code.visualstudio.com/Docs

Architecturally, Visual Studio Code combines the best of web, native, and language-specific technologies. Using the GitHub Electron Shell, Code combines web technologies such as JavaScript and Node.js with the speed and flexibility of native apps. 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. And Code uses a tools service architecture that enables it to use many of the same technologies that power Visual Studio, including Roslyn for .NET, TypeScript, the Visual Studio debugging engine, and more. In future previews, as we continue to evolve and refine this architecture, Visual Studio Code will include a public extensibility model that lets developers build and use plug-ins, and richly customize their edit-build-debug experience.

The Electron Shell was previously known as the Atom Shell. So part of it is Atom work.

Fair point. I wanted to clarify the difference since "built on Atom" has a different meaning to me than "using the GitHub Electron shell". The first sounds like an extension to Atom and the second sounds like a whole new app.

They started work on this before the Atom Shell was "Electron" and speaking to the team in Zurich before this was unveiled (about 3 months ago) they mentioned this was built on top of Atoms foundations. There is an Atom binary inside the package app and this is where my comment came from (:

embraced and extended? [ducks]

I don't think they've extended it yet:

$ /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Atom .

Can't be entirely Atom since so far it actually seems pretty responsive.

Oh, snap!

It seems this is the predecessor: Visual Studio Online (2013): http://weblogs.asp.net/jongalloway/a-quick-look-at-the-new-v... (scroll down half way to see the screenshots and videos) So the idea and technology behind it predates Satya Nadella CEO appointment by at least 3 months.

MS has always had great ideas and technology waiting in the wings. The problem was always they could never ship it.

Nadella's contribution is to make it possible to ship this sort of thing. Shipping this under Ballmer would have been a miracle.

> ... always ... waiting in the wings ... ship

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.

You just have to look at the amount of money they sunk into R&D in the last 15 years, which is public data. Nobody spends that sort of cash to simply develop simple iterative versions of established products (which Windows and Office have been ever since XP, really) or one random new gizmo (Kinect).

R&D gets favorable tax treatment. Maintaining an OS, whatever it costs, is R&D.

Have a look at the list of projects here http://research.microsoft.com/en-us/ and see how many are probably going to be profitable in the next couple of decades. It's actually pretty amazing how much research Microsoft fund that seems unrelated to any of their current product lines.

I think MS Research would be a pretty amazing place to work.

MSR really is an incredible place to work, but also impossibly hard to get in. It's akin to getting a fully tenured professorship at a top-tier computer science program. Back when I was in graduate school, MSR dominated every other computer science research department in the number of SIGGRAPH papers they published each year. And that's just in graphics.

If i remember correctly, Haskell is being developed in MS RD. At least they have hired the main Haskell dev, and I think he was involved in the F# dev work, including ideas from Haskell. IThis was commented on in a talk with the Erlang and Haskell devs.

ghc, the Haskell compiler everyone uses, is developed mainly at MSR in Cambridge, UK.

I've never worked there but I know people who did. And anyone who follows MS Research can read between the lines. No direct experience here though so I'm the wrong person to write it up.

You could google for that minimsft blog and the `we forgot how to ship´ trend of a few years back (from Sinofsky(i?) I believe).

100% true on all counts.

Visual Studio Online is basically TFS online. Think github + CI + Kanban board + Issue tracking online.

It's more than that. Scroll half way down on my link above, check out the screenshots and video.

Visual Studio Code is more like an offline version of Visual Studio Online (the editor part), 2 years later.

The editor is a tiny tiny tiny tiny part of VS Online.

And exactly that "not so tiny" editor is the big part of Visual Studio Code. And it is not trivial at all - it's a very complex component to get right. The editor component comes from Switzerland and is called "monaco" and one of the main reasons why the "TypeScript" language exists and why ES6 looks as it looks today.

So it's crappy HTML and JS underneath? I was hoping for cross-platform WPF :(.

Agreed on the crappiness of the web stack for this application. But WPF isn't necessarily better. Case in point: a Bible study program where one's choice of video card actually mattered, at least in 2009 (see http://community.logos.com/forums/t/6200.aspx). BTW, I only know about that specific example because my brother is a preacher.

I think a better foundation for a cross-platform editor/IDE would be SWT, the Standard Widget Toolkit from Eclipse, perhaps ported to .NET.

And this is why it's web stack: there are no better alternatives.

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.

I think that SWT proves that for some criteria, particularly nativeness and accessibility, it is possible to do better than the web stack while covering all major desktop platforms.

Or even IntelliJs skin and components for Swing.

Do the IntelliJ skin and components have any advantages over Eclipse's SWT in your opinion? My understanding is that Swing is much heavier. In fact, SWT was originally designed for Java 2 Micro Edition [1].

[1]: http://flylib.com/books/en/

Swing was crap at the time, but it got significantly better.

Cross-platform WPF did exist. It was originally called "WPF/Everywhere" but eventually branded as Silverlight.

WPF?! You cannot be serious.

WPF is, by far, the most pleasant and flexible thick client, windowing system out there. XAML is a bit verbose, but the binding capabilities combined with an open source MVVM framework like Caliburn allow you to build extremely flexible UIs.

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.

Also <grid> (as a sane alternative to <div class="table">) where you can actually align stuff exactly the way you want.

You know about flex box right?

Microsoft should have bought Qt when they acquired Nokia. So they have an alternative for cross platform desktop development.

This makes sense , Microsoft does not support C for user space development , and Qt/C++ is good way to push C out from user space development in all platform's .

It wasn't there anymore, Nokia sold it's Qt business to Digia quite soon after the 2011 announcement of Windows Phone strategy.

I find the binding part and MVVM stuff rubbish.

For me, the real value is composition flexibility.

Ahhh we can dream... sigh

Neato -- lots of JS code in: Visual Studio Code.app/Contents/Resources/app

Try using it to view its own source code inside the app!

Looks like it just uses Electron.

So is there any reason to use it instead of Atom? (assuming you're not developing with .net or C#)

If it supports any form of semantic completion (i.e. Intellisense) , that would be a reason. I'm still not sure from reading the article if that's the case, though.

Ballmer was good at sales but horrible at running a company. He was perfect before the internet came to be and before the rise of mobile devices. Ballmer, is in fact, what sunk Microsoft for a better part of a decade or more.

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. :)

> Open source is not available to commercial companies. The way the license is written, if you use any open-source software, you have to make the rest of your software open source. If the government wants to put something in the public domain, it should. Linux is not in the public domain. Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works.

- 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...

Is he wrong about the GPL? It actually does what he is talking about by design. Every company which uses GPL code is very careful about how they do so. A lot won't touch GPLv3 because of the newer restrictions. AGPL as well.

> Is he wrong about the GPL?

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.

He directly referenced Linux which is famously under GPLv2. You can argue with this wording if you like, but his observation is spot on and it's obvious to those are not unduly biased that he was speaking about the GPL and the licenses that were similar to it.

> He directly referenced Linux which is famously under GPLv2.

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.

By use it is pretty obvious he meant incorporate it as part of their products (ex. utilize a GPL library). Microsoft is a software development shop after all.

It seems to me like he was purposefully taking a hard political stance on a nuanced issue in order to drive people who are uninformed or unsure about these things into his own company's pen. It has nothing to do with linux, GPL, or any technicality, and everything to do with perceptions, executive policy, and business culture.

perhaps, but he was referring to the GPL, and this particular discussion started because one poster asked roughly "wasn't he being accurate"?

And the answer is yes.

What I think is "obvious to those who are not unduly biased" is that he was cherrypicking the most extreme example (the restrictive GPL license, which is not used by most open source software[1]), and then trying to use that to spraypaint FUD over the (much) broader open source concept as a whole.

"Open source is not available to commercial companies" is about as factually incorrect as any statement in the English language can aspire to be.

[1]: http://johnhaller.com/useful-stuff/open-source-license-popul...

weird how the GPL shows up as the most popular license by having double the marketshare of number 2.


" Craig Mundie remarked, "This viral aspect of the GPL poses a threat to the intellectual property of any organization making use of it."[35] 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.

If any of that FUD were true, how do you explain that Microsoft has been shipping the "Subsystem for UNIX-based Applications" add-on for Windows Server for a decade, while Ballmer was CEO?

https://technet.microsoft.com/en-us/library/cc771470.aspx https://en.wikipedia.org/wiki/Windows_Services_for_UNIX

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?

That was 2001. There was no SAS loophole to exploit. If you desired to sell software, you had to ship it. In a box. The GPL was as viable for businesses back then as the AGPL is today.

> That was 2001. There was no SAS loophole to exploit. If you desired to sell software, you had to ship it.

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.

In 2001 I sold a closed-source commercial product that ran on Linux and used LGPL librsries.

No, you can use Linux without having to open source the stuff you run on Linux. That is not an accurate observation by any stretch of the imagination.

"After a year and a half of public consultation, thousands of comments, and four drafts, version 3 of the GNU General Public License (GPLv3) was finally published on June 29, 2007."


Regardless of what one thinks about GPLv3, Ballmer could not possibly have been talking about it in 2001.

He is right about GPL. But there is a loop hole behind it, which all the open source companies use it. If the software is behind a web UI it does not need to be released back as a open source. Thats how all other big companies like Google, Facebook does not need to open source their source code back.

Using code is very distinct from using software (which Balmer referred to).

> Ballmer was good at sales but horrible at running a company

From Wikipedia:

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.

Over the same period Apple was going from $8 billion to $182 billion in revenue and Google was going from $3 billion to $66 billion in revenue.

You could say the pie was just getting a lot bigger. Why should one company be expected to eat it all?

Google is a completely unfair comparison as that was their prime growth stage.

No doubt Microsoft under ballmer launched quite a few failed products, but they've maintained their monopolies and have made record profits in the process.

Posted from my Zune

Some HN'ers may not recall Microsoft's "sleeping giant awakes" moment with the Internet in the 90's. Speaking of tidal waves, hang on to your surfboards, it's going to be big and fast. http://www.lettersofnote.com/2011/07/internet-tidal-wave.htm...

Tim Cook's too busy with Jonathan Ive and Angela Ahrendts, turning Apple into a luxury goods company, to even know what just hit him.

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.

Do you have anything to back that up? Personally, I feel developing for Apple platforms has never been better. Companies are still, for the most part, launching on iOS first and I don't know who the developers you're talking about are, but there are a hell of a lot of great developers still in the platform: Panic, OmniGroup, etc.

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.

Panic and OmniGroup were big 10 years ago. The fact that nobody has appeared on the scene, innovated and become a name that you or I can quote is quite telling. Where is the new blood? I personally know many long-time Mac developers who have sold their products to others to maintain, or have quietly slipped away and let sales slide.

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.

You are generalizing too much. Panic big 10 years ago? Coda came out in 2007, and it was pretty big for a while. So omnigroup is no longer a thing? They are alive and kicking. I agree that they both had faced problems with the Apple Sandboxing scheme, but I guess they'll overcome those issues (even by being out of the App Store).

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.


Coda? Coda is just Panic's new thing. They used to make the main file transfer application on Mac, Transmit, which was originally developed for classic Mac OS.

And before that they made Audion for Mac OS Classic (audio app that I used a lot).

What's the point here? :)

My point was that they were already stuggling to retain mindshare when Coda was released. They went from being a well-known fish in a small pond to being an average fish in a great lake, so their relative importance has certainly been declining from ten years ago.

It's an "arbitrary" number in the sense that it is the revers of the previous industry standard in the mobile space which was 70/30 in favor of the Carrier. Often times developers would get less than %30 of the revenue for their products. And they had many more hoops to jump thru to get to the market, could only even get a meeting to try and get on mobile devices if they were already a large company, and had to work with terrible SDKs, etc.

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.

The Internet democratized the entire software industry by allowing developers to sell direct to customers. You would no longer have to beg CompUSA to carry your boxed software in store. Before the rise of the App Stores, you could use Kagi or eSellerate to sell your software for 8-12%, or you could use PayPal, WorldPay, 2Checkout for 2-4%. Things are even cheaper and easier now with Braintree, Stripe, etc.

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?

Apple could not care less about that $99 fee. It is 100% immaterial to them beyond the function that it is attempting to server - act as a minimum bar of entry to the developer program.

The $99 isn't the barrier, owning a recent mac decent enough to develop on is the real barrier.

Exactly my point - the $99 isn't a financial barrier, but, your average user isn't going to pay it each year, so it creates a minimum barrier between "Users" and "Developers" to provide Apple with some insight into how many developers they have.

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.

It doesn't need to be a recent mac, I'm running Yosemite on a 9 year old Mac Pro. I think you can pick one up on eBay for under $400 if you look carefully.

Pixelmator team ?

If I'm not mistaken those guys appeared on the scene back in 2006/2007. They showed off Pixelmator at WWDC and it went down pretty well but that's still their only product, apart from an iOS version.

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?

Honest question, not snark:

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.

My first thought is any game written in Unity. Works on desktops and android more or less out of the box and iOS with a little bit of tinkering.

Supergiant Games (Bastion and Transistor) and Squad (Kerbal Space Program), to name a couple. And all the StackExchange sites are made on ASP.NET, if you want to count that too.

The Unity-oriented stuff are good examples. The Stack Exchange sites came to my mind as well, though I was hesitant to count web apps.

Neither! I'd say "fuck that nonsense" and go do something else.

Panic? You mean the company that pulled Coda 2.5 out of the app store because it was too difficult to sandbox? Oh, the irony.

And hell, they've even had worse than that. They went through a pretty horrible thing with Apple shortly after iOS 8 came out, over an extension they made.

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 agree with the feeling. I'm very frustrated that Swift has not been open sourced into LLVM. Apple is in a position to take the wind out of Microsofts sails, but it feels that they're more focused on profits than on what their developers are asking for.

thank you for pointing out the money part, I share the same sentiment as you do on this.

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.

If you think $99 is expensive just wait until you have to buy your first copy of MSDN.

So you're complaining about the $99 fee for an Apple developer license, but not complaining about needing to buy either the $1,200 or the $6,000 Visual Studio license required to develop commercial software? Oh, and you want InstallShield? And MSDN? And a better widget library, like DevExpress? Am I taking crazy pills?! The situation is hardly comparable. For a SMALL team in a corporation, even with Select and discounts, this is an enormous expense.

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.

I agree wholeheartedly.

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.

> Developers* are sick of proprietary stacks

And Microsoft will rescue them... Yeah, right...

Is there any reason not to use .NET now that it has been open-sourced?

What's wrong with C# and F#?

We'll know in a decade. It's too soon to tell whether Microsoft has something up it's sleeve. (The open source stuff is always a version behind Microsoft's latest, maybe?)

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.

embrace, extend, extinguish

Why would you trust a company like microsoft, when there are tons of true free/opensource software available?

Because their tech stack is pretty good from developer experience point of view. Good in the sense developer speed is good, as in speed in developing new features, understanding the code and debugging. There are not "tons" of good industrial strength free/opensource alternatives to .net stack. There are, but I've not seen one that would be of better quality. In ways Visual Studio is the gold standard of developer experience (unless one goes shell and makefiles all the way but that's... a different demographic I suppose).

At moment they only open-sourced core that only useful for running backends on non-Windows platforms which is useless on Mac as nobody run servers on it.

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.

.NET Core is available on Linux, FreeBSD, and Mac, so you can use it for servers on Linux.[1] A lot of developers (such as myself) use Macs for their development machines, so it's very useful to have the same framework/runtime for both Mac and Linux.

[1] https://github.com/dotnet/coreclr#get-net-core

Oh, yeah. Everyone knows Apple is doomed.

2/10 troll

It is now just a month shy of 20 years since that letter was written.

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.

> .net which is just a renamed MFC

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++).

I originally went from Borland C++ Builder to .Net 1.1, the move from one IDE to the other felt very familiar, going from MFC to .Net was nothing like this.

Yes. Microsoft hired Anders Hejlsberg (Turbo Pascal and Delphi) to architect their C# / .Net development tools. So you observed a distinct family relationship there. But MFC is a different beast entirely.

MFC is not a thin layer over the Win32 API, it's a thick document centric app building framework. If you want a thin layer around Win32 then try WTL.

From wikipedia; http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Libr...

"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.

My perception on MFC is that it was neither thin, nor particularly well thought out. It felt like something Microsoft started developing for internal use and that they decided to turn it into a product for developers, with all sort of idiosyncratic oddities that make perfect sense when you are Microsoft and none to anyone else.

Were you around 20 years ago?

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.

But those tools were hard for laypeople to use in 1995. Sure, Windows now had a web browser and email program but you still needed an ISP and the email client was confusing to setup. Hell, their own Microsoft Network service was hard to figure out; one phone number to connect to the proprietary service and a different one for the Web (which never connected for me).

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.

Your points may be true, but the point is they went from potentially letting AOL own all their customers to regaining the initiative. Prior to the strategy change, it would have been simple for AOL to maintain a steel grip on those customers and harvest all the value from them.

Just because Microsoft went on to dominate the desktop market and win the browser war doesn't mean it was inevitable.

- .net which is just a renamed MFC -

This ridiculous comparison shows just how clueless you are about the .NET platform and Windows development.

.NET is a renamed MFC? I stopped reading afterwards. You are completely clueless about .NET, aren't you? Do you think that Java and the JVM are just "rebranded" Delphi as well?

> .net which is just a renamed MFC

erm..... no. Sorry, but if you really think that, then you need to go and read something about what really is .net

Mozilla going nonprofit opem source was the best thing that happened to it.

There wasn't a Google then and Apple was much weaker. But I'll hang on to my surfboard nevertheless.

The push to open source started under Ballmer and has been gaining momentum the past few years. You saw some of the very early open source work debut when Scott Guthrie open sourced ASP.NET MVC 2 in 2010.

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.

I was at Microsoft when Nadella took over Azure but I left before he became CEO.

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."

Funny thing is most MS devs seem to think that asp.net is on its way out.

There's ASP.Net and there's ASP.Net MVC. They're very different beasts, even though the latter is/was built upon the former. ASP.Net probably is on the way out, but MVC is not.

ASP.Net is going nowhere, the abomination known as Web Controls is on the way out (and good riddance).

It will never go away, there's too much code and money involved, but it won't be used for new projects.

"but it won't be used for new projects"

I would interpret that statement as: it's on the way out.

ASP.Net is not going anywhere, perhaps you should read a little closer before you respond.

asp.net is the web framework.

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

ASP.NET MVC, ASP.NET Web API and ASP.NET Web Pages will merge into a unified "ASP.NET vNext". http://en.wikipedia.org/wiki/ASP.NET

Asp.Net 1.0 is still working on new servers. MS got compatibility covered better then any other firm :)

asp.net is not going anywhere, it's the name for the web focused framework of the .net stack.

The layers are ASP.NET MVC 6 running on ASP.NET 5 (the web framework) running on .NET Framework 4.6 (the core libraries).

There is no real alternative to ASP.NET.

I don't know about that. A lot of companies, some of the world's largest, use non-MS technologies and seem to get by very well.

Sorry to nick pick but the following download statement is "not optimal":

  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 
  this tool. 
So no check box to deactivate this phone-home feature that used to be standard in Microsoft products like Visual Studio, Office and Windows. That's a regression. (Source - bottom grey text: https://code.visualstudio.com//#alt-downloads )

Edit: there is only a small "preview" symbol on the top left, beside that no text or screenshot mentions it: https://code.visualstudio.com/

Visual Code is a brand new tool, and we only use the telemetry to help improve product quality, and better understand how our tool and features are being used so we can know how to improve VSCode. By the time we exit Preview, we will provide a way to opt out of this reporting.

Whats in the crash info? Because even the name of the file or any memory content means I can't use it because it might leak company secrets (e.g product names).

Then don't use it until it is stable. This is a preview release

What, you mean you don't use a bunch of preview products to work on your top-secret company code?

Somewhere at MS: "I told you this scheme would work! We finally got their product name. Send word to our team to begin immediately." rubbing hands together

Visual Studio Online "Monaco" code editor from November 14, 2013 seems to be the predecessor: http://weblogs.asp.net/jongalloway/a-quick-look-at-the-new-v... (scroll half way down for many screenshots and videos)

"This is the Monaco editor component from Erich Gamma's group out of Zurich. It was originally written in JavaScript but gradually rewritten in TypeScript. When Anders speaks about teams within Microsoft building large TypeScript systems, this is one he is talking about" as one comment mentioned on a related article "It's also used in VisualStudio and IE11's new F12 tools.": http://www.hanselman.com/blog/ARichNewJavaScriptCodeEditorSp...

"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 not.

It's based on Electron: http://electron.atom.io/

(look at the bottom of the page)

Wrong. It is!

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.

Electron is just what lets you run a Node app outside of a browser.

Digging into `Visual Studio Code.app/Contents/Resources/app/main.js` reveals the crash reporter.

``` // Handle crashes reporter.start({ productName: 'Ticino', companyName: 'Microsoft', submitUrl: 'https://ticinocrashreporter.azurewebsites.net/crash', autoSubmit: true }); ```

Sorry to nitpick but it's nitpick, not nick pick.


I'm hoping this is only while it's in development/beta?

Yep, that's what all Microsoft public betas and previews do. That's why they release them, to get data.

I agree, there should be an option for that.

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.

Free tool comes with strings attached, so?

Free BETA program comes with a clause that you must submit crash data. Sounds fine to me.

My take is that in the most central sense, what Nadella and Microsoft are doing with the code editor, .NET, their free IDE, etc. is following a standard, powerful, old script:

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! Developers!"

Then initially many developers will adopt and use the standard because it's open and, thus, close to 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, Microsoft controls 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.

> Net, thusly owning an open standard can be very valuable.

Microsoft would like that more developers are locked in to their dotNet languages. And they try to influence the development of the next Javascript version (ES6 & ES7) by showcasing C# syntax ideas in their TypeScript language which then influenced ES6 - which is heavily used in Sharepoint/Office-Server365, Visual Studio Code/Online, etc.

Don't get me wrong, Google, Adobe, Oracle, Mozilla, Opera, etc are trying to influence the Javascript/ES6&7 development - everyone with different business cases behind them. But Microsoft is well know for what the parent poster wrote, and several newer evil things like the locked EFI on new PCs (instead of the open BIOS) that make it hard to install anything but Windows are still there, more there https://news.ycombinator.com/item?id=9459890 .

Is it not what Google is currently doing with Android?

MS realized that the closed source, only running on Win32 platform battle is lost. Their only chance to get a grip of the future if they open up and go for supporting multiple platforms like Java did.

I fully agree with you there.

"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.

Yes, I observe that they are taking good steps and that this is clearly a positive change, but I am too old, it has been too many years, and I can't imagine that I will ever really be able to trust them.

Perhaps a younger generation can get some value out of their products, though, which would be nice for all the people who work there.

Definitely. It's because, fundamentally, Ballmer was not a technology person. He simply didn't get it.

Indeed Ballmer would have been great at selling toilet paper or soda but he was just not the software visionary that Microsoft needed.

Nadela makes some good changes. Let's see if it will continue into abolishing MS historic crooked practices like vendor lock-in, standards hijacking and patents abuse. When Nadela will do that, I'll agree that MS has really seriously changed for the better.

Those products were under development in Ballmer's time but it seems Satya took the credits.

You're suggesting that the same guy, who told his own kids "no you can't have an iPhone, iPod or iPad, you have to use a windows/zune/whatever device", and then after leaving Microsoft, bought a basketball team, and told them they could no longer use their existing Apple products, would have OK'd the release of a cross platform development tool...

Ballmer was CEO for over 14 years, during which very little of this happened. While some of this was obviously being worked on under him, I find it hard to buy the idea that Ballmer did all the work and Nadella just swooped in and took the credit.

They may have been under development during Ballmer's time, but it's hard to believe that they would've seen the light of day under Ballmer's leadership. And if Ballmer released any open sourced products, I get the feeling that there would be major strings attached. And it would have a switch and bait sort of feel to it. Kind of like Oracle with Java and other technologies from Sun.

The fact is, Nadella has made open source a lot more palatable from Microsoft.

Perhaps he was involved, if not leading many of the developments while Ballmer was running the show?

Fun thing that nobody seems to mention is that a lot of "Visual Studio Code" is actually based on opensource. It's a atom shell app using omnisharp as server... Here some relative links where it's based upon:




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 :)

We were talking about this at work today. Most interestingly, it is significantly faster than regular Atom.

Yeah, well, Atom is based on https://github.com/atom/electron and so is Microsoft Visual Code ;) . I thought it was better then Brackets ( Adobe) also, but that's another discussion :p

I think it's been mentioned a bit. Also it's actually all over the docs: https://code.visualstudio.com/docs

Given Microsofts recent endeavors, I also have very little doubts that the editor will be open sourced once it's released. I think keeping something closed source in beta like this is a good way to force Devs to objectively evaluate the product, as opposed to having immediate presumptions purely based on it's technologies.

Cross platform developers tools by Microsoft! Great news! MS has some of the best developer tools out there. In my opinion, the only downside has been the dependency on the Windows platform. As a developer, I feel much more comfortable in a Unix environment.

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.

This move was very thinkable a decade ago. Even two decades. In fact, a good example from 1995:

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[8] 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.


It seems Microsoft has influenced JavaScript/ES v6 with their TypeScript intermediate language lead by Anders Hejlsberg. Given the vast TypeScript code based that MS wrote for SharePoint 365, Visual Studio Online/Code, etc. it seems more than logical. But, read on:

  BRENDAN [Eich (JavaScript creator)]: Again, TypeScript is 
  smart because it’s embracing and extending. Let’s hope 
  Microsoft doesn’t try to extinguish. That’s the third E.

  JAMISON:  [Laughs]

  BRENDAN:  I don’t think they will. I think they actually 
  bought into JavaScript at some level. And I’ve talked to 
  people like Anders Hejlsberg about this. 
But Brendan Eich answered to my thread by replying to a parent:

  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. 
Maybe after more people know about Visual Studio Code some others share the "German angst" about their common business tactics a bit too. I would prefer if they don't turn JavaScript into C# Trojan horse style. Hopefully things have changed since Satya Nadella took over.

You can read the full thread there, it's just 3 days old: https://news.ycombinator.com/item?id=9442011

Even when Microsoft 'Embraced and Extended' Java, it was only on the Windows platform. It was not cross-platform. The whole point of that methodology wasn't to make sure that everyone was using Microsoft-flavoured Java, but to make sure that everyone was using Microsoft-flavoured Java on the Microsoft Windows platform.

    It was not cross-platform
Cross-platform didn't mean much in 1995. Which other platform was there at the time? Apple was dead in the water. Red Hat had just come into existence. Netscape Navigator 1.0 had just shipped in December 1994.

The fact that Java was device-agnostic due to the JVM is something that Microsoft viewed as a threat. Bill Gates saw Netscape as a threat with their plugin system because of the idea that the OS would just be a shell to the browser which would run programs via plugins. This one of the reasons that they wanted to destroy the Internet. They feared that it would make Windows irrelevant.

"Write once, run everywhere" is a threat to a company whose entire business model is based on "everywhere" being owned by them.

Marc Andreessen probably stoked Microsoft's paranoia when he said "[Netscape will soon reduce Windows to] a poorly debugged set of device drivers"[1]

1. http://www.wired.com/2012/04/ff_andreessen/2/

Arguably windows didn't have the hold it does now in 1995... in 1995, DR-DOS/Desqview and other UIs were prominent, and OS/2 was more popular as a desktop than Linux has ever been (as a ratio), not sure about OSX today. That also doesn't count Apple's penetration at the time which really wasn't as insignificant as you make it out to be.

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.

I finished my school in 1993. None of the computer science teaching was on PC. I have used mainly sun but also HP, next and VAX computers. PC were only used for word and excel.

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).

I'm not sure what the reference to Netscape Navigator is supposed to mean, but I find interesting that 2.02 (released in 1996) was available on all these platforms:

> Windows3.1 > Windows95/NT > Macintosh > BSD > Linux > SunOS > Solaris > HP-UX > OSF/1 > Irix > AIX > OS/2 > OpenVMS VAX > OpenVMS Alpha

> Apple was dead in the water.

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.

In 1995, commercial Unix was still a viable platform in the enterprise market (and Java has always had strong connections to the enterprise market).

Everybody talked about thin clients and Java as an OS at that time, there was a massive Java hype going. The things Microsoft struck preempively against largely never materialized thanks to super-crappy broadband (if it even existed) and lousy early Java performance (there are dozens of Java office suites, browsers etc that never got traction or was canned before release thanks to general unmarketability).

The quote:

  Those who cannot remember the past are condemned to repeat it.
  And those who can are condemned to see others repeat it.
comes to mind when I see the enthusiasm in this thread. The top comment itself seems like a blind praise one would hear in a cult.

The one thing that annoys me most as I grow older (and, hopefully wiser) is the loss of this enthusiasm you mention.

I think i should have used "Excitement" instead. On your point, my enthusiasm grown with the more I learn as I see more potential that I would not have given my previous lack of knowledge.

Wow. I seriously don't know what to think anymore. What is their end game? Which platform are they hoping to become / remain dominant in?

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?

Just... what?!

This is touched upon a bit in this episode of .NET Rocks.


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.

Hey, glad you're listening to the show!

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.

No problem! Thanks for making such an awesome show!

Getting it is easy. Even with very good support for .Net (C#, F# mostly) in Mono, actually developing, deploying and maintaining an application outside of Windows with VS is problematic by comparison. In the past I wrote a couple of web based applications in .Net that could readily deploy to Linux. Even then, deploying to Windows was so less cumbersome than getting mod-mono working we decided it was worth the cost of Windows Web Server (or whatever the 2003 version was called).

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).

Great. Because what we need are more service companies.

Yeah, we do. Competition is a good thing.

They're just planning to coast on Android patent royalties from now on.

My hypothesis is that winning over developers to use their platform will eventually result in more Azure users. I get the feeling Azure will be their one of their next cash cows, and this is one of the steps in enabling that.

Azure users and native app developers on the Windows Store.

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.

But aren't Store apps essentially built on the Win32 API? I remember an article basically saying '.NET didn't win' for that development. I could be recalling wrong, and I'm sure there are wrappers and such, but still...

Most of the WinAPI is abstracted out for Store apps as most will be using either .Net or JavaScript for their applications, with the latter essentially being extended/embedded web applications iirc.

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.

The current crop of store apps are in a more limited API. But as of today, MS is also going to be selling traditional Win32 apps shipped in a sandbox that allows for clean install/uninstall. Demo showed Photoshop Elements.

They're also supporting Objective-C now, with VS slupring up Xcode projects. Did not expect that one.

Azure should be. The price of running Azure VMs is about double Google Compute Engine VMs. And it's slower to work with, too.

Though I will say that Azure is all about getting you to use non-VM services, to generate lockin to their platform.

Interestingly, owning the market in developer tools and programming languages is how Microsoft got their start in the 70s/very early 80s. Not only is this strategy a reasonable one (at least to my uneducated outside opinion), it's starting to look exactly like the one they had before MS-DOS (and that eventually worked out OK for them, though it is still much less certain that Azure or something like it can play the role of DOS in this story).

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.

>Wow. I seriously don't know what to think anymore. What is their end game? Which platform are they hoping to become / remain dominant in?

The .Net plaform that's used by enteprises and devs also in the Unix/OS X world?

I actually tried it for about a half hour, and so far like it a lot... I don't know if/what plugins will become available. I do like that the side menu makes it much easier to show/hide the file directory view (which is indispensable imho). Also, the git integration seems very nice, I haven't tried it as I'm editing via a samba share to a nix machine and don't want to screw up the file permissions.

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.

You can set line endings on the bottom right on the blue toolbar right next to the language, where it should say LF or CRLF.

Thanks... do you know if files save as UTF8 w/o BOM by default? Most MS/Windows apps seem to set BOM, which is problematic in nix tools.

If you open a file with a UTF8 BOM, then the BOM will be preserved. New files don't have the UTF8 BOM.

> VS is the only tolerable language-dedicated IDE


Unfortunately there isn't a Jetbrains IDE that works pretty well with big codebases...

Windows is becoming irrelevant, Microsoft Office is being supplanted by Google Docs being both free and 'good enough', and worst of all, Microsoft completely missed the boat on mobile.

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?

You're completely lost in your Silicon Valley mindset. Most of the western world still shows up to work and uses Office on Windows. Even in tech, I've seen non-technical workers request PC's just so they can use "real" Office. Office for Mac doesn't cut it. And while it might be good enough for you, it's not for many people who rely on Word, Office, and PowerPoint for work. Oh, and Google Docs is hardly free in the office.

I'm not saying this would happen tomorrow. Microsoft has enough inertia to fire all their developers and just sell the current version of Windows and Office for a long time. Hell, some 30% of computer users in China still use Windows XP.

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.

Still he has a point. Kids will toy around with Google Docs but when push comes to shove when they're hired by PWC or Deloitte, Microsoft Office is where it's at.

Google Docs doesn't hold a candle against it while LibreOffice can barely sneeze in front of it.

I am very far from the valley, but we have mostly phased office out in favor of google docs. It turns out that easy sharing is the killer feature and that google docs really is good enough which will obviously differ based on what you do.

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.

> Microsoft Office is being supplanted by Google Docs being both free and 'good enough'

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.

If you know what you're doing with Office/use the advanced features there is just no comparison. Office is the Emacs of the business world. But I suppose most people could get on well enough with Google Docs.

This is especially true with Excel and Access (and to a limited extent PowerPoint). It's insane how much business logic can (and often does) live inside some random Excel spreadsheet.

Word mail merges are actually a fully featured templating system. On top of the whole thing being scriptable. But I think this is less "discoverable" than Excel.

Linux owns everything else, but Microsoft still own the corporate - and home - desktop. Devs using Linux or Mac are not the majority of users.

I doubt MS owns the home anymore. The number from a few years ago showed college freshmen using Macs by 70%.

MS is still corporate-centric in the US, and popular in foreign countries where Apple stores don't exist in large numbers.

> The number from a few years ago showed college freshmen using Macs by 70%.

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.

Apple is also too expensive, by design, for 80% of the markets in developing countries.

Except the home desktop is a dying (or dead) breed - and many people will either have OSX laptops at home, or no traditional computer at all, only phones and tablets... They could choose Office 365 to some extent, but they could just as easily choose gApps.

Tales of the desktop dying are long in the tooth.

Windows is far, far away from becoming irrelevant.

A behemoth doing a pivot, but a pivot to what? And how are they going to monitize it?

Pivoting to becoming more service oriented. Azure/Office365 are their next generation core. Azure as a development target, which pragmatically makes sense as companies with Windows services/apps move to the cloud. And Office365 in the same vein. Not to mention them extending office to other platforms, which combined with Office365 (email) makes a lot of sense.

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.

Probably, but the Google Apps sync tool for businesses kinda stinks too. What's better, besides self-hosting?

It ties into Azure services. As I understand it, you're not bound to Azure, but it's an easy path from VS Code.

I think they understand that the long run is not in platform dependency.

Actually it is... it's not too different from what it always was. In the past, it was about businesses running "Back Office" versions of servers in the office. Because NAS boxes are now a good enough option in small businesses, and many are moving their hosting into more prominent cloud services, they are positioning Azure to be the platform of choice for windows based services and applications. They've got Office365 to handle the mail server duties people lost moving away from back office. As a small business you no longer need to self-host anything (other than maybe a local NAS box).

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.

It's a good question, and the only answer I have is that when the old binary fortresses crumble you have to do something to stay relevant, and hope business opportunity will be found. I developed almost exclusively on Windows for almost twenty years, and then one day I looked at the cost of a universal MSDN sub and thought: this is getting nuts. So this is a great development, imo, because MS tools rock. I have been working in Ubuntu now for over three years, and in that time I haven't missed very much, but I have missed Visual Studio.

It's pretty simple, Visual Studio Code, the .NET Core runtime for Os X/Linux, ASP.NET 5 and TypeSript are only useful to do Web dev. With Azure they provide the best cloud to run those web app. So they don't lose any VS customer that do software dev, not lose much web dev VS customer on windows because the full VS will always be better and they provide tools for every web developer on other platforms in their area of expertise : development with code completion tools. It's a pretty smart strategy I think.

It could be as simple as them realizing "hey, that thing we've been doing for the last fifteen years hasn't really been working. So maybe we should try doing the opposite."

It seems like if MS just doubled down on Windows and Office they'd be in trouble if/when those stopped being so profitable and there are certainly reasons to think they're going to lose ground there (especially with consumer markets, but with business markets too).

This is decent strategy if the end game is eco-system around Microsoft technologies, not just windows but their whole offerings including Azure, IoT etc.

Microsoft is a software company , so i would guess their end game is not services or hardware but software. Anyone got any ideas how they plan to dominate the software world and make money out of it? They 've just gained a ton of new fans though, that's for sure.

Based on complete guess work - They seem to be moving up the chain by building and selling services on top of existing platforms. e.g. Azure on top of databases, Third party apps on outlook etc. Not sure what they intend to build on top of windows...

Yeah the real test will be, is this thing supported 5 years from now? There's a nice history of projects like Silverlight that get a lot of buzz and love early on but languish and are killed a few years later when management and priorities change.

Management in particular. It's unfortunate that new personnel always feel the need to push their own vision rather than the previous guy's, often just for the sake of it.

This is what worries me. What if we all start using these tools and then new management comes in (or if it was the plan all along) and poisons the well.

I seriously can't get too excited about MSFT technologies because

- 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.

Keep in mind that this time they are not just giving away stuff "free as in beer" they are also giving it away not under AGPL, not under GPL, not under LGPL but under a MIT License which is one of the most permissive licenses out there.

Contrast this to Oracle/Java. Or about any other huge corporation.

Using a permissive license is the strategy that makes the most sense when your primary goal is proliferation over developer community. Thus, it's nothing surprising.

I thought Visual Studio Code was "free as in beer". Are you saying it's not proprietary?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact