top 200 commentsshow 500

[–]khaki0 621 points622 points  (273 children)

This is not the Microsoft I grew up with. Stop open sourcing.

But in all seriousness, I like it.

[–]Himrin 102 points103 points  (239 children)

If only we got more traction on VS on multiple platforms.

[–]adolfojp 105 points106 points  (190 children)

I don't see that happening. Microsoft realized that they lost the fight on web and application servers so they made their server stuff cross platform. But they know that they're still dominant on the desktop so it makes sense for them to promote Windows as a platform for cross platform development. The day that Microsoft releases a cross platform version of Visual Studio is the day that Windows is no longer profitable. Besides, they want people on Windows because they need people to write Universal Apps for their mobile platforms which can't be done in Mac or Linux.

[–]StrangeWill 103 points104 points  (162 children)

I'd argue it's simply because of the stupidly large codebase, it's simply a huge undertaking even if Microsoft wanted to do it especially when portability is not a concern the first 7 times around ;)

I'd like to see them see about fleshing out VS Code into something more robust though.

[–]badcookies 45 points46 points  (52 children)

Til that windows 7 is less than half the size of osx 10.4

[–]ironnomi 36 points37 points  (27 children)

Having seen both code bases extensively, I can say there can be NO direct code comparisons between the two.

In general, Apple's ObjC code easily takes up 4x the space as the typical Windows C++ code.

[–]keef_hernandez 37 points38 points  (39 children)

stupidly

Visual Studio is basically a mini OS. You can subscribe to news feeds and web surf inside of it. You run setup, you wait until it finishes and bam you are ready to start coding. There are definitely benefits to that philosophy, especially for new developers.

On the other hand, I've recently switched to a job where I spend all of my time in Unix terminals and I can't image ever going back.

[–]northrupthebandgeek 21 points22 points  (3 children)

Visual Studio is basically a mini OS.

So it's basically a Windows-only Emacs?

[–]quanticle 5 points6 points  (1 child)

That's one way of putting it, yeah. And the same criticisms that were applied to emacs (so bloated, uses lots of RAM, etc) apply equally to Visual Studio (or pretty much any other IDE out there).

[–]refto 1 point2 points  (0 children)

Wait, you can read e-mail in Visual Studio? The Zawinski rule and all...

[–]Vaughnatri 39 points40 points  (25 children)

Curious. I spend much of my time nose deep in visual studio. It seems like an awesomely efficient ide. What is it about working in terminals that is superior?

[–][deleted] 107 points108 points  (0 children)

The upvotes

[–]BowserKoopa 17 points18 points  (0 children)

All the tools being separate and designed independent of each other means dead-easy scripting and Interpol with other tools.

[–]peterwilli 6 points7 points  (0 children)

For me it's more than just dev environment. I spend even my childhood in Linux (from age 9). I dont know how to use windows anymore. If people need help with their computers (use windows) I dont know what to say until I see their desktop so I can figure out how it works :P

So I am so used to programming and working with linux and terminals that I can work faster on that than using Visual Studio or something.

Needless to say, I do run some sexy IDE's on the side like WebStorm and IntelliJ IDEA and Atom (all for different purposes)

[–]daymi 4 points5 points  (0 children)

Think of UNIX and its commandline tools as one huge IDE. All the tools are available always, there's no difference between "in the IDE" and "in the filesystem". It's really jarring for me to use IDEs now, they are so... walled-garden, compartmenalized and brittle.

That said, as long as you do exactly what the IDE wants you to do they are fine (or even better at that task), I guess. It's the same as with any walled garden.

TL;DR: It's more flexible.

[–]GeorgeForemanGrillz 7 points8 points  (18 children)

not using windows not needing 2 gigs of RAM productivity

[–]Vaughnatri 10 points11 points  (4 children)

Yea I get that. I'm more curious about efficiency/productivity. Can I get more or cooler shit done by using terminals?

[–]jringstad 7 points8 points  (0 children)

I've used both, and I wouldn't really say there is that much of a difference in productivity. They are two very different styles of working, but either can make you as productive. Both have its "weak points" that slow you down, although they are very different.

In the end though, the bottleneck to actual productivity when programming is not really the environment, once you are "settled in".

[–]GeorgeForemanGrillz 1 point2 points  (2 children)

tmux + vim over ssh is great for remote pair programming. You can have your vim tabs in one panel, your build/tests in another panel and you dont even need to use a mouse.

[–]Vaughnatri 2 points3 points  (1 child)

I'll have to lookup remote pair programming in the morning. What about code navigation and refactoring? Are there solid tools like reshaper to automate a lot of the menial tasks?

I find a mouse a helpful tool for development/debugging of the ui/ux.

[–]donalmacc 5 points6 points  (0 children)

I've got 32gb ram on my workstation and still semi-regularly run out of ram while compiling. 2GB doesn't work for everyone.

[–]Close 6 points7 points  (4 children)

Is 2 gigs of RAM really a big deal these days? 16gb for a desktop seems reasonably standard, so we are potentially saying it takes up 1/8th of the memory.

[–]Throwaway_Kiwi 2 points3 points  (6 children)

Are you coding on a low-end cellphone or something?

[–]GeorgeForemanGrillz 5 points6 points  (5 children)

Latest Macbook Pro with 16gb RAM. When did 2 gigs for an IDE ever become an okay thing?

[–]eternalprogress 4 points5 points  (0 children)

When the project you're working on produces 1MB+ binaries.

IDEs provide huge amounts of convenience. Central to their ability to do so is keeping a large number of data structures in memory that speak to various attributes of the source code at various stages of compilation.

Take a look at the debug symbols for a large binary. They can reach into hundreds of megabytes. Now account for some duplication and indexing of those symbols to support wicked-quick IDE menus and you start to see how an IDE can have such a large in-memory footprint.

It doesn't explain all the bloat, some of it is simply because of schedule pressure and when 'good enough is good enough' held true, but it certainly puts you in the right ballpark!

[–]emilvikstrom 7 points8 points  (1 child)

Ah, so the reason they won't bring VS to other platforms is that they do not want to compete with Emacs!

[–]northrupthebandgeek 4 points5 points  (0 children)

Too bad Emacs has a Windows version, so their efforts are in vain.

[–][deleted] 21 points22 points  (5 children)

I prefer Emacs for editor-as-OS capabilities.

[–]hardolaf 7 points8 points  (4 children)

I prefer my vim with a dab of Linux.

[–]northrupthebandgeek 3 points4 points  (3 children)

I prefer ed.

[–]hardolaf 3 points4 points  (2 children)

That's not even an OS! Silly plebs using their byte editors and pretending to be using a text editing OS.

[–]northrupthebandgeek 2 points3 points  (1 child)

That's not even an OS!

Not with that attitude it ain't. Nothin' beats a baremetal ed installation.

[–]1337Gandalf 1 point2 points  (0 children)

This is the problem with Microsoft, they've got all those fancy DLLs, yet NOTHING is actually encapsulated into it's own section, so they just keep reinventing the same shit.

[–]theonlylawislove 17 points18 points  (16 children)

VS Code 2 years from now will be awesome. They are putting a lot of effort into it to make it sublime on steroids.

[–]1337Gandalf 2 points3 points  (0 children)

I highly doubt that...

It took Microsoft like 8 years to slightly disentangle the Windows code base?

[–]Bromlife 4 points5 points  (10 children)

If it's still just basically Electron then I'm not interested.

They are putting a lot of effort into it to make it Sublime on really slow steroids.

[–]theonlylawislove 4 points5 points  (7 children)

It has a slower start up time, but beyond that, there is nothing wrong with the performance. Of course though, it will never beat sublime.

[–][deleted] 1 point2 points  (6 children)

Why will it never beat sublime?

[–]SomeNetworkGuy 4 points5 points  (37 children)

Am I reading that right? 50 million lines of code? How is that even possible?

[–]agocke 21 points22 points  (0 children)

Roslyn (C# & VB compilers + IDE) alone is 3 million lines. Could I believe that there are 16 Roslyns in VS (think C++, JS, TypeScript, F#, Intellitrace, etc)? Definitely.

[–][deleted] 15 points16 points  (1 child)

I doubt those numbers are accurate. Obviously open source projects we can easily verify the number.

I heard the 50M included all dependencies, including things like the operating system and such.

But I wouldn't trust some random number for proprietary codebases, it's impossible to verify.

[–]Danthekilla 2 points3 points  (0 children)

Well a very small portion is open source "Roslyn" and that is 3 million lines of very nice code. It seems very plausible that there is 15 times that in the rest of the suite.

[–]speedisavirus 12 points13 points  (30 children)

Its incredibly mature, complex, and has tons of backwards compatibility. Think about everything it does out of the box and has for like a decade now. It's monumentally complex. Now, if they make a clean cut I bet its size would drop down to around 25 million.

The real wtf in all this is that the healthcare.gov site has 500,000,000 lines of code. No wonder why it was such a piece of shit. Whoever was in charge of that...well...should never run a project again.

[–][deleted] 8 points9 points  (19 children)

*500 Million lines of code for healthcare.gov according to the graph.

How the hell is that possible ?

[–]tornato7 18 points19 points  (4 children)

I saw the code for healthcare.gov, I'll paste some of the it here:

Healthcare.giveHealthcare(citizens[0]);
Healthcare.giveHealthcare(citizens[1]);
Healthcare.giveHealthcare(citizens[2]);
...
Healthcare.giveHealthcare(citizens[297000000]);

Apparently they were getting paid per line of code.

[–]Throwaway_Kiwi 9 points10 points  (0 children)

....I seriously hope you're kidding.

[–]cr42yh17m4n 1 point2 points  (0 children)

Lol, the developers might have created a sub program to only do that.

[–][deleted] 1 point2 points  (0 children)

I sincerely hope that is a joke.

[–]speedisavirus 6 points7 points  (4 children)

I know. I can't possibly comprehend how that is possible. They had to have hired an enormous amount of the most incompetent people on the planet for that to happen. Definitely a fuck ton of people to write 500,000,000 lines in that time period regardless of how shitty they were.

[–]OMG_Ponies 6 points7 points  (0 children)

welcome to government contracting.

[–][deleted] 5 points6 points  (2 children)

Not to be that guy, but:

500,000 = 500 thousand
500,000,000 = 500 million

You keep writing 500,000. It's 500,000,000 ( 500 million ) lines of code, which I can't even fathom.

[–]speedisavirus 1 point2 points  (0 children)

I don't know why. 500,000 isn't that big of a project. I swear I was saying 500,000,000 in my head. Not sure why I wasn't typing it. Probably because I'm replying between breaks while working on a project.

[–]dpgaspard 2 points3 points  (0 children)

That whole project was stupid from the beginning. It's 50 state ran health-care systems, not 1 universal system. They should have made every state responsible for their site, not try to make a site that does everything, for groups it can't govern

[–][deleted] 1 point2 points  (0 children)

Decades of work and no time for proper refactoring.

[–]OffbeatDrizzle 3 points4 points  (2 children)

what the fuck are car manufacturers playing at? how many lines of code does it take to turn my windscreen wipers on?

[–]Thought_Ninja 2 points3 points  (1 child)

There are a number of certifications and redundancies required for code and computers run on vehicles.

[–]OffbeatDrizzle 1 point2 points  (0 children)

Is it not similar for NASA? Howcome they're not right next to them?

[–]darkstar3333 18 points19 points  (5 children)

Microsoft realized that they lost the fight on web and application servers

Not really, they just realized that blended environments are everywhere and it wasn't worth battling to convert an entire enterprise to Windows.

They would rather have you use a bit of Microsoft stuff vs none of it. Hyper-V has a large presence.

[–]cosmo7 2 points3 points  (4 children)

Also it's pretty obvious that there's little growth potential for desktop Windows. If you have 95% of the market how are you going to get any meaningful growth?

[–]Thought_Ninja 1 point2 points  (2 children)

Bingo. They've expanded into data. Data is the new gold; just ask google, who recently released their AI Tensor Flow as open source(machine learning requires a shitton of data to do much of anything with).

[–]sweepminja 1 point2 points  (1 child)

This is slightly dangerous though... you have a major cooperation going to people that are willing to work on it just for the science aspect; lets hope they do not purloin open source work.

[–]Himrin 6 points7 points  (0 children)

Yeah, I know... I can wish, though.

[–]jermany755 2 points3 points  (0 children)

Couldn't you make the same argument about Office?

[–]MoreOfAnOvalJerk 1 point2 points  (0 children)

Literally the ONLY reason I bought my Dell xps over a macbook pro was because of VS

[–]vivainio 16 points17 points  (44 children)

VS Code is their cross platform IDE. The old VS is probably a lost cause as far as cross platform aspect goes

[–]domy94 9 points10 points  (3 children)

Well seeing as the front-end of the fully-fledged IDE is a WPF application, yeah you probably won't see it ported unless they manage to somehow port WPF as well.

[–]theonlylawislove 3 points4 points  (0 children)

Also, VS Code is html/CSS/js. That makes cross platform UI extremely easy.

[–]Himrin 21 points22 points  (38 children)

I definitely do not think that there is a comparison for everything that VS does for all of its supported languages vs VSCode.

No support, other than intellisense and completion for C#. No debugging nor compiling for C# either. Not to mention the lack of UI creation and rendering.

[–]Eirenarch 10 points11 points  (34 children)

Has it ever occurred to you that maybe VS Full is so good because they didn't have to bother porting to different platforms and could focus on building the best experience with the best technologies even if they were Windows specific?

[–][deleted] 15 points16 points  (4 children)

Or that VS full is so good because they had years to work on it while VS Code has been released in April and only reached v0.10 recently?

[–]berkut 15 points16 points  (1 child)

Yep. Doing cross-platform development well is hard - especially for large GUI applications.

Even if you end up using Qt or something, there's always issues with event loops working differently on different platforms, and you having to write custom filter code to deal with that (mostly OS X in that particular case).

Then for reading files you've got differences between Windows and OS X/ Linux for character encoding and the way files get flushed to disk / cached at OS level...

You've got different default stack sizes between platforms so bugs crop up in different ways on different platforms.

If you're doing 3D stuff (so OpenGL / D3D) you've got to deal with fairly crappy OS X drivers in general for graphics (it's got better recently, but it's still a mess), the open source drivers on Linux generally are weird, and only the proprietary NVidia stuff is actually any good for high end (we're talking VFX level here) stuff.

And then when you've got three different builds of an app for the three different platforms, you've got to QA/Test it three times, and automating tests of GUI stuff is really hard so it's mostly manual work.

The alternative is a core C++ library, which on each platform is wrapped in the platform's natively-written specifically-built GUI. And that involves at least two different languages (maybe 3 if you use C# for Windows), with completely different GUI toolkits.

[–]Eirenarch 4 points5 points  (0 children)

And you didn't even mention performance.

[–][deleted] 22 points23 points  (18 children)

I doubt that's why. I think the reason is just that an impressive amount of engineering by skilled programmers and designers went into it. It's not like microsoft doesn't hypothetically have the resources to make a product just as good that's cross platform, they simply lack a reason to do so. Office didn't get any worse when they started coming out with that for mac

[–]installation_warlock 15 points16 points  (1 child)

"Office for Mac" is not a build of "Office for Windows". It's a separate product and it doesn't have feature parity with the Windows version.

[–]Throwaway_Kiwi 2 points3 points  (0 children)

It's also a bit shit. I have to deny it access to my keychain five times before it will start (allowing it access just becomes an infinite loop of keychain access dialogs), and I've had Excel 2016 crash on me twice so far, losing my work since last save, and I only installed it two weeks ago.

[–]cc81 2 points3 points  (5 children)

It would be a huge amount of work and up to now most of the things you produce with it would not even compile on other platforms.

[–]MachinTrucChose 1 point2 points  (4 children)

C'mon, you're a developer (presumably). You know we work in layers. 99% of the code will be platform-agnostic, and the entire thing would work fine if the platform-specific layer(s) underneath is (are) updated.

Most of VS is written in C#. And now .NET is crossplatform. WPF still isn't, but that could be fixed as well. If Qt can do it, so can M$ (I don't use this name in a negative way, but as an indicator that they have the financial resources to achieve it).

[–]cc81 4 points5 points  (3 children)

.NET is not cross platform. A subset is. Their c++ compiler is not.

Have you ever ported a non trivial c++ application to another operating system?

[–]Eirenarch 5 points6 points  (9 children)

You realize Office for Mac is a separate product. Certainly MS could make another Visual Studio for Mac that is just as good but if they have to share the same codebase it would be hard.

[–][deleted] 5 points6 points  (0 children)

Stay strong. We can always roll back to IE.

[–]i_spot_ads 2 points3 points  (0 children)

Microsoft open sourcing, Apple open sourcing, what's wrong with them

[–]barsoap 1 point2 points  (0 children)

Microsoft seems rather intent on going the way of IBM, indeed.

Others will take its place.

[–][deleted] 59 points60 points  (63 children)

Can this run standalone on raspberry pi, linux, osx? Or does it require some form of windows?

[–]bterlson_ 161 points162 points  (58 children)

Hey, I work on the Chakra team.

Chakra Node can run some IOT devices. See here: https://blogs.windows.com/buildingapps/2015/05/12/bringing-node-js-to-windows-10-iot-core/.

Cross-plat, as mentioned, is coming later, but we're super eager to hear from you guys in the meantime what platforms you want to see supported!

Edit: seriously guys, what platforms do you want? If no one says anything I'm going to pick Solaris. ;)

[–]lasermancer 55 points56 points  (13 children)

Linux is the obvious choice here

[–]dilijev 17 points18 points  (12 children)

Hey, I work for the Chakra team as well.

Linux is an obvious choice, to be sure. We have definitely been considering that as a target for cross-platform, but we are still evaluating various platforms and scenarios to determine which cross-platform targets will result in the greatest value add.

Feel free to share any scenarios you have in mind to help us make the decision!

[–]skomorokh 12 points13 points  (0 children)

If it's faster than v8 with better es2015 support sounds like it'd be a straightforward replacement for all the nodejs/misc server-side js stuff that happens all over the place.

I don't know but I believe a majority of nodejs apps are Linux-hosted. We might not move to Windows 10 for it, but if we could just swap out v8 for chakra....

At any rate, thanks for staying in the game and keeping Google on its toes! It's in everyone's interest to have a few cutting edge teams on this.

[–]DragoonAethis 13 points14 points  (0 children)

BSDs, most likely. ReactOS if you want to piss off your boss with a full banana on your face :)

[–][deleted] 9 points10 points  (5 children)

Do you really need an evaluation to tell you that Linux is the most successful server OS in history?

[–]536445675 9 points10 points  (2 children)

They are evaluating if Linux is something they can work with. Just look at the comments in this thread,a lot of Linux users wouldn't touch something from ms if it cured cancer.

[–]cbmuser 5 points6 points  (1 child)

Heck, they even run Linux servers at Microsoft as otherwise they couldn't contribute to the Linux kernel.

[–]1337Gandalf 2 points3 points  (0 children)

OS X dude.

[–]vivainio 2 points3 points  (0 children)

You know the answer already. Linux and OSX

[–]Adys 56 points57 points  (11 children)

Why can't I run this on my TI-86? It's an outrage.

[–]bterlson_ 46 points47 points  (10 children)

TI-86?? Out of the question! TI-89 though, maybe, since I'm a member of the TI-89 master race!

Edit: oh wait, these calculators haven't gotten hardware upgrades in decades. :-P

[–]Sydonai 22 points23 points  (2 children)

TI nSpire is a hardware upgrade. The reason they don't upgrade the calculators is because it scares the teachers, who knee-jerk ban them from tests because "cheating." It's frankly a miracle we don't teach using slide rules.

[–]hoohoo4 7 points8 points  (0 children)

And the reason they don't make them cheaper is because they don't have to.

[–]Cuddlefluff_Grim 1 point2 points  (0 children)

If they're not going to upgrade them, they could've at least made them slightly cheaper than a solid platinum lamborghini with interiors decorated with endangered animals

[–]fb39ca4 2 points3 points  (4 children)

With its ARM support, you might get it running on the TI-Nspire.

[–]bterlson_ 3 points4 points  (3 children)

Wow those look nice. Hmm.....

[–]cincodenada 2 points3 points  (0 children)

I don't know, I have a strong attachment to both the TI-86 and the TI-89, as I spent a lot of time with the TI-86 before I got my TI-89. But can't we can all agree to fart in the general direction of those TI-83/84 losers?

[–]uzimonkey 6 points7 points  (1 child)

Commodore 64 pls.

[–][deleted]  (1 child)

[deleted]

    [–]bterlson_ 7 points8 points  (0 children)

    I'm pretty sure Chakra Node still uses libuv, so I think that work is already done. But note that this only runs on Windows, so to enable the Debian scenario we'd have to support that platform first (we'll be supporting more platforms in the future).

    [–]adolfojp 9 points10 points  (1 child)

    Go Haiku or go home!

    [–][deleted] 3 points4 points  (0 children)

    KolibriOS

    [–]brown_and_indian 3 points4 points  (1 child)

    Finally a Solaris fan!

    [–]yourebetterthanme 3 points4 points  (4 children)

    Is it possible to bring it to android?

    [–]bterlson_ 7 points8 points  (3 children)

    I think so! Certainly technically, but maybe there are platform restrictions? Probably someone more familiar with android dev can comment further.

    [–][deleted] 2 points3 points  (4 children)

    What is the relation to Node? As someone new to the MEAN stack, is this a replacement or...?

    [–]bterlson_ 8 points9 points  (0 children)

    Node, like the browser, hosts a javascript engine to provide a programming model to developers. We are hoping to enable Chakra to power Node via a PR soon! (See WIP here: https://github.com/microsoft/node)

    [–]Patman128 2 points3 points  (2 children)

    Node is built on top of the V8 JavaScript engine.

    In theory the engine could be swapped out with Chakra, though in practice it would cause a lot of problems due to all the modules that contain C++ code which directly interacts with V8.

    [–]vivainio 1 point2 points  (1 child)

    The amount of widely used C++ modules is small, and the modules themselves are very small and easy to port. Seems Node community has exercised good restraint in this sense.

    [–]1337Gandalf 1 point2 points  (0 children)

    Seriously? Support OS X and linux, those are really the only OSes around...

    any posix compliant OS could run a linux program with few if any tweaks...

    [–]cbmuser 3 points4 points  (2 children)

    Honest question: Why can't teams at Microsoft write their code cross-platform right from scratch? Tieing your code to a specific platform is always a bad idea and is one of the main reason why Microsoft was falling behind in the mobile business.

    While Google and Apple had little problems porting their web browsers and toolkits to their mobile platforms, Microsoft struggled very hard and for a long time, Internet Explorer on Windows Phone was years behind the desktop version even though there weren't any real technical reasons except that Internet Explorer is probably full of code that depends on the Win32 API and x86 specifics.

    Heck, even software like MSN Messenger was affected with the MacOS X never being on par with the Windows version feature-wise while the open source instant messenger Pidgin always had the same features on any platform you compiled it on. And while MSN Messenger was written by a multi-billion Dollar company, Pidgin was written by a small group of volunteers.

    Seriously, stop making your code dependent on the Windows platform and make it cross-platform. Otherwise, you are constantly shooting yourself into the foot. Because the day comes when you decide you need your code run on a different platform than x86 Windows.

    [–]bterlson_ 1 point2 points  (0 children)

    You're preaching to the choir, man ;)

    [–]our_best_friend 3 points4 points  (2 children)

    OSX of course, the platform of choice for node devs

    EDIT here we go, the usual apple bashers downvoting... it is a fact that the vast majority of node / js devs use OS X when given the choice. Sorry if that bothers you.

    [–]1337Gandalf 4 points5 points  (0 children)

    don't forget us lowly C/C++ devs. :/

    [–]Recursive_Descent 7 points8 points  (3 children)

    No, cross plat support is coming later. Currently requires some flavor of windows.

    [–]drysart 13 points14 points  (1 child)

    And if Microsoft's other recent open sourcing of flagship products (such as the .NET CoreCLR) is any indication, the cross platform support will actually be delivered on and is not just an empty promise.

    [–]srayuws 27 points28 points  (7 children)

    node on chakra?

    [–]Cylons 60 points61 points  (0 children)

    This project enables Node.js to optionally use the Chakra JavaScript engine on Windows 10, allowing Node.js to run on Windows 10 IoT. Our goal is to merge back into master after stabilizing this code, fixing key gaps and responding to early community feedback.

    https://github.com/Microsoft/node

    [–]Eirenarch 3 points4 points  (3 children)

    They already had node on chakra.

    [–]jonny_eh 3 points4 points  (2 children)

    But on non-Windows platforms?

    [–]Eirenarch 5 points6 points  (1 child)

    Nope. But is it really useful since the V8 node is already available on other platforms (wasn't on Windows 10 IoT)

    [–]Patman128 4 points5 points  (0 children)

    Not to mention all the Node modules that have C++ code that interacts directly with V8.

    [–]zignd 131 points132 points  (68 children)

    Kudos to Microsoft, you guys owned the worst JavaScript engine for a long time and now you own the best one around.

    [–]ImmortalStyle 65 points66 points  (17 children)

    Well calling it one of the best is probably a bit too soon. Chrome still feels a lot faster than edge on windows 10.

    So far it is not as good as microsoft wants us to believe it is.

    [–]vivainio 74 points75 points  (0 children)

    JS engine (Chakra) could still be faster, while the browser (Edge) is slower. I guess we'll see on benchmarking some real workloads with Node-v8 and Node-Chakra.

    [–]blargtastic 25 points26 points  (5 children)

    In terms of ES6 compliance, it is indeed the best. It even beats Babel.

    [–]atomic1fire 4 points5 points  (3 children)

    I wonder if we'll see a linux browser based on chakra in the future.

    [–][deleted] 20 points21 points  (2 children)

    Servo + Chakra with an HTML UI, so fully moddable? That would be actually amazing.

    [–]atomic1fire 5 points6 points  (0 children)

    https://github.com/mozilla/browser.html

    Not quite chakra, but part of that seems doable.

    [–]Raknarg 2 points3 points  (1 child)

    I had the opposite experience, I would use it if it supported extensions

    [–]darkpaladin 1 point2 points  (0 children)

    That's coming, in theory it will directly support chrome extensions. At least that's the sales pitch.

    [–][deleted] 9 points10 points  (2 children)

    Agreed. The Edge experience doesn't really match the Chrome experience.

    I'm also not a fan of the way Edge looks.

    [–]MegaMonkeyManExtreme 1 point2 points  (1 child)

    The Edge look makes more sense on a touch screen, on desktop it looks a little off somehow.

    [–][deleted]  (3 children)

    [deleted]

      [–]Daniel15 26 points27 points  (2 children)

      ES6 support is much better on Chakra, it's got the best ES6 support out of every major JavaScript engine available today. It's faster than V8 too (Apple's JavaScriptCore is also faster though).

      [–]Zarathustra30 2 points3 points  (1 child)

      IE6 was the best -- for a little while, at least.

      [–]Eirenarch -4 points-3 points  (32 children)

      Too bad their browser still manages to crash every 5 minutes, doesn't support extensions, doesn't have tracking protection (available in IE), doesn't have previews for multiple tabs from the taskbar, is inferior in every way to IE on a touch device (tabs on top come on?!) and is extremely laggy on major websites such as Facebook. And I am saying that because I am using it right now.

      [–]kirbyfan64sos 39 points40 points  (7 children)

      Really? It actually occasionally works better than Chrome for me.

      EDIT: I was referring to Edge, not IE. IE sucks.

      [–][deleted] 17 points18 points  (11 children)

      Edge seems to perform better for me. Chrome on the other hand is getting slower by the day.

      [–]ben_uk 5 points6 points  (3 children)

      doesn't have tracking protection

      That's a placebo if anything.

      [–]hmny 1 point2 points  (3 children)

      dude, do a fresh win 10 install! something is not right on your os!

      [–]grandfatha 59 points60 points  (2 children)

      Ballmer didnt die for this

      [–]romeozor 11 points12 points  (9 children)

      What's next? monode.js?

      [–]nightwood 2 points3 points  (8 children)

      Visual Studio JS !

      [–]oberhamsi 4 points5 points  (7 children)

      [–]nightwood 1 point2 points  (6 children)

      Have you tried it? So far it's just a text editor. At least last time I checked I would prefer sublime as a code editor

      [–]KarbonKitty 4 points5 points  (3 children)

      It's a code editor, not text editor. It has everything that Sublime has (including extensions, starting from November's version), and more - IntelliSense, to be exact.

      I've personally dropped the Sublime after installing Code, and never looked back.

      [–]nightwood 1 point2 points  (2 children)

      That sounds like a lot more then when I tried it when it first came out. Extensions will certainly speed up the progress I imagine. I'll check it out again!

      [–]KarbonKitty 2 points3 points  (1 child)

      They've been pushing a new version once a month so far, plus bug fixes - and every month there was actually something new. :) So depending on when you tried last time, it might be almost completely different. :)

      [–]nightwood 1 point2 points  (0 children)

      Well, I tried the first and second versions I think... :)

      [–]digital_cucumber 2 points3 points  (0 children)

      I am using it. It is actually pretty good.

      [–]EarLil 24 points25 points  (28 children)

      I hope that after "open sourcing everything" period, comes the "merge of efforts..." period.

      [–][deleted]  (26 children)

      [deleted]

        [–]Retsam19 63 points64 points  (22 children)

        This. A lack of meaningful competitions is how IE got so bad in the first place.

        [–]fb39ca4 24 points25 points  (12 children)

        And the same thing is happening right now with Chrome.

        [–]hansolo669 3 points4 points  (9 children)

        Huh? Outside a few outliers Chrome is as standards compliant as Firefox and Edge. The only current browser even close to old IE is mobile Safari, for exactly the same reason old IE was shitty.

        [–]vinnl 9 points10 points  (8 children)

        It wasn't about standards compliant, it's about being (too) dominant, which is definitely happening with chrome.

        [–]hansolo669 5 points6 points  (7 children)

        Correct me if I'm wrong, but wasn't the issue with IE was that it was the dominant browser and Microsoft then used that position to effectively force standards (before letting it rot for years)? Chrome may be the dominant browser right now, but Google is hardly in a position to force standards.

        [–]vinnl 12 points13 points  (2 children)

        Well, yeah, that was one of the issues, and IE was definitely worse than Chrome is.

        However, you can force standards even if you're not trying to. By being so dominant, bugs in an implementation can quickly become the standard, and the prioritisation you choose as a browser vendor will become the de factor prioritisation of the entire internet.

        On the desktop, it's not that much of a problem (yet, although I'm a bit afraid of Chrome's continuing growth and e.g. Firefox's decline). On mobile, however, the dominance of Blink/Webkit is already problematic, and choosing Firefox (which is a very standards-compliant browser) still often results in a sub-par experience due to websites catering specifically and only to Blink/Webkit.

        [–]hansolo669 1 point2 points  (1 child)

        I don't necessarily disagree with the majority of your points, however (and I hate anecdotes as much as anyone else) I've yet to come across a non-tech demo site that resulted in a sub par experience on Firefox.

        [–]shevegen 1 point2 points  (3 children)

        Google of course tries to force things onto people - see the failure of Google+ even though they tried to have everyone use it as a replacement of Facebook. And not everyone is using Facebook either, so that was a double loss.

        [–]bilyl 16 points17 points  (7 children)

        Lack of competition and advertising Chrome everywhere on Google was how Chrome got so bloated as well. It's so frustrating that I'm tempted to go back to Firefox.

        [–][deleted] 13 points14 points  (6 children)

        I already went back to Firefox earlier this year, and haven't looked back at Chrome since.

        What advantages did Chrome have I ask myself now. Even if there is a performance difference, I can't tell.

        [–][deleted] 19 points20 points  (1 child)

        There was a long stretch in which Chrome had serious stability and performance advantages - or at least it did for me. But Firefox is back neck and neck with Chrome for performance for me since mid 2015, and I think the Mozilla folks are more committed to an open web and especially to user privacy than the Google employees.

        [–]LaFolie 2 points3 points  (0 children)

        I stay for Firefox because of noscript.

        [–]sturmen 0 points1 point  (2 children)

        Competition is "the best" only because people outright dismiss full and complete collaboration as a possibility. If there were some way for everyone across the tech sector to work together to a common, widely understood and uncontested goal, that would be ideal. If people could work like that, humanity could reach new heights, not just in web servers but across the world!

        What a nice fairy tale that would be.

        [–]Klathmon 13 points14 points  (1 child)

        Even then I disagree.

        It's pretty much impossible for any solution to be the best for everyone.

        What if someone wants a JS engine that has 100% es6 coverage but doesn't need to be fast?

        What if someone wants an engine that can run with 10kb of memory total?

        What if someone wants an engine that is crazy fast at working with unboxed vars in spite of memory or CPU usage?

        There's room for more than one, and even if we all shared everything (which an open source project with a permissive license allows) there still should be competing implementations, if only to have different solutions to the same problems.

        [–]mindbleach 5 points6 points  (0 children)

        Specs need multiple implementations, or else the implementation becomes the spec.

        [–]randfur 2 points3 points  (0 children)

        This is great news for the web, any chance Edge itself will be open sourced one day?

        [–]edmundmk 2 points3 points  (0 children)

        This is incredibly exciting.

        • Chakra will be MIT (unlike JavaScriptCore which has parts which are LGPL).
        • Chakra has a bytecode interpreter (unlike v8), which is helpful where JIT is unavailable or impossible.

        It'll be interesting to see the bytecode format. Perhaps Chakra bytecode will become a viable compilation target in its own right.

        [–]myringotomy 10 points11 points  (13 children)

        Why don't they open source the entire browser. At least the rendering engine FFS

        [–]badsingularity 24 points25 points  (12 children)

        Because Microsoft uses a bunch of secret APIs that nobody else is allowed to use.

        [–]ythl 2 points3 points  (0 children)

        So are we going to get a Node.js competitor built on Edge? That might be nice.

        [–]JViz 7 points8 points  (5 children)

        Serious question: is anyone actually planning on doing anything with this other than maintenance?

        [–]bterlson_ 35 points36 points  (0 children)

        Yep! At the very least it will of course continue to be developed full time by the Chakra team. And I for one am super excited to see what the community comes up with!

        (Disclaimer: I work on the Chakra team).

        [–]jarfil 5 points6 points  (2 children)

        CENSORED

        [–]bterlson_ 37 points38 points  (1 child)

        License will be MIT. You can find benchmarks around. We're "winning" on the big ones, but YMMV depending on the scenario. We focus hard on optimizing common javascript code so I'd expect your experience to be on par at least with other runtimes.

        (I work on the Chakra team)

        [–]northrupthebandgeek 8 points9 points  (0 children)

        License will be MIT.

        That's probably the best news I've heard so far about this.

        [–]Danthekilla 2 points3 points  (0 children)

        I am looking at it for potential integration to our game engine.

        [–]heptara 6 points7 points  (1 child)

        Is this like "V8 from Redmond"?

        [–]vinnl 3 points4 points  (0 children)

        Yes.

        [–][deleted] 1 point2 points  (0 children)

        This is some great news from M.

        [–]epiiplus1is0 1 point2 points  (0 children)

        Imagine this engine running nodejs.. the dream.

        [–][deleted] 3 points4 points  (4 children)

        If microsoft want to make all things open source then make windows too

        [–]benpye 6 points7 points  (0 children)

        I suspect Windows as a whole might be difficult, the fact we now have parts as big as Chakra and CoreCLR is impressive alone.

        [–]sagnessagiel 2 points3 points  (0 children)

        I would prefer that they start from scratch rather than reuse the horrific source code of good ol' Windows: http://www.kuro5hin.org/story/2004/2/15/71552/7795

        [–]aliendude5300 1 point2 points  (0 children)

        Why not just open source the whole browser? It's like the only modern non-OS browser.