Mas tem alguma extensibilidade no XCode, e tem pessoas que usam para outras linguagens. Não é uma maravilha porque as pessoas não investiram nisso, mas é possível. Não sei se o fato de não gerar código para outra plataforma seja suficiente para torná-la específica. O Visual Studio era assim por muito tempo.
Certo, mas têm diferença fundamental. E não é sobre o uso.
O XCode e o Quartus, são IDEs fornecidas pelo "dono" da plataforma. Podem ser usada para outras coisas, com restrições ou não, ok. O importante, é que para desenvolver software para estas plataformas você necessariamente precisa usa-los. Muito simples, não? Deve haver um categorização diferente para estas IDEs. O Visual Studio não era (mais ou menos) a mesma coisa para a plataforma Microsoft antes dela abraçar o open source?
Estive a pensar também sobre a diferença do VS Code e do Vim.
O Vim é um editor de texto, muito mais do que ambiente de desenvolvimento. Ele é simplesmente a melhor ferramenta que existe para editar texto. Claro, o Vim (e o Emacs ainda mais), podem ser integrados com virtualmente qualquer infraestrutura, se transformando em um sistema que permite produzir, executar e testar software para qualquer plataforma - com exeção daquelas primeiras que precisam necessariamente de uma IDE proprietária.
O VS Code por outro lado é naturalmente um ambiente de desenvolvimento, que precisa ser integrado com alguma infraestrutura para produzir, executar e testar software para alguma plataforma - mas ele não é um editor de texto. Então aqui também existe uma diferença fundamental que não é apenas sobre o uso.
Ainda tenho muito dificuldade de catogorizar as coisas. Mas certamente aquela taxonomia anterior esta errada. Talvez uma nova definição mais precisa ajude?
"Uma IDE é um sistema que permite produzir, executar e verificar software em uma ou mais plataformas-alvo", faz sentido para você?
Nesta definição o VS Code, sem infraestrura adicional, não é uma IDE, mas também já concordamos que diferente do vim e npp ele não é editor de texto. O que ele seria então, uma proto-IDE, ou "Integrador de Ambiente de Desenvolvimento"?