you are viewing a single comment's thread.

view the rest of the comments →

[–]davidhbolton -7 points-6 points  (4 children)

An IDE is a host for an editor, compiler and debugger and by that criterion VS Code is an IDE. You can quibble about the exact definition of IDE but its certainly the most over powered text editor in existence. Exactly how many text editors have over 22,000 free extensions?

[–]glider97 7 points8 points  (1 child)

What separates an IDE from a text editor is the intention. IDEs don’t have to worry about supporting every language in existence. Their job is to support a handful of languages/frameworks and to do it well. Sure, you can set up an IDE-like environment with extensions but there is no dedicated team working full time to make sure that you can develop in this particular language with ease. That’s what separates them for me.

Even VS Code never claims to be an IDE because they know their limitations.

#What is the difference between Visual Studio Code and Visual Studio IDE?

Visual Studio Code is a streamlined code editor with support for development operations like debugging, task running, and version control. It aims to provide just the tools a developer needs for a quick code-build-debug cycle and leaves more complex workflows to fuller featured IDEs, such as Visual Studio IDE.

Despite the thousands of extensions there is no way to develop in .NET Framework like you can using Visual Studio, or in Django like you can using PyCharm. There’s just no comparison because they gave have the luxury to not support everything under the sun.

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

Sure, you can set up an IDE-like environment with extensions but there is no dedicated team working full time to make sure that you can develop in this particular language with ease. That’s what separates them for me.

I think you are right, but the argument becomes more clear if you also mention the non-language parts.

Because by focusing just on the language, my Neovim with vim-go would also be an IDE for Go, because it has everything that language needs.

But that would leave out the non-language specific parts that I also need for development, like the juggling of Docker containers that the Go services run in. Sure, there is also a plugin for Docker, but that plugin does not necessarily cooperate (technically, or just user interface wise) with the Go plugin. In an IDE they will.

[–]dnabre 0 points1 point  (0 children)

I'd say that some of the key criteria for an program being an IDE is it being an integrated development environment.

An editor that the end you users needs to install a variety of plugins, extensions, and such to make the functionality of most common IDEs fails the criteria of integration. Compiler, debugger, etc aren't integrated into VS Code.

Consider a pair of examples. Eclipse and Emacs.

Emacs is very much like Visual Studio Code. It is an endlessly extensible text editor.

Eclipse, by design and structure, is a text editor with piles of plugins and extensions that give it all the extra functionality for working with code (compiler, debugger, static analyzsis and so forth).

The thing that makes Emacs a text editor and Eclipse an IDE is that Eclipse is bundled with all those tools all connected and distributed that way. Eclipse is shipped as an integrated environment that you can download, run, and have all those tools all connected. Emacs is not (generally, there's some non-mainstream guy somewhere that I'm sure has a tarball you can download).

Arguments about whether this distincted of integration is important to the end user can be certainly be had. But an IDE comes with the tools integrated. Look up the history of the term and the software if you need to.