hi all, noob at this. are code editors just notepad but with text highlighting, file opening, and interpreters which you use a terminal application to execute?
An IDE is to Notepad, as a car is to a skateboard.
Not really. A good code editor has:
- Editing.
- Syntax highlighting, paren matching.
- Filters - basic functions like sort, up to your own scripts.
- Build/send to REPL.
ed
doesnβt have highlighting, but itβs perfectly useful. Notepadβs basically useless, you canβt highlight or filter, canβt build. Vim does 1-3, and then you just type :!make or whatever.
Depends strongly on the editor. Emacs can make you a cup of coffee.
they are so much more than that. Builder for example has a full tree view of your project, instant compiling (well, instant in the sense that the compile button is always accessible and you donβt have to leave the application to do it), live preview for markup languages, Git integration, unit tests, profiling, and several other things I canβt remember right now. so no, an IDE is an entirely different beast from a text editor
Essentially modern software development uses a few different components.
Usually you have a text editor with plugins or an IDE (integrated development environment) which has the text editing functionality and ties the other tools together for display purposes and to tell other tools which locations in the code you mean.
A lot of IDEs had more of the tooling for one or more languages built-in but usually now you have a so called language server which runs in the background and communicates with your text editor or IDE via the Language Server Protocol (LSP).
There is also a similar but less mature system called the Debug Adapter Protocol which is used by some editors and IDEs and has support in debuggers for some languages but is far less universal than LSP at this point in time.
Other tools require less detailed interaction with the editor or IDE and they are just called and their output is processed. These are probably the terminal applications you are thinking of.
This includes some interpreters and compilers as well as static analysis tools such as linters and test suites for your code.
Some people prefer to control everything with their IDE and others call some of the tools manually in separate terminal windows.
Some editors and IDEs also integrate with tooling such as version control systems like git to e.g. display which lines of code are new.
Part of development also happens outside of IDEs or text editors, e.g. in code review tools like Gerrit or the code review part of GitLab.