Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Microsoft Launches Visual Studio Code, a Free Cross-Platform Code Editor (techcrunch.com)
1608 points by TiredOfLife on April 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?


http://www.bloomberg.com/news/articles/2014-03-05/microsoft-...

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.

Tick.

Windows 7 was a refinement of Vista.

Tock.

Windows 8 was a new interface and a step toward multi platform, e.g. ARM.

Tick.

Windows 10 is a full on multiplatform assault.

Tock.

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


Thanks.


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/2.120.1.42/1/


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.

http://en.wikipedia.org/wiki/Copyleft#Viral_licensing

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

https://www.gnu.org/licenses/quick-guide-gplv3.html

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.

Cheers.


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.


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.


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.

http://en.wikipedia.org/wiki/Head_louse#Nits


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.


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:

https://atom.io/

https://github.com/atom/electron

http://www.omnisharp.net/

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.

http://en.m.wikipedia.org/wiki/Embrace,_extend_and_extinguis...


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.

http://dotnetrocks.com/default.aspx?showNum=1131

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

Jetbrains?


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?


I'm curious about how the editor itself was built. Is it itself written with cross-platform .NET? And if so, what UI library?

Edit: Got my answer. Electron and TypeScript: https://twitter.com/shanselman/status/593454574297427968


The Visual Studio Code shell is built on GitHub's Electron Shell, but the editor is a new and improved version of our own Monaco editor, which we use on Azure Websites, Visual Studio Online, and a number of other web sites, and in the F12 Tools in Internet Explorer.


Electron is formerly known as Atom Shell, which powers GitHub's Atom editor.

http://electron.atom.io


It'll be interesting to see what the performance is like, since this has been a recurring problem with web-tech based applications (especially editors like Atom and Brackets).


Actually seems to work better than Atom or Brackets so far... I found both to be intolerable pretty quickly... this, I'll be continuing with for a couple days, I like the UI better than sublimetext so far.


I don't really understand the sentiment that you have expressed in your aside. If they deliver an interesting and/or useful product, why not reward them with credit?


removed it... I just don't like when I sound like a company shill. In this case imho the editor itself actually runs than my trials with brackets and atom... The startup time is actually tolerable, and the editing seems to work a little better too. A few days will determine if I go back to sublime again.


that was my thought too, testing it on my MBP - like Brackets and Atom, it showed up in `Apps Using Significant Energy`


Can access without school or work account, I don't know how to get this.


It will evidently be available "later today": https://twitter.com/shanselman/status/593454156779687937

EDIT: Apparently at 11AM PDT: https://news.ycombinator.com/item?id=9459632 (aka in an hour-ish)



How is the editing experience? Is it faster than Atom?


I prefer it to atom already on OSX.

* handles multiple files well. atom ends up being too many tabs with no quick way to get to them

* MRU file switching

* shows side by side default v user settings

* launches must faster (which is strange since it is based on electron)

* JS debbuger

Can't wait to try the CoreCLR.


I just tried a 100MB C++ file; it opened in 2 seconds, and navigated very fast. No syntax highlighting, however a 20MB C++ file did receive syntax highlighting in the background (took around 30 seconds to reach the bottom), with navigation still 100% fast and responsive.

Right now, this thing blows the Atom editor out of the water in terms of performance. For plugins and breadth of available functionality, Atom is miles ahead of course.


this thing blows the Atom editor out of the water in terms of performance

Idem for Sublime Text. Loading large files on Windows is a total disaster with ST. Which is a shame, it's a great editor on all fronts except loading of large (as in > couple of MB) files which is just something I happen to do quite a lot.


Seriously? A 100MB C++ file?


For stress testing, of course! I just replicated a ~25kb file 4096 times.


Isn't there any way to analyze and get some of these speedups back upstream?


I believe Atom are already writing a new backend for their text buffer backend, but that part of the code is unrelated to what VSCode uses. I imagine the very fact that VSCode exists and performs so well will be enough to finally make that work a top priority for the Atom team, but we'll see.


This is very exciting. If the debugger is anywhere near the quality of what ships with Visual Studio, this will be a joy for developers to use.


The description says it's lightweight, but on my machine it uses over 200 MB of RAM with no files open, and appears to be a Chromium-based thing, much like Atom (as others pointed out, it's based on Electron). Meanwhile, Sublime Text is using less than 100 MB of RAM with dozens of files open, some of them quite big. Visual Studio tends to use less memory than this, too. If "the language services [Microsoft] built for Visual Studio Code [are going to] be available in other editors as well", then I will definitely pass on this one (and this, assuming I ever get interested in developing in .NET again).

On second thought, for now this looks nothing more than a marketing trick, very well pulled off.


Good point, I'll have to remember not to use it on any of my development workstations that have 512MB of memory.


On my machine with no files open it's at ~80-85MB RAM, VS2012 is at 500MB with nothing open. Not sure why 200MB is of any consequence unless you're in a third world country. 8GB of RAM is ~$50.


Code is only using 20MB on my Win8 box.


This is interesting. I only tested it on Linux, just opened it again and it's definitely using over 150 MB of RAM, across five threads. This may mean it uses more memory on Linux than on Windows. 20 MB looks definitely lightweight, and it may be an interesting alternative to Sublime and Notepad++ which is what I use on Windows.


After opening a few files it's up to 100-150MB, so not as lightweight as I originally thought. That doesn't affect its responsiveness, though, and I have plenty of free memory.


Virtual machines, yo.


Notepad uses very little memory; maybe you could use that instead.


Nah. Notepad doesn't even show line numbers. How hard would that have been to display the line and column?


Yes, and while we're add it, can it really be hard to add syntax highlighting? Now let's all keep adding one small feature until we've specified a fully-featured editor.


If they fixed that and LF line ednings we would have a winner.


Good god that is even worse than emacs (eighty megabytes and constantly swapping).

I don't develop on a machine with less than 8 gb RAM and you shouldn't either.


Light weight compared to VS proper, which on my mid-sized solution is sitting at 1.2GB, and 250MB with no files open.


what? you don't have a 16core/32GB RAM machine with a 4K monitor?


tldr; light weight Visual Studio for OSX/Windows/Linux with support for dozens of languages, intellisense (autocomplete), refactoring, debugging (yes, real debugging), git integration and it is free


So ... pretty much perfect?


except for the part where it's written in Javascript and is thus a bloated memory hog, yes.


worth it... this is a specialist application, I dont mind developers having another chunk of memory for a better development environment.


As a developer I will mind if it's not fast though, or if it does not behave like other native apps. The fact that it uses more memory is not a fact that stands alone either. The reason it uses more memory is because it has to do more. Because it has to do more, it's always going to be slower.

So far on Fedora 21, VSCode is a slow and buggy experience. Atom was never as good as any of the native dev tools that I've used IMO. As a matter of fact, I can't think of one application developed with web tech that performs as well as it's native counterpart.


Thanks. Everything I wanted to see its there :)


not all langs have autocomplete yet, but I hope it will be soon.

special request for Rust autocompletion, please!


"Support for" maybe, but it's mainly meant for Javascript/HTML.


I don't think that's accurate, given that C# is also a first-class citizen in terms of features


If anyone needs it (since Microsoft didn't supply it) I made an installer for Visual Studio Code Linux.

The installer grabs the archive, puts things where they go, and makes sure you have the nice shiny icon that it ships with.

http://www.thepowerbase.com/2015/04/install-visual-studio-co...


Thank you. That worked really well.


Surprisingly, VS Code handles large files quite well.

Just tested it on my Mac opening an uncompressed ember.js (~1.5MB). The file loads instantly and syntax highlighting is done in less than 1 sec. Movement and editing are very responsive.

On the other hand, when I open ember.js on Atom, it takes more than 10 sec to load and syntax highlight, and moving & editing take .2 ~ .3 sec to complete.


I've been using it with an ember cli app on OS X for a couple weeks (had pre release access). It's pretty nice some kinks here and there specifically with my tmp folder being giant. But for being what it is now its pretty awesome.

Handles builds and debugging too although it'll take some setup depending on your project type.

They basically took the vs Monaco online browser editor which was already awesome and put it on atom shell/electron for everyone to be able to use natively. Definitely a smart move. Compared to paying $70 for sublime it's a really good deal.



Sorry guys but there is an issue with our load balancer which is being worked on right now. In the meantime you can find us here: https://vscode-westeu.azurewebsites.net/


Page is back up. Sorry for the fuzz. Happy Coding!


Hmmm, from bundled dependancies point of view Visual Studio Code looks very much like Atom, but with out of date versions?

Bill of Materials for Atom version 0.194.0 for OS X [http://www.bomtotal.com/#85c7e5b85a0ea17e50676c621eaaceaa] has e.g. nodejs 0.10.35, openssl 1.0.1j AND 1.0.1k, zlib 1.2.5 AND 1.2.8 and libuv 0.10.30.

Whereas,

Bill of Materials for Code version 0.1.0 for OS X [http://www.bomtotal.com/#26be3e80807532937c65c575360bfb91] has e.g. nodejs 0.10.22, openssl 1.0.1e AND 1.0.1k, zlib 1.2.3 AND 1.2.8 and libuv 0.10.19.

So Visual Studio Code ships with openssl released in Feb 2013 while Atom ships with openssl released in Oct 2014. :)

Furthermore Visual Studio Code ships with nodejs released in Nov 2013 while Atom ships with nodejs released in Dec 2014.

From this perspective Visual Studio Code is a blast from the past, lets hope it is not dangerously out of date.


I was so excited for a moment.

+ Syntax coloring, bracket matching: C++, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java, HandleBars, R, Objective-C, PowerShell, Luna, Visual Basic, Markdown

+ IntelliSense, linting, outline: JavaScript, JSON, HTML, CSS, LESS, SASS

+ Refactoring, find all references: C#, TypeScript


Keep in mind, this is only a preview, and they're working hard to get all those languages to IntelliSense/Refactoring level. And once their extensibility framework is finalized, you can add support for whatever language you want.


Add Clojure and Clojurescript to that list.


Seems like it has lots of potential.

The product/download site should be at http://code.visualstudio.com when it goes live later today (it's currently showing a login page).


Download works from here.


The download worked for me, but the zip archive was corrupted, so I didn't even get a chance to try it out on linux (ubuntu 12.04)


Mine was corrupted but I fixed it with the following command: "zip -FF VSCode-linux-x64 --out vscode2". I'm on ubuntu 14.04.


Yup can confirm, doesn't seem to work on Ubuntu


works for me on Ubuntu 12.04 LTS


Works for me too .. but there's no top-level directory in the .zip file, make an empty directory before unzipping!


Just an update - that URL is live now. I just downloaded Code for Linux.


A real question, not for flaming but just for understand: is free as in beer or in freedom? I mean, is it also open-source?


When most companies say free they mean free of charge, if they want to say open source they say open source, because that’s the term the world understands. Basically only the FSF uses free to mean Free Software.


Open source doesn't imply free (or libre, if you prefer)


Yeah, I know, that’s my point. The distinction is the reason companies don’t like to use confusing terms: “free” has only one meaning for them in the context of software.


The OSI and FSF say otherwise.

http://opensource.org/osd

http://opensource.org/faq#free-software

> "Free software" and "open source software" are two terms for the same thing: software released under licenses that guarantee a certain, specific set of freedoms.

http://www.gnu.org/philosophy/free-sw.html

> “Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. We sometimes call it “libre software” to show we do not mean it is gratis.


It pretty much always does.


Many companies use "open source" or simply "open" in a way that isn't compatible with the open source definition. This is known as open washing. A good, non-Microsoft example is Epic Games and Unreal Tournament 4. They talk a lot about being "open", but the source code and assets are all proprietary.


Neither Epic (I've contributed to UE) or Microsoft assert their products are Open Source, merely 'open'.


And they do that explicitly to confuse people. What they do isn't open, it's smoke and mirrors.


Actually I think only MS say open. Epic says free.


Microsoft in particular has a history of using "shared source" licenses that are not free.


Yes it does: the Open Source Definition substantially overlaps with the FSF's list of freedoms.


Can you provide a counterexample?


Visual Studio Code is already built on top of a number of open source projects we've created or are contributing to, including the Roslyn compiler and language tools, OmniSharp, Typescript, and GitHub Electron. We are still in an early stage and we're evolving our architecture - and we'll look at what we open source, and how we do it, as part of that.


is there any way to attach the debugger to an existing node process instead of launching one separately?


It's free as in beer only. Please do not use it if you care about software freedom, and urge Microsoft to respect you by releasing the source code under a free license.


Not sure why this comment is getting a down vote, this is a very important issue. I understand a lot of startups get money from Microsoft, and a lot more use their products, but that doesn't make this less of an issue.


Down votes for pointing this out? Must be Microsoft employees or partners. Wish HN had a way of filtering votes given the source domain. I have the karma, but the chilling effect on new users could be nontrivial.


Most likely just turds hating. Your points weren't controversial, so I gave you an up.


This looks like it is based on OmniSharp which is open source https://github.com/omnisharp


Looks like it's just free as in beer for now. Who knows what will happen a few months/years from now when it doesn't have a huge userbase and Microsoft isn't interested in continuing to support it alone.


I don't think it would be shocking to see it open sourced. Microsoft has been making a lot of changes on this front: http://microsoft.github.io/.


Yeah, and while I appreciate their efforts... I find their documentation on their Azure clients for node.js too sparse and inconsistent. It can definitely be better, at least now I can look through their codebase to get what I need.


The good news is they seem to be accepting Pull Requests for updates to their documentation (along with everything else): https://github.com/Azure/azure-storage-node/pulls?q=is%3Apr+...

I know that doesn't help you when you need to consume the docs, but at the very least they're allowing the community to help out (finally).


Do have a read of the privacy policy, especially the extra clause for free programs: https://www.visualstudio.com/en-us/dn948229

Will your customers mind if the following data is sent to Microsoft when you're working on-site?

Usage data. We collect information about how you interact with our products and services. This includes information about how you use the products and services, such as the features you use, the web pages you visit, and the search terms you enter. It includes information about the device you use with the services, including IP address, device identifiers, regional and language settings, and information about the network, operating system, browser or other software you use to connect to the services. And it also includes information about the performance of the product or service and any errors or problems you experience with them. In order to create a richer picture of your product usage, we will correlate usage data across other Microsoft services, like Visual Studio Online.


I believe it's for the Preview version only. Afterwards you can opt out.


What's most impressive to me is the number of open source projects used to build it. In my old org at Microsoft it would have taken months to get approval for that many projects. It took us THREE WEEKS to get approval to use Google Mock for C++.

When I left Microsoft about a year ago I had the thought that it would be a cool company to work for again in about 3 years. They really seem to be taking some steps in the right direction.


I'm getting a weird error:

    AADSTS50020: User account 'me@captnemo.in' from external identity provider 'live.com' is not supported for application 'caf83767-0da8-454f-ae8d-77f63deaf359'. The account needs to be added as an external user in the tenant. Please sign out and sign in again with an Azure Active Directory user account.
I'm guessing only proper microsoft accounts are allowed? (@outlook.com, @live.com etc). I understand it might not be live yet, but I don't get the "unavailable yet" error.


In the keynote, it was announced as available "later today". They probably haven't flipped the switch yet.


The download will be available by around 11AM PT today. Hold tight!


fyi, same error with @outlook.com account


cool then. Let the wait begin.


Who else experienced a secret guilt about thinking "oh good, I'm going to try this out, and I hope it works well"?

If it helps with Unity C# development on a Mac, I will be very happy. Please be better than MonoDevelop!

Note: I installed the latest version of Mono and now Intellisense is working with my Unity project!

I voted for this:

http://visualstudio.uservoice.com/forums/293070-visual-studi...

>Unity Integration

>Visual Studio for Mac is a breath of fresh air for those of us who use Unity on a daily basis. Please oh please get it tightly integrated, similar to UnityVS for Windows.

>The day I can dump MonoDevelop and Xamarin for good would be better than my last 10 birthday presents combined - and they were pretty sweet!


With a brief attempt, it's surely not ready to replace sublime for me. No package support, doesn't even come close to replacing fuzzy file matching (and the current file opening doesn't work over osx fuse). Not to say I don't welcome the attempt to replace Sublime, it just can't compete yet.

It does appear to load large code bases a lot snappier than Atom, and at least they got panel resizing working unlike Atom (which is still a hilarious thing not to have in Atom).

Edit: Atom seems to actually support dragging to resize panels in a recent update. Late coming but definitely welcome.


what am i missing here? a look at their TOS:

"The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to provide services and improve our products and services. For this pre-release version, users cannot opt out of data collection. Some features in the software may enable collection of data from users of applications you develop using the software."


I haven't looked through their code, but Atom (which used atom-shell, now electron) actually embeds google analytics in the editor. It uploads commands and file extensions.


Great. I'm a confirmed UNIX geek and I'll be the first to say MS has always excelled at developer tools, and I'd be happy to be able to use them on Linux. (BSD is probably a pipe dream, but this is a decent start.)


If Electron (formerly atom-shell) have a BSD build/target working, it wouldn't be too hard for MS to support it... if the open-source their work on this, it'll be easier.


Take a close look at the bottom of this page: http://electron.atom.io/

Visual Studio Code is based on Electron!


Coreclr has a FreeBSD ci-build, so I'm not sure we should write it off yet ;)


Satya Nadella is taking the right decisions for Microsoft. I don't think Steve Ballmer would've done this.


"Visual Studio Code" is deceptive marketing. It has nothing to do with Visual Studio. It's just another Javascript text editor built on top of Webkit.


You're missing the point. It is in many ways better than Visual Studio because it's lightweight editor with a lot of the good stuff like a debugger, intellisense, refactoring, code navigation, etc.

This caters to people who want good cross-platform tools without all of the Visual Studio bloat.


How is it "deceptive" exactly? It uses the same language service (roslyn and typescript etc.) with Visual Studio; it has VS signature features like "peek", "find references" etc. Maybe the debugger is not powerful enough now, but it is just a preview version anyways.


Tried it and found it very disappointing. Not sure why they decided to use the name "Visual Studio" for it.

It's just text editor (although has a integrated debugger) built with Electron, performance is abysmal.


I've installed and tried it.

I am sure I must be missing something. It is a text editor, feels sublime-y. But it doesn't seem to be even a smaller cousing to Visual Studio, so the name is confusing.

It seems to be geared towards JS/Html. If so, we already have plenty of tools for that.


This new direction that MS is going in is very interesting


Some of my friends remind me that they use emacs already and don't need this one by Microsoft. Others say they use Sublime Text instead.

I used Visual Studio in the late 1990's and got used to the GUI IDE. I did a lot of work in Classic Visual BASIC before the Dotnet era.

I see they are open sourcing the CoreCLR and now Visual Studio Core. I gave the Linux version a quick look over, extracted the zip file to a directory and ran the ./Core program. It loads quick enough, most likely because there isn't much there.

I have to remember that this is the Post-Microsoft era, and Microsoft has to reinvent itself in order to survive. Microsoft knows the Hacker and Startup community uses OSX and Linux, and many have migrated away from Windows. Microsoft knows they like open source projects, so Microsoft open sourced Visual Studio and CoreCLR to have them ported to Linux, *BSD Unix, and Mac OSX.

Why Microsoft never made a version of Visual Studio for Linux or OSX is beyond me. We got Mono for a while, but it was always behind the Windows version. There was DotGNU but I lost track of where they were at.

If anyone is wondering how Microsoft earns money from open source projects, they will always sell books on it and also certification for it. Like Xamarian they can always buy out the company that forks it and makes a better version of it that is cross platform.


Is it webtech based(built with html/css/js) or hardtech based(C++,QT whatever...) since they are talking about Monaco,it looks webtech based. nice.


Curious, if they just launched cross platform .net core, why didn't they just .net? Why typescript?


Cross platform .Net doesn't include a cross platform UI environment... though cross-platform WPF would be pretty awesome (not sure how much effort to extend on their efforts for silverlight would go).


You could use native interop into something like qt. Mono already does this for cross platform System.Windows.Forms.


Since its webtech it will interesting to see the speed vs atom and sublime


Its based on Electron (see https://github.com/atom/electron) so... its almost like a re-skinned Atom editor at the moment.


We use Electron for the shell, but our own Monaco editor, which we've optimized for large files, long lines, etc.


At the bottom of the download page, "If you don't want to send your crash dumps to Microsoft, don't install this tool."

That is rude!


From other comments, it appears that this is because this is a preview, and once it goes into full release, there will be an option to opt out.


Oh yeah. They even have preview badge on the home page. I was just thinking they could have stated it little bit politely. Something sort of, if you are not comfortable sharing the logs then wait for 1.0. blah..

But who cares :-). Many are downloading and I have it too!


The performances are already better than Atom, it can open 30MB XML files and 3MB easily. The syntax coloration is async, the code completion also and doesn't stop the editor and very sleek. But I already knew it was atom fault, Ace Cloud9 and even Code Mirror could open big files.



Man, add this to the list of pretty forward thinking moves by Microsoft recently.

- Visual Studio Community Edition - Outlook and Office free for iOS and Android - iOS and Android apps running in Windows 10 - Free Windows 10 upgrade

Not bad. Not bad.


Downloaded & running on OS X.

Super impressed with its performance: it opens up & scrolls smoothly through a ~40M text file just fine. Memory usage is quite high though, but that's expected with an Electron-based app.


The only thing I haven't liked so far is the "Go To File..." search isn't fuzzy. Other than that my very brief usage has been pretty good.


Does anyone know if it has vim emulation?


I will look into porting ViEmu to this, will probably do so unless it's a huge amount of work.


I would definitely pay for this.


Same question. Soon as they got that, I'll make this my mostly-full-time IDE.


If it does I can't find where to enable it.


Wow, I just ran it, and it says "If you don't have an existing project, we suggest using Yeoman to scaffold out a new one." Craziness! And very cool. Congrats to the Yeoman team.


I'd just like to point out that this is simply a re-branded version of Atom.io, with additional plugins.


Actually, no it isn't. The runtime is based on Electron (formerly Atom Shell). But the code editor has been entirely built by MS and been used on their Azure console.


For some reason this reminds me of how it was impossible for Nintendo to publish a SEGA game. Growing up as a die-hard Nintendo fan the thought of Sonic The Hedgehog appearing next to Mario was insane. Now days, I have a Nintendo Wii with about 5 games that feature Sonic, and one that features Sonic and Mario. SEGA has pretty much been reduced to a mobile publisher with questionable product decisions. Nintendo is slowly going down that route, though the DS and their strong IP keeps them alive.


They have a long way to go, I'm baffled as to why this got 1020+ up-votes. They knew they've been losing the OS and development tools battles to Apple and open-source for 10 years now and now skinning an open-source editor is going to change that overnight? They first need to catch up and then surpass the competition. They have a monumental mountain to climb to just even be anything like what they once were.


can't wait to test this out. I have both a Mac and PC at work and I don't like always having to switch over to the PC just to work on .NET sites.



Microsoft 2.0. This is a promising sign that a full IDE for Mac is only around the corner and I am legitimately excited for that.


Holy shit.

I wonder if this will be open sourced in a way that would allow Visual Studio intellisense in Sublime Text. I want that for C++ so bad.


http://www.omnisharp.net/ is what powers the intellisense IIRC (it was mentioned in the keynote).


ahh so no C++ support then


<sigh> A boy can dream...


Cross platform IDEs for C++ like Qt Creator and JetBrains Clion already made huge progress over the past years.

There's a good chance that we'll see the emergence of a high quality reusable open source C++ language service component for editors over the next three years or so. Google in particular seems to be putting a lot effort into Clang, LLDB, Kythe and other developer tools. Facebook is also working on a web-based IDE and presumably has interest in good C++ support. Modules in C++17 (which Microsoft intends to adopt quickly) will probably make things easier.


If you haven't already, check out srclib, an open-source cross-language cross-editor code analysis library designed to support things like editor plugins: https://srclib.org/. I'm one of the creators and would love to hear your thoughts.


Intellisense on Linux for C++ will be awesome. Sublime Text 3 is sorely lacking this feature :|


I've got the power!? Wow, MS took my request so seriously!

This was my last comment. https://news.ycombinator.com/item?id=9438293

> By installing Visual Studio Code, you agree to the terms and data collection described here

Just curious, but I can't seem to find the terms.


Not directly connected to VS Code launch, but rather to the New Microsoft phenomenon: It is high time the MS offer a FUSE-like userspace filesystem for Windows (possibly, by purchasing Eldos). Along with package management (which is now addressed in Windows 10), this is one of the biggest holes in Windows armor.


The title is misleading. It only works on Windows, OS X and Linux. It does not support any other OSes at all.


Sure, there's no BSD support. Which puts it at what, 95% of machines in the wild can run it? This is very much cross-platform. Unless you're into BeOS, then yeah, you're out of luck.


This is awesome. A tolerable IDE for linux. From microsoft, of all companies. Awesome.


Some time ago I had read a blog post I don't remember where which said that all this credit that Google and Apple are getting for innovating cellphones and tablets, Bill Gates had envisoned all in MS a long time ago, but Ballmer or their management after that didn't focus on them, I had seen a windows phone way way before I had seen a tablet or a phone by apple.

It is nice to see MS changing their strategy, earlier they were all closed up to the boot, now they are opening up, but the only thing about Visual studio is that their Intellisense is completely different than Eclipse's auto complete :D


Never thought I'd say this ... but I'm beginning to like Microsoft again ... (not entirely sure this tiger can change it's stripes - but), all I can say is "Welcome to the the FOSS side!


Wow, I just opened a Clojure project and the code is color hilited and things like auto-indentation work. I need to find the documentation on with programming languages are supported.


There's a lot more info on it in its documentation here: https://code.visualstudio.com/docs Looks interesting, but I don't really see much that differentiates it from Atom, Sublime, Brackets, etc. Also the language support is kinda barebones--no syntax highlighting for Go or Rust? Only intellisense for Javascript and web stuff? Debugging only for Node.js?


Interestingly, Atom is already available on MS, OSX, and linux today. They need to make it competitive and updated with the current Atom to be popular. On the other hand, this gives Atom some good competition and impetus to improvement, and I already like Atom.


no syntax highlighting for Go or Rust?

surely you jest ;)


We have Go syntax highlighting today, but not Rust - but look for it in the next update!


What about Stylus (CSS-preprocessor) support?


Its there, just not advertised.


A quick look at the docs and it doesn't yet support extensibility/plugins, though they say in the FAQ that they are working out a plan for that. Right now there is an external task runner that exposes the file name of the current buffer and some other data.

I look forward to seeing what they do on the plugin front. And hopefully they will be able to upstream performance changes to Electron and Atom and hopefully more.

Competition in the editor + dev tools space is always good.


Dang, was hoping this would make plugins for VS easier. I have to write a plugin for every release of Visual Studio currently.


This is definitely a big and newsworthy announcement from MS Build. And one of the few times that linux was given any respect as a platform. I think it still remains to be seen as to how serious MS is about real cross-platform products and work, but it's a great step. If they make their cross platform products roughly equal, not like that mono crap, then I would consider that to be a real effort by MS.


In this case, I think they are re-using Electron as a wrapper for their editor combined with some of their existing efforts for a web based VS editor. In this case, I'd suspect they'll flush this out to be much closer to what VS offers as cross platform. I see a LOT of developers using macbooks, and fewer booting up windows to edit VS projects anymore.

This is to stay relevant and that effort won't change... of course they are a company and may not offer a lot of energy if there isn't uptake. My limited use of the new editor is actually a pretty positive so far. I'm going to give it a try for a week, already I like the UX more than sublimetext.


Go here ... https://code.visualstudio.com/

and click on the video. The guy is using a macbook air and there is a Microsoft logo in the background.


It almost feels as though the "Developers! Developers! Developers!" Ballmer mantra is back! [0]

Microsoft has realized that it can't afford to lose anymore developer mindshare and it's creating some really spectacular results. This is a Microsoft I can be excited about!

[0] https://www.youtube.com/watch?v=8To-6VIJZRE


Neat. I am all for equivalent look&feel and work flow across different OS's. One thing that strikes me as strange, this looks very similar to Qt Creator[1].

[1] http://doc.qt.digia.com/qtcreator-2.4/creator-overview.html


As some members of the development team are reading here:

Text rendering on Win8.1 with 4k screen and 175% scaling is slightly blurry compared to normal Visual Studio. Is that known and are there any plans to improve on that? I remembered similar issues with Atom before :(

Otherwise it looks great for a first release! Looking forward to how it evolves.


Thanks! We'll look into that


Microsoft expects to make an increasing portion of their revenue from Azure PAAS. Visual Studio has a button to deploy to Azure. Amazon has nothing like an IDE and language/runtime to compare with this.

Even the Economist had an article last week about how the EU countries lament their lack of platform prowess.


a free cross-platform code editor by Microsoft, you say?

vi kids-get-off-my-lawn


They should just rename it "Code", visual studio inevitably brings memories of "bad M$". This is going to be a good trojan horse to lure developers into the microsoft platforms now with windows 10 and all, esp. as OSX developers are getting tired working with 80s technologies.


There are a billion things called "code" already. Calling it 'Visual Studio' highlights two fairly important things:

1. It is an IDE

2. It is owned by Microsoft


Does anyone know how to turn on automatic suggestions for non-supported languages? Syntax highlighting works great for Ruby (not officially supported), and good suggestions appear with "Ctrl-Space", but not automatically. Haven't had much luck with the settings JSON.

Pretty neat, though!


Anyone have a complete list of languages with "non-support"? I was a little underwhelmed with the official list, but Ruby was one of my wants there. What else does it highlight that's not on the official page?


Microsoft has been doing a lot of cool things lately. I hope their new strategy will pay off for them.


I wrote a small early review of Code here: http://jamie.sh/blog/9/an-early-review-of-visual-studio-code TLDR: I liked it a lot :)


Just wanted to point out it's not the "real" Visual Studio. But amazing nonetheless.


Thanks M$ :)

This is a good move if they're hoping to entice Eclipse users on *nix to migrate from the JVM ecosystem to CLR.

Deploying Windows programs on FreeBSD is one thing but if they want to grow their developer base, they need to target programmers who don't run VS on Windows.


That's what I thought when I read the headline, reading the comments it's clear it's just another programmer's text editor.

Eclipse is a full, powerful, customizable platform, mature with plugins for everything.


May be I am missing something, but I could not see anything about IntelliSense for Node. I tried exactly what they showed at the conference.

http://i.imgur.com/lMQvZa0.png


Did you add the typescript definition file for node and reference it?

Download the node.d.ts file from the DefinitelyTyped repo https://github.com/borisyankov/DefinitelyTyped then add that file to the folder containing your node app.

Then in the file you are using the http object reference the .d.ts file by adding the following to the top of the file:

/// <reference path="node.d.ts" />

After that you should get intellisense in the file.


Or you could just type __directory, wait for the squiggly to show up and press ctrl-. => there is a code action there that will download the node.d.ts and add a /// reference for you


I am waiting for the day where Visual Studio Express will be available for Mac and Linux!


Is there someone else thinking of installing Visual Studio and the full stack required to develop .NET but is a bit scared of filling their system with many GB of stuff that is probably not immediately necessary and installing services that will probably not be of use anytime soon, slowing their machine down and making it not as "versatile" anymore as they would like it to stay?

Of the times I installed VS in past, just to toy with it, I remember that after installing it I immediately had many ram eager services loading at startup and had a dozen items more in "installed applications" and whatnot which were all strictly interconnected making always hard to find - in case you wanted to remove the full thing - if you managed to do it fully.

..what version of VS would you suggest to install anyway?


Tell me about the R# support. That's the only thing making VS usable.


Resharper probably isn't going to run on here. Resharper has definitely been a requirement in the past, but Jetbrains seems to be slow to embrace Rosylen, which is clearly the future on .NET. It's not at all clear to be how long they're going to remain in their dominant position.


Well, future is not clear yet; but right now VS is a shell to host R#.


I wonder why they didn't allow to work on network folders. It looks like all files must be local, otherwise it can open the folder and list files in sidebar but can not open individual files.


The site and download are available now at https://code.visualstudio.com/


Been playing around with it and I like it.

It's good for web development, and that's a smart move by microsoft to product a lighter weight ide for this purpose.


Can't wait to try this. Been using atom for a year. Been hearing some great things about the new Visual Studio (compared to a few years ago).


I wonder which technology they are using to archive multi platform ? Are they going native Qt, Gtk and Cocoa or they use Mono and Window.Forms ?


it built on top of http://electron.atom.io/


They use webkit -.-


Microsoft ppls please release a windows phone emulator for OS X and Linux. You will make my year if I don't have to dual boot anymore :)


Did you try wine?


Sweet! I don't think I'll be able to use it until it supports React/ES6, but the debugging features look awesome!


The market needs a superb JavaScript IDE. So far, IntelliJ is the leading out there but there needs to be more competition :).


I can't wait to use this with typescript!


...for a moment I hoped Microsoft has made a usable C++ debugging tool for Linux.

I know, such dreams were too far-fetched.


Will the Microsoft and Github consortia be able to dethrone Jon Skinner and his Sublime Text?


It may be cool. It may even work. It's still a Microsoft product and for that reason alone I won't touch it. They've been shit-talking Linux/UNIX for 20+ years and screwing us over in uncountable ways for even longer. They may be changing, but I, for one, will never trust them due to their history.


Very cool editor but be warned the download archive is a zipbomb (no root directory).


That's not what a zip bomb is: http://en.wikipedia.org/wiki/Zip_bomb


Probably meant a tarbomb but seems like there's no .zip equivalent.


It had a root for me: VSCode-osx


Wow. This is really really good. blows sublime away for node / html / js


I just downloaded and looked inside the package. It's based on Atom.


Would this allow for cross platform C# development with a GUI?


Would be nice if you fixed your login so you could get to the download. Still the same old Microsoft. Seriously can't you just have a simple link to download? Tsk tsk, should've hired me for that I'd position


Thank you for fixing it!!! I'm really starting to like you guys again!!!!


pressing F12 in the editor brings up editor debug gui, apparently it is a webpage.

So that thing potentially runs as a website in the browser as well, cloud editing.


Wow, it can be downloaded now!


jsx files are not highlighted


Way to go!


Good bye Sublime and Webstorm!


That's it, MS is the new Google, Google is the new Apple, Apple is new Microsoft.


I literally just bought clion a couple days ago.

(not regretting it either, I can't stand visual studio, and am not likely to switch without very good reason)


omg so exciting


can't wait to try it out!


Uninstalling Sublime Text 3...


I'm not sure if you saw, but you can keep it and do the same things as well in the future.

"Microsoft says the language services it built for Visual Studio Code will be available in other editors as well, including Sublime Text, Vi and Atom."


> "Microsoft says the language services it built for Visual Studio Code will be available in other editors as well, including Sublime Text, Vi and Atom."

Whoa.


As an example, the OmniSharp engine that powers C# completion is available for Emacs, Vim, Sublime, Atom, Brackets, etc. http://www.omnisharp.net/


I just heard about OmniSharp the other day and had some trouble getting it to properly work. But now that this has been announced I may just switch to that.

I still love Sublime and will use that for all other non-.NET/C# purposes.


No emacs ? :(


Emacs too :)


I'm a pretty heavy user of IntelliJ but would never ever uninstall or not use Sublime Text, its like comparing apples to oranges. Any decent developer would know when to use either to be more productive.


Haha I had a similar first thought. I hope its as extensible as some of the competition, I'm sure it won't come ready out of the box for some things I find fun.


This was posted 10 minutes ago and you commented 5 minutes ago. Given I tried to download it and it failed with some weird error message on their site (not to mention registration walls suck) the logical conclusion is that you are not serious about your comment. That then begs the question why you would post such a comment. Looking at your submission history, one could easily assume you work for Microsoft.

If that is the case, I would suggest you guys grow a brain and remove the registration wall. It's 2015.


Their comment wasn't based on using it but simply based on "Visual Studio on something other than Windows" more than likely.

Registration walls are only a bad idea when you care that a product reaches as far as possible. Given "Visual Studio on OSX/Linux" is going to drive humongous amounts of interest the extra metadata they get from the registration wall is worth annoying a few people.

On a side note several people have said that it is likely not available yet.



That's quite a jump...

My first thought at seeing this announcement was also that I would be uninstalling Sublime on my Mac. I'm not a Microsoft employee. And give MS time, they just announced it, available "later today". No need to assume a lack of brains.


Lots of "Microsoft" on the front page of HN.


Today is the first day of the Build conference, which is Microsoft's main developer conference. Their new dev toys were announced today.

http://www.buildwindows.com/


That's usual phenomenon, lol.


Microsoft is a shameless company. They used to attack Linux, GNU and GPL. Now, suddenly they want to be friends with Linux. Why? It has everything to do with money. Today windows is getting less relevant day by day. So, microsoft is trying to put their into Linux and Mac.


Shameless? They are a listed company. Listed companies have one goal: to make money. They will do whatever they think will make them the most money in the end.


I have always seen the inverse: Stallman and followers treating anything done by Microsoft as an abomination.


Embrace, Extend, Extinguish.

This is the embrace stage, guys. Don't fall for it.


I know HN hates memes but...if ever a thread needed an itshappening.gif, this is it.


Tried -- failed. Login through MS, then get screen that it's unavailable.

Come on, MS.


"(if this link isn’t live yet, give it a few more minutes and then try again)."

It's literally right after the link. What did you expect? It's a breaking story, the product was just announced and in the conference it was announced as available later today.


Personally I'd expect a "not live" link to fail to load, or be 404, or put up a "coming soon" page, or something. If I get a login page that indicates "live" to me.


I'm not accustomed to logging into a link that's "not yet live."

FWIW, the response I get is: Sorry, but we're having trouble signing you in. We received a bad request.

(I'm logged in with the same account through other services.)


It was probably put behind a login wall for this very purpose, so it's not leaked ahead of time. Just have patience.


More than a year ago I skipped the page that asked me to enable the two-factor authentication, as I didn't want to give Microsoft my phone number. One day I found myself completely locked out of my account. Long story short, I've never been able to access my email account again, since that day. The instructions to unblock the account [1], say, I shit you not:

>"To unblock your account go to https://account.live.com and sign in to your blocked account."

If I try to enter my number, I get an unspecified error and I'm still locked out. Obviously. But not to worry, the page says:

>"If you can’t unblock your account with the security code and changing your password, customer support can still help you get your account back. To contact customer support, you’ll need to sign in to your account, and fill out an online form."

...

I really don't know what kind of brain-dead monkeys they put in charge of these things. And while it's hard to believe that a functioning human being could ever come up with such a bullet-proof procedure to unblock an account blocked for "security reasons", what really baffles me is that this has been going on for almost two years. This should give you an idea of how much Microsoft cares about their consumer products.

So, consider yourself lucky to have gone past the login, which, apparently, isn't something to take for granted with Microsoft.

[1] http://windows.microsoft.com/en-us/windows/outlook/account-t...


https://account.live.com/resetpassword.aspx doesnt seem to require my password. I was able to select "I know my password, but can't log in" then chose "I don't have any of these" at which point I was given a form to fill out to have a CS rep contact me.

Give it a try, it might give you access to your account again.


It's what I did at the time, and I did it again now, but it doesn't work. I can change password as many times as I want, but the account is still blocked for no reason.


So you didn't get to the big contact form? Did you select the same things I did? I just tried it again on another account, and got the same page as before.

Try with https://account.live.com/acsr it's the page it eventually sends me to for the recovery.


It is a bit strange that Microsoft keeps wanting me to log in for things like this. I'm not sure.

If any Microsoft engineers happen to be scanning this thread, it correctly redirected me to our organizations login page for me to use my standard credentials, but failed after with a generic Bad Request error.


As countless others have stated it's not live yet but will be "later today". The login only allows Microsoft employees to access it.


It may not actually have gone live yet. In the keynote it was announced as "releasing later today".


The page might only be live after the keynote.


An area that Micro$oft seems to ignoring is their device as in Barcode scanners that are still stuck on .Net 3.5 and VS 2008. Its matter of time before Andriod steals this and drives more developers to Java/Google.


Yeah, if only I could use lamdas in my barcode scanner... Perhaps what you're ignoring is that MS doesn't see much growth for themselves in the embedded market and, therefore, doesn't see a reason to invest there.


If Mac version is written with Cocoa API then I love Microsoft. If it's not - it's useless.




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

Search: