So an IDE is a code editor that ships with an LSP server, not just an LSP interface? (Doesn’t have to be LSP as such but “stuff that an LSP server does”).
I would say that an IDE is something that includes build/run tools integrated into it. Everything else is just a text editor. (But that’s just my opinion of course)
To expand on my point, I don’t think it makes sense to call vs code an integrated development environment if it doesn’t actually have the environment integrated.
Visual studio and idea would be examples of IDEs, they actually have all of the tools and frameworks needed to run the languages they were built for out of the box.
You can’t run node or python out of the box with just vs code for example, without their respective tooling, all vscode can do is edit the code and editing code is not functionally different from editing any other text.
So I maintain that both vim and vscode are text editors and not IDEs
Vs code has no integrated environment though, it’s just a text editor that supports plugins, you still need to install python or node or .net or Java or gcc, etc.
As far as vim requiring keyboard commands, that’s really only the case if you leave mouse mode off
set mouse=a
And of course, to muddy the water further, we have tools like https://helix-editor.com/ which, more closely approximate vs code, while happening to live in a terminal.
I maintain that in order to qualify as an IDE and not a glorified text editor, you must be able to, out of the box, without external dependencies, run and build the code it was built for (idea/visual studio) otherwise it’s not very integrated, and I don’t think you need to have nice graphics for that qualification.
If you want to uphold a specific definition of what constitutes an IDE that’s fine, but what does it matter if others consider plugins to be integration.
Interesting, I didn’t know that about VSCode.I’ve used it briefly and I must have always installed some default plugins to make it work with python!
The only query I’d have on that definition of IDE is that they all require an external compiler or JIT interpreter to execute code, because the versions of the compilers changes so frequently it’d be crazy to release an ‘all included’ IDE. (The old MS Visual Basic is an example of ‘all included’)
But yeah, pycharm or phpstorm are “ready to run” bar the code compiler or interpreter, I don’t have to open a terminal or something to run code I’ve written.
Vim and emacs are text editors.
Vs code is a code editor (but really it’s also just a text editor)
Maybe they mean IDEs like visual studio?
I’ve never really heard it called a coding GUI before.
I never quite understood the massive hard-on programmers have for splitting hairs.
Vim (and NeoVim) are as much coding environments as VS or JetBrains. The difference is in the defaults.
I see you’ve never used emacs.
“it’s a bit limited for an operating system”
So an IDE is a code editor that ships with an LSP server, not just an LSP interface? (Doesn’t have to be LSP as such but “stuff that an LSP server does”).
I would say that an IDE is something that includes build/run tools integrated into it. Everything else is just a text editor. (But that’s just my opinion of course)
To expand on my point, I don’t think it makes sense to call vs code an integrated development environment if it doesn’t actually have the environment integrated.
Visual studio and idea would be examples of IDEs, they actually have all of the tools and frameworks needed to run the languages they were built for out of the box.
You can’t run node or python out of the box with just vs code for example, without their respective tooling, all vscode can do is edit the code and editing code is not functionally different from editing any other text.
So I maintain that both vim and vscode are text editors and not IDEs
Vocode integrates consoles for whatever you want. I use node and sql all the time.
I’d say build and run tools are pretty integrated into vim. Type
:mak
and there you go, it’s not like vs studio would be a single process either.For me a web app IDE includes a DB manger, HTML previewer, etc.
A text editor edits text, an IDE is an Environment that Integrates Development tools.
Vim and emacs usually run in the terminal and require keyboard commands to complete actions.
A GUI IDE like vscode or pycharm has mouse driven menus and buttons, although of course it’s possible to use keyboard commands.
That to me is the difference. Personally, I use vim mod with pycharm and some messy hybrid combination of vim commands and ctrl + ?
It is most certainly not usual to run Emacs in the terminal.
And you can use Emacs with a mouse.
Vs code has no integrated environment though, it’s just a text editor that supports plugins, you still need to install python or node or .net or Java or gcc, etc.
As far as vim requiring keyboard commands, that’s really only the case if you leave mouse mode off
set mouse=a
And of course, to muddy the water further, we have tools like https://helix-editor.com/ which, more closely approximate vs code, while happening to live in a terminal.
I maintain that in order to qualify as an IDE and not a glorified text editor, you must be able to, out of the box, without external dependencies, run and build the code it was built for (idea/visual studio) otherwise it’s not very integrated, and I don’t think you need to have nice graphics for that qualification.
Guy this is just semantics.
If you want to uphold a specific definition of what constitutes an IDE that’s fine, but what does it matter if others consider plugins to be integration.
It’s fun to talk about.
Interesting, I didn’t know that about VSCode.I’ve used it briefly and I must have always installed some default plugins to make it work with python!
The only query I’d have on that definition of IDE is that they all require an external compiler or JIT interpreter to execute code, because the versions of the compilers changes so frequently it’d be crazy to release an ‘all included’ IDE. (The old MS Visual Basic is an example of ‘all included’)
But yeah, pycharm or phpstorm are “ready to run” bar the code compiler or interpreter, I don’t have to open a terminal or something to run code I’ve written.