The dividing line between what's a language and what's the IDE is fairly arbitrary. E.g. a language could conceivably come with a tool chain that includes CLI-driven refactoring, and an "IDE" would only need to be a graphical interface calling it.
The dividing line between what's a language and what's the IDE is fairly arbitrary
How do you figure? The language defines the runtime semantics in a way no IDE or refactoring tool does. It's a very bright line, unless you're conflating the distribution package of the language with the language itself.
Comments
The dividing line between what's a language and what's the IDE is fairly arbitrary. E.g. a language could conceivably come with a tool chain that includes CLI-driven refactoring, and an "IDE" would only need to be a graphical interface calling it.
This is basically the idea behind the Language Server Protocol. The language toolchain provides a server and the IDE is a client.
https://microsoft.github.io/language-server-protocol/
The dividing line between what's a language and what's the IDE is fairly arbitrary
How do you figure? The language defines the runtime semantics in a way no IDE or refactoring tool does. It's a very bright line, unless you're conflating the distribution package of the language with the language itself.
Go is a language like that, with e.g. the gorename tool for refactoring.
A language and an IDE are completely separate things.