
Visual Studio Code: Shipping One of the Largest Microsoft JavaScript Apps - eklavyaa
https://realm.io/news/GOTO-Alex-Dima-Visual_Studio-Code-JavaScript-Typescript/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+realmio+%28Realm+News%29
======
Jazcash
I switched to VSCode in a heartbeat after many years of Sublime. I love
Sublime, but there are countless more benefits to using VSCode over it, and
having 1 second slower startup time is well worth them.

~~~
AtticusTheGreat
Such as?

~~~
softinio
\- built in debugger with consistent/same usage experience regardless of
language you are using it with.

\- built in terminal

\- git integration

to just name a few on top of my head

Sublime fell a sleep to be honest. I have a paid for license and I never use
it anymore.

~~~
nonsince
I'm a spacemacs guy, but the debugger in VS Code is freaking excellent. I've
never seen a nicer cross-language debugging experience.

------
Timothycquinn
For naysayers, Electron only has to support one browser flavor and one
version, which eliminates one of the biggest disadvantages of building Web
based apps. With Electron and similarly with nw.js, the performance can be
close to par with native apps without the cross compilation issues of native
c++ frameworks like Qt. And with Electron, if you want to write some native
code in C/C++, you can integrate that also. The only downsides I see is
protecting closed source code and the lack of Mobile support, which is not
coming any time soon due to Apple blocking Google V8 engine from their
platform due to V8's use of JIT compilation.

~~~
tomc1985
Though at the cost of a ridiculous amount of processing overhead because
you've chosen to forsake nearly every native programming feature the OS
provides, in favor of an HTML engine

~~~
dchest
Native programming features the OS provides are also not free: it's still
similar code drawing things on the screen, making sure they are properly
aligned. HTML/CSS is a pretty flexible, and it indeed has some overhead
compared to most native UI frameworks, but the "ridiculousness" of this
overhead is imaginary.

~~~
uzoodoo
> but the "ridiculousness" of this overhead is imaginary.

A few weeks ago:

VS Code uses 13% CPU when idle due to blinking cursor rendering

[https://news.ycombinator.com/item?id=13940014](https://news.ycombinator.com/item?id=13940014)

~~~
nl
As someone who has been hit by every single one of these bugs[1][2][3] but
somehow didn't get the VS Code problem I'm not at all convinced that is
somehow inherent in using Electron.

I don't think I ever had a "IDE causing high CPU load in" problem in Delphi 2,
3, or 5. I did in Delphi 4, and I have in PowerBuilder, Sybase PowerJ
(although there were much worse problems with that!), VB6, Eclipse 2, and I'm
sure there are some I've missed.

Bugs suck, but they happen.

[1] [http://ridikulouse.blogspot.com.au/2015/02/visual-studio-
hig...](http://ridikulouse.blogspot.com.au/2015/02/visual-studio-high-cpu-
usage.html)

[2] [http://stackoverflow.com/questions/1369487/speeding-up-
tomca...](http://stackoverflow.com/questions/1369487/speeding-up-tomcat-in-
debug-mode-with-eclipse-ide/1373547#1373547)

[3] [http://stackoverflow.com/questions/38601171/intellij-
idea-20...](http://stackoverflow.com/questions/38601171/intellij-
idea-2016-2-high-cpu-usage)

------
thomastjeffery
Interesting article.

VScode shows off a fantastic design by being responsive enough to use, and
still using electron for drawing.

It's a great editor, but a lot of us (myself included) care a great deal about
latency and performance in a text editor. It's our home, and we like it to be
clean and organized.

Kudos to the VScode team for doing such a great job minimizing the headache
that is electron, and building a very usable editor, but I'll stick to Emacs
for now.

------
tejinderss
Personally I think it's a biggest mistake to use browser engine for a text
editor. We already knew how slow and clunky the browsers are and thanks to
vscode and atom our text editors are becoming the same. I would stick to
sublime text and vim for as long as I could. /rant

~~~
mercer
Personally I think that trotting out this argument in every single post about
VSCode/Atom/Electron/etc. serves absolutely no good purpose at this point
(other than upvotes or the pleasure of expressing an opinion, perhaps), but
I'm happy to be corrected.

That said, I'm also still using Sublime Text / vim primarily because they do
feel faster on startup and handle big files well.

But I think rationally it would make sense for me to move to VSCode, because
1) my code editor is almost always open, and 2) I rarely need to edit really
large files, and 3) VSCode is plenty fast for pretty much all other use cases
and offers a whole bunch of advantages over ST.

Atom I'm less sure of. It seems to get faster every few months that I give it
a spin, but it still feels 'laggier' even in normal use, which is definitely a
problem for me.

~~~
nottorp
Well, the main question is still "why oh why?". It's not like Microsoft can't
afford to pay developers to do something native.

Also, calling it Visual Studio is very deceptive. Most devs know VS to mean
something completely different.

~~~
mercer
> Well, the main question is still "why oh why?". It's not like Microsoft
> can't afford to pay developers to do something native.

Yeah I do share that question with you and would love an answer from the team!

> Also, calling it Visual Studio is very deceptive. Most devs know VS to mean
> something completely different.

Could you clarify what you mean with that? Accusing me of being 'deceptive'
seems a bit unwarranted and disproportionately antagonistic, considering that
as far as I can tell I've made a clear distinction between VSCode and VS
(meaning Visual Studio proper), and considering that I can't think of any
reason why I would choose to deceive in this matter. Where did I go wrong?

~~~
TeMPOraL
I think the parent didn't mean to accuse _you_ , but _Microsoft_ , for re-
using the "Visual Studio" brand in a product so completely different that it
deserves a distinct name.

Reminds me of how pissed I was with Amazon calling their line of regular
Android tablets "Kindle Fire". I don't know what the sales teams there think,
but for customers, the "Kindle" brand was literally synonymous with "that _e-
ink screen_ thing".

~~~
nottorp
That's correct, I was talking about Microsoft.

~~~
mercer
Ah, fair enough. Was confused there for a bit.

------
pasta
What I don't get is why they just arent using a stripped down version of
Visual Studio for this. But maybe VSC is more like a test product for
Microsoft to see how development in Javascript works out.

~~~
paavohtl
Visual Studio's codebase is 20 years old, and it wasn't built with cross-
platform support in mind. It uses WPF as the UI toolkit, which is only
supported on Windows. Stripping it down would most likely take an order of
magnitude more work than just writing a new editor from scratch.

~~~
TomMarius
Do you have a source on the usage of WPF? Since it's a really new product
compared to Visual Studio itself, I'd be surprised. Anyways, implementing
something like a WPF-Gtk shim is not hard, especially for someone as big as
Microsoft. The problem, AFAIK, lies in the usage of Windows API.

~~~
mappu
_> Do you have a source on the usage of WPF? Since it's a really new product
compared to Visual Studio itself, I'd be surprised._

The parent comment was talking about Visual Studio itself, not VS Code.

~~~
y4mi
Heh, yes and he did understand that as well. I actually had to look up the
release dates because of your comment :)

> Windows Presentation Foundation (or WPF) is a graphical subsystem [...] was
> initially released as part of .NET Framework 3.0[...].

> .NET Framework 3.0. release date

>> 2006-11-06

> Visual Studio Release Date

>> First entry on Wikipedia is Visual Studio 97 (1997). It was already Version
5 at that point. So even older I guess.

Professionally speaking WPF is still pretty young. Or at least a lot of
developers think like that . There is still a lot of Software being maintained
in Visual Basic, Windows Forms and whatever previous Frameworks existed.
though it is pretty mainstream at this point, so most people just starting
with the Microsoft SDKs never touch anything earlier than WPF.

~~~
TomMarius
Funny, I thought WPF is at least three years younger. Sadly, there are still
schools (at least in Europe) that teach Windows Forms exclusively.

------
ChrisCinelli
A little more than 1 year ago, I started experimenting with new editors. I
move through Sublime, VSCode and Atom. VSCode felt very good but at that time
it was missing a few features I needed it. I end up sticking with Atom. So far
I think it is great.

If I have some time for another exploration I will take another look at VSCode
and diving in WebStorm.

------
matwood
I like VSCode and use it often, but Intellij is still so 'smart' it is hard to
leave. Editing Terraform configs across many files? Intellij is the best I
have seen at remaining context aware, following variables and marking errors.
Same thing with JS, or even random things like nginx configs.

~~~
Achshar
idk, I personally think if you need that kind of deep learning in your code
then you are repeating yourself too much. I wrote a 30k line project with
sublime and never faced any issues. Everything is as snappy as it was at 1k
lines. Never needed intellij level code context awareness. I also worked on
some android app some time ago and I probably could not have gone far without
intellisense. So I think it depends on the language. Java is a lot more
verbose than say php or javascript.

------
jalfresi
Love VSCode but still getting 100% cpu usage for php process on OSX. Great for
Go dev though!

~~~
chrisper
For Go I prefer Gogland

------
jafingi
There is a spelling mistake in the module registration ;-) mimetype, not
minetype.

------
z3t4
commonjs modules have lifetime cache ability. the more popular a module is the
more likely it will already be stored locally. they can also be pushed by the
server via package.json

------
z3t4
the small benefit of minifying is out weight by using a "compile" to JS
language that usually produce much more code _:P_

------
tmsldd
I know there are a lot of fans of VSCode (and also VisualStudio).. I use it
frequently .. My problem with them is that no matter how fast computers get
and how much memory it have, VScode and VStudio will be still slow.. I mean,
the tools are great but I'm just wondering if java script was really the right
approach...

------
pperusse
Was I the only one surprised with the variable minetypes:
['application/x-php'], focus on minetypes instead of mimetypes.

I guess they have a reason for keeping it that way, although if such a typo
exists unfixed in the codebase, that gives you a general hint of the overall
codebase quality.

~~~
oblio
You're extrapolating from 1 minor typo in a presentation. If I were to judge
you based on just this comment, my impression about you would be far worse
than your opinion about their code base quality :)

On a more serious note, Microsoft is one of the biggest software companies. It
also consistently delivers high quality products to its customers. Products of
incredible complexity such as Windows, Office or .NET. They couldn't do that
without good engineering practices.

And specifically in this case, the Visual Studio Code team wouldn't be able to
deliver very complex features so often if their code quality and overall
engineering wasn't solid.

Have you ever read any of their release notes? Have you noticed the frequency
of their releases?

Those alone should make you ponder for a while ;)

