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?

  • taladar@sh.itjust.works
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    11 months ago

    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.