Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

> Reminder: VSCode, Visual Studio, IntelliJ, and Notepad++ all individually have a higher usage share among professional programmers

This is an artifact of the structure of the question. They're not asking what you use the most, they're asking what you use at all. Check all that apply.

So then you check Notepad++ even if you're a Linux developer who primarily uses vim or emacs but have Notepad++ on your rarely used Windows VM. You check Visual Studio or VS code if you had to contribute to an existing project which is tied to its build system, even if you avoid it whenever possible.

A quarter of all developers use vim. That's not a small number and it's not for no reason.



sort by: page size:

> Why are so many coders

It is unclear how many coders do in fact. There's a very LOUD subset of programmers that absolutely do, because they'll tell you they do every chance they get. But if you only listened to the comment section on sites like this you'd think that nobody uses Visual Studio, IntelliJ, Eclipse, etc rather than them being more stereotypical for professional shops than Vim/Emacs.

If you look at Stackoverflow's survey[0] it gives you some idea, but because it is a [Select All that Apply] question it can inflate IDEs that are good for occasional/general purpose usage (e.g. Vim, Emacs, Notepad++, VS Code, etc). They should ask people what IDE they use MOST.

It is the same thing as Windows, you come to any programming message board you'd think 99% of programmers use Linux professionally, but in the corporate world (which is the majority of programmers) Windows rules the roost.

[0] https://insights.stackoverflow.com/survey/2019#technology-_-...


> Reminder: VSCode, Visual Studio, IntelliJ, and Notepad++ all individually have a higher usage share among professional programmers[0].

20 years ago, this list would have had a bunch of different names on it.

20 years from now, it will be different names still.

Meanwhile, vim will still be there, and my knowledge in it built 20 years ago will be serving me still 20 years from now.


> Compare Notepad to something like Gedit or Kate

This is the wrong comparison. Notepad is like nano or ed. More powerful editors are available on Windows too.

> I just assumed any programmers still on Windows would be using Notepad++ or some sort of IDE.

Usually we do. But notepad can be invoked quickly from the command line, tends to handle huge files better than N++ or other IDEs, and is opened by default by a lot of utilities like git (you can change this, of course, but you might miss one). So it ends up getting used a lot for quick one-line changes and improvements are still welcome.


> both of the most widely-used editors (emacs and vim)

https://insights.stackoverflow.com/survey/2017#technology-mo...

If you include full-blown IDEs in your definition of editor (which I think you should), Visual Studio was the most widely used editor among all the 19,772 people that responded to this question in the Stack Overflow Developer survey 2017.

Notepad++ was the second-most popular editor.

Sublime Text was the third-most popular editor.

Vim was the fourth-most popular editor.

Visual Studio Code, IntelliJ, Atom, Eclipse, Android Studio, PHPStorm, Xcode, NetBeans and PyCharm followed.

Emacs was the 14th-most popular editor.


> VSCode is one of the greatest pieces of engineering of our time.

> VSCode is the greatest productivity tool in the history of software engineering

VSCode just seems like an IDE to me. Here's some things that are either better feats of engineering or better for software productivity:

- moving from line-based editing to screen-based editing

- any mainstream database

- any mainstream browser

- compilers

- linters

- any mainstream OS

- continuous integration

- headphones

- big monitors

- stack overflow

- any graphics driver

- any mainstream 3D platform (Unity, Unreal)

- version control (edit: added, how could I have left it out??)

I'm team Vim so I'm obviously salty, but even so I think you're going a little overboard here haha. I don't even think this about Vim!


> I hate writing C# or Java in emacs because there's no intellisense/code completion.

Agreed. The quality of the IDE/tools is such a huge factor in the quality of one's experience writing code.

Can't imagine writing C# outside of Visual Studio or VSCode. Can't imagine writing Java outside of Eclipse.

Can't imagine using anything but vim or emacs for academic coding ( Standard ML, lisp, c, etc ).

But it might be because I'm just used to coding in these IDEs/editors for these particular languages.


> How do you work in a large C++ code base using only a text editor? You will certainly need a couple of plugins, e.g. for linting, definitions/implementation look up, auto complete, etc. Then what is the actual difference to an IDE?

In the beginning I felt I needed linting, definitions, etc, so I began by stuffing Vim with plugins. Then I discovered that I was much more productive when I didn't use any of that, but actually kept the documentation close by.

Now I just remember most of the definitions or quickly look them up and combine the usage of console applications like grep, find, sed, etc. with Vim. I have about 3 custom made Vim functions that serve as shortcuts for at few of the things I need often.

Personally it's the most productive for me and the tool gets out of the way.


> I think i am more productive in an IDE, faster.

Personally agree with this part.

For those who need it because they are used to vim style editing most ides (at least on the Java side, + VS Code for everything else) has vim modes.

For those who have never used it and think they need it because it seems so cool and "everybody" uses it: You don't need it, at least not right now. Most great developers I know actually don't use vim for programming high-level languages, even if some of them use vim modes.

Instead I'd recommend:

- Use a decent mainstream IDE

- Memorize shortcuts for selection, search, replace, global search, global search and replace.

- Learn to use the included refactoring tools

- Learn to use the built in VCS tooling (or try and fall back to the console for VCS handling).


> Everyone who uses VSCode has surely used an IDE before. It just turns out they aren’t better in every way, and possibly not in the ways that matter.

Almost every junior I hire has only used Atom, Sublime or VS Code, especially JavaScript developers.

>VSCode plug-ins just have more eyeballs and work done on them for various ecosystems, for example. Especially for less common languages and features.

The reason to switch to an IDE from something more flexible like VSCode or Emacs is the amount of time spent keeping the editor working.


> I want a powerful tool to help me edit code...

Then why would you use Intellij and not vim/emacs?


> As someone who uses Visual Studio for everything...

This is a classical hammer/nail example. Big red sign to me. I'm a long time Visual Studio user, and that what you are saying is exactly the problem I see in MS-based developer circles.

Visual Studio is not appropriate for everything. As a matter of fact I don't use it at all for SPA development anymore, but just for server side stuff.

However, to give you few arguments:

1. VS Code and Sublime work on Linux/OSX/Windows and I do work on all three of those. Having the same tool is a great gain here.

2. Editing capabilities of VSCode and Sublime are definitely superior to Visual Studio, to the point that I find myself copying pieces of code from Visual Studio to Sublime, editing it and pasting back to Visual Studio.

3. Speed is not comparable. Visual Studio has become a bloated beast. Sometimes it takes a minute to start it, and then you enjoy busy freeze times whenever you push it just a bit harder than it likes.

All in all, I find my self being much more productive when not using Visual Studio for anything except pure .NET development.


> Some guys at work used to add Vim bindings to their IDE and I just didn’t understand it.

I‘m one of these guys.

I’m used to its text editing hotkeys from years of using it, but when jumping between a bunch of languages/environments it’s a lot easier to leverage the ‚integrated‘ nature of a lot IDEs (in my case Jetbrains).

Having to find, configure and remember how to use a bunch of different debuggers, linters, codegen tools and other tools manually is a pain


> My gut feeling is that people who haven't looked up from emacs or vi for a decade or two have no idea what modern IDEs are capable of out of the box.

I use visual studio in my day-to-day job for .net and C# work. I know what it’s capable and it’s a very impressive piece of technology.

What it doesn’t do is allow me to shape it to fit my workflow. I always have to adapt to fit the tool as opposed to the other way around, and any level of customization and extensibility feels extremely shallow compared to Emacs.

With Emacs I get everything my way. And I don’t think that can be said about any other tool I know of.

Needless to say I use both editors side by side and use whatever tool is best for the job at the time.

Edit: IMO standardized technologies like LSP is now bridging the gap for many (but obviously not all) IDE features. I suspect the imminent death of the “plain editor” is vastly exxagerated :)


> For people like me forced to come over from Visual Studio and other editors, it's a huge step down.

Sure, if your entire usage is the stuff that VS does well (which is a very narrow range compared to Code), and you are used to VS, it's probably an annoyance.

> I could rant for hours on how poor the Visual Studio Code quality is, but nobody will listen, because for people upgrading from Notepad, it's the second coming of Jesus.

Almost none of the things I do with Code I would have done with Notepad before. There are lots of non-IDE programmers editors that existed before Code. It may not be as good as VS or some IntelliJ variants for the use cases those IDEs are best for, but it's better for almost everything else than almost anything, and even for the things those major commercial IDEs specialize in, it's good enough for lots of specific use cases that when you need to do that plus other things, the context switch of using the commercial IDE for some tasks isn't worth it.


> Learning software is an investment, and if you have to switch to another application later, you lose some of that investment.

I think the author missed a critical fifth point that they hinted at here. In my opinion VSCode is trivially easy to be productive with and not much of an investment to get into. Whereas heavier IDEs and then Vim at the far extreme demand some serious “learn how to ride this bike before you can do anything resembling useful.”

I enjoy VSCode for a number of reasons, dislike it for a few. One of the main pluses is that I start off productive on day one and can electively add complexity to further refine the tool.

I love tools with user-selected difficulty levels.


> I don't particularly like vscode. It's heavy and slow and janky, particularly on older laptops. I don't like being sucked back into the Microsoft ecosystem after spending years getting away from it. But ultimately, I want to just get on with my job, and my job is not Lua Developer or Neovim Plugin Expert.

Personally I've started paying for intellij and using it with it's vim emulation. I know it doesn't solve the problem of being clunky on older laptops, but it is an amazing experience to use. I get the best of both worlds, I get really good vim emulation so I don't have to relearn editor shortcuts, I get the benefits of a modern full fledged IDE with many useful features that work out of the box with basically 0 configuration (debugger, git, tasks, etc.)


> VSCode is the greatest productivity tool in the history of software engineering

LOL. Do you work for MS? This is a bit thick, even for hyperbole. Personally I find IntelliJ to be superior to VS Code.


>Name one open source IDE which is superior to Visual Studio.

Here's a list in no particular order of open source editors/IDEs I would use over Visual Studios.

1. Vim.

2. Atom.

3. Brackets.

4. LightTable.

5. Codebox.

6. Slap.

> Or an open source database that is better than SQL Server.

Depends on what you mean by better and what compliance you need I guess? MongoDB can provide benchmarks better than SQL Server.

> Not to mention C# which imho is the best language out there...

Language preferences obviously change based on the needs of the developer. I prefer javascript just because I need a language that can run anywhere and I prefer prototypal inheritance over classical.

> In terms of documentation MS is light years ahead of everyone.

What about MDN?


> It's disappointing to see from comments here that there's no true and performant Vim integration for VS Code.

I've been using vscodevim daily for almost 2 years, and (for me) it's totally usable. IMHO, much better experience than trying to turn Vim into an IDE.

next

Legal | privacy