Executando verificação de segurança...
10

O que é um IDE e um editor de texto?

Para você, o que é um IDE e o que é um editor de texto? O que separa um do outro?

Gostaria de respostas com argumentos e, se possível, com referências.

Todo mundo concorda que o Visual Studio é um IDE, certo?

Todo mundo Concorda que o Notepad++ é um editor de texto, certo?

O problema é quando chega no Visual Studio Code (para pegar um exemplo).

Um IDE é um ambiente de desenvolvimento integrado, certo? Ou seja, ele vem com um editor de código, com syntax highlight, completador automático, indicador de erros, mecanismos de refatoração (provavelmente tudo usando um language server), debugger, facilitador para organizar o projeto, buildar, fazer testes, controlar versão, entre outras tarefas, certo?

O Visual Studio Code não faz tudo isso?

Ah, mas você tem que instalar plugins.

Bem, no VS full também. Alguns já vem na instalação para você escolher se vai querer, mas tem que instalar. Outros tem que baixar e instalar por conta própria. Tem diversas linguagens que só dá para usar assim. No que é diferente entre os dois VS?

Ao contrário da crença popular é possível até mesmo usar o Visual Studio como um shell onde você tem que instalar tudo. E ele é grátis para qualquer uso.

O VS Code não é um IDE porque você tem que instalar os plugins, muitas vezes com um click?

A questão não é a instalação, é o uso. Você não usa o VSC de forma integrada? Precisa usar todas as ferramentas de forma externa, exceto o editor?

Não vai me dizer que é porque não tem um form builder? Mesmo no VSão não tem para a maioria das tecnologias. Então depende da linguagem que está trabalhando ele é um IDE ou não?

E por que o próprio VS Code se denomina editor de texto então? Eu tenho minha teoria, qual é a sua?

Queria a ajuda de vocês para ter melhores subsídios sobre isto. Conforme for eu posto uma resposta minha, então não se esqueça de voltar aqui em alguns dias.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...
8

Acho que hoje em dia a distinção não é tão clara assim. Talvez nem exista a linha divisória, e esteja mais para um espectro, com várias gradações possíveis. Mas vamos por partes...

O que é um IDE?

IDE significa "Integrated Development Environment" (Ambiente de Desenvolvimento Integrado). É basicamente um programa que possui várias ferramentas/funcionalidades integradas, cujo objetivo é prover facilidades e dar mais produtividade para o desenvolvimento de software.

E esta definição é tão ampla e genérica que abre margem para toda a discussão do tipo "software X é IDE, software Y não é". Afinal, quais seriam as tais funcionalidades para que um programa seja considerado um IDE?

Creio que a mais básica é prover uma interface para poder editar o código. Afinal, código é basicamente texto, e um editor é o mínimo que se espera. Mas não basta mostrar caracteres e deixar alterá-los, senão até mesmo o Wordpad seria um IDE - e esse podemos concordar que não é, certo? Para código, hoje em dia espera-se que tenha pelo menos syntax highlight, formatação e auto-completar.

Mas só isso já é o suficiente? Se fosse, programas como o Sublime e até mesmo o Notepad++ poderiam ser considerados IDE's. Em seus respectivos sites, eles se auto-intitulam "editores de código". Não sei se a ideia é diferenciar de um editor de texto "simples"/"comum". Além disso, pode passar a ideia de que se trata de uma categoria intermediária entre "editor de texto" e IDE - como se nossa área já não tivesse problemas de nomenclatura o suficiente...

De qualquer forma, o "senso comum" parece concordar que um IDE deve ter também a capacidade de compilar e rodar o código. E isso o Sublime e Notepad++ também podem fazer. Claro que não é tão automático quanto o Visual Studio ou Eclipse (só pra ficar em 2 exemplos), mas com algumas configurações é perfeitamente possível.

Então a distinção seria o quanto de configuração é exigido? Se um programa inicialmente (após uma instalação "crua") não consegue compilar e rodar o código, mas passa a conseguir depois de instalar os devidos plugins/extensões/add-ons e/ou adicionar algumas configurações, então ele não é um IDE? Ou ele passa a ser um IDE após tal instalação? Ou ele simplesmente não é um IDE, apenas um "editor" que se comporta como (ou possui certas funcionalidades de) um IDE?

Pode-se considerar também que todos são IDE's, só que alguns já vem com "tudo pronto", enquanto outros exigem instalações adicionais. Isso seria apenas uma facilidade, uma feature, não um fator determinante para diferenciar o que é e o que não é IDE. Enquanto um seria "batteries included", outro seria "altamente customizável" (um jeito bonito de dizer que precisa instalar tudo na mão).

Existem outras definições que consideram o fato de estar tudo realmente integrado, mas mesmo essa é discutível. Por exemplo, no Eclipse vc pode adicionar várias JVM's diferentes, todas externas ao programa, para que projetos distintos usem versões diferentes da linguagem. Então o processo de compilação chamará algo que não faz parte do Eclipse em si. O fato de não fazer parte da instalação do Eclipse faz com que ele não seja uma IDE "completa", ou o fato dele poder usar qualquer JVM externa faz com que ele seja o "integrador" de ferramentas (ou seja, ele de fato faz a parte correspondente ao "I" da sigla)?

E não para por aí. Ferramentas de debug, diferentes modos de visualização de arquivos (como um editor visual para arquivos com formato bem definido - por exemplo, alguns IDE's fornecem uma interface específica para o pom.xml, usado no Maven), integração com controle de versão, acesso a banco de dados, todas essas ferramentas podem ou não estar integradas no mesmo programa. O fato de não ter alguma(s) dela(s) faz com que não seja considerado um IDE? Ou apenas torna este IDE menos completo que outros? Qual o "nível de incompletude" necessário para que deixe de ser IDE?

E novamente, o fato de já vir tudo isso instalado faz diferença? Se tiver que instalar tudo na mão, não é mais IDE? Ou depois de tudo instalado passa a ser?

Qual o conjunto mínimo de ferramentas para que algo deixe de ser um "editor simples" e passe a ser um IDE? Não sei, ninguém sabe. Cada um tem sua opinião, e os próprios vendors parecem ter criado uma classificação informal baseado em "eu-quis-assim". Cada um chama do que quer. Minha impressão é que eles geralmente (mas nem sempre) chamam de IDE quando é um software mais "pesado", "parrudo", que já vem com um monte de coisa instalada e pré-configurada. E quando é mais "leve" e a maioria das coisas vc precisa instalar e configurar à parte, dão outros nomes (como "code editor" ou "lightweight IDE").

Ainda sim, é difícil definir o que seria esse "monte de coisa" necessária para se considerar que o programa é um IDE. No fim, sempre cai na subjetividade, não sei se existe a linha divisória. E talvez ela seja menos importante do que parece.


Só para finalizar com outro exemplo, achei este artigo que lista o VSCode como IDE, e o Sublime e Notepad++ como "Lightweight editors" (???) o que mostra como não existe uma nomenclatura padronizada. Mas tem um ponto importante ali (ênfase minha):

In practice, lightweight editors may have a lot of plugins including directory-level syntax analyzers and autocompleters, so there's no strict border between a lightweight editor and an IDE.

De fato, a distinção não é tão clara, e não acho que alguém conseguirá bater o martelo com a "definição definitiva".

2

Alguma coisa que envolvesse:

entre outras fontes (não precisa de todas aqui, só usei exemplos, não estou ratificando nenhuma) que se costuma usar para pegar definições, mesmo contestando, porque elas não são donas de verdade (de fato algumas dessas fontes esão abaixo do que costumam oferencer de qualidade), e aí a resposta seria perfeita, agora está quase isso.

A ideia é justamente demonstrar que não é tão simples e que tem algumas definições, ao mesmo tempo que existe algo pode se sobressair um pouco mais.

4

É uma pergunta limitada à terminologias abstratas, não definidas, até porque uma tenta atravessar os limites da outra. No final acaba se tornando opiniões porque não existem definições exatas do que são. Me lembra do paradoxo de sorites:

  • Dois ou três grãos de areia não são um monte.
  • Um milhão de grãos de areia, sim, são um monte.
  • Se n grãos de areia não formam um monte, tampouco o seriam (n+1) grãos.
  • Se n grãos de areia são um monte, também o seriam (n−1) grãos.

Hoje o VS Code consegue fazer quase tudo o que o VS faz. Tem menos coisas. Ele se enquadra como IDE?

Por mim, acabo considerando IDE um editor de texto especializado em uma determinada tecnologia. Por exemplo, o Visual Studio para .NET, o Phpstorm para PHP, o Eclipse para Java, o XCode para Swift, e por aí vai.

O VS Code, assim como o Notepad++, o Sublime Text, o Brackets e outros editores de texto não vem com essas ferramentas de fábrica. Você precisa estender eles, com plugins, extensões, etc, para se tornarem IDEs prontas para o seu desenvolvimento. Na instalação limpa, são meros editores.

Um IDE é um editor especializado, mas você pode tornar um simples editor de código em uma IDE completa se tiver como expandir ela para isso. Isso vai com seu uso, sua personalização, você decide como ele ficará. Uma IDE "pronta" como o Visual Studio comumente te entrega tudo o que você precisa para trabalhar com determinada tecnologia desde a primeira instalação.

Editores de texto foram feitos para editarem textos. Por natureza também são capazes de editar códigos, mas não foram projetados para isso, então não será a melhor experiência possível para isso.

1

Editores de texto foram feitos para editarem textos. Por natureza também são capazes de editar códigos, mas não foram projetados para isso, então não será a melhor experiência possível para isso.

Exato!

Apesar da definição ser bem ampla, não podemos ser amplos demais a ponto de considerarmos o Bloco de Notas do Windows como um IDE; mas não podemos ser específicos demais a ponto de excluirmos a maioria dos softwares do mercado... Uma saída seria filtrar os softwares pelas mínimas ferramentas que um IDE tem.

Mas quais são as ferramentas mínimas de um IDE?

3

Com tantas coisas novas surgindo, realmente é difícil encontrar aquela linha que separa os IDEs de um editor de texto. Entendo que, nos dias de hoje, as funções mínimas de um editor de texto incluem destaque de sintaxe, formatação, auto-completar e uma ferramenta de busca e substituição.

As características que costumam ser citadas como pertencentes a um IDE são um compilador, depurador e ferramentas de gerenciamento de projetos, e para mim isso faz sentido. Afinal, você está fazendo muito mais do que apenas editar texto de uma forma produtiva e confortável, que é o objetivo de um editor. Por exemplo, você poderia compilar seu projeto usando apenas o terminal, independentemente de estar integrado ou não ao seu editor.

O ponto que quero levantar é: será que a discussão não é sobre "a linha que divide IDE de editor de texto", mas sim que as ferramentas evoluíram tanto e acumularam tantas funções que todas se tornaram IDEs, e ninguém mais usa editores de texto por comodidade?

1

Eu acho que você matou a charada: a questão é o uso!

Uma forma bem tosca de definir apenas pelo software: se tem um terminal integrado = IDE, se não tem um terminal = editor de texto

1

Algumas reflexões sobre o assunto, que me tiraram o sono:

Uma IDE oferece tudo o que você precisa para desenvolver software para determinada plataforma. Vamos pensar em por exemplo, Visual Studio, Xcode e Android Studio, que vêm com compiladores, SDKs e outras ferramtas como parte da instalação. Além disso, há exemplos como o Quartus e o Arduino IDE, que são especificamente projetados para certa família de hardware, fornecendo um conjunto completo de ferramentas adaptadas e integradas - novamente, em uma única instalação.

Agora, vamos pensar em um cenário de desenvolvimento frontend web "moderno" com o VS Code. Você pode até integrar um navegador nele, com recarregamento rápido e todas as melhores ferramentas possíveis. Mas, provavelmente, você não só precisa instalar as extensões por conta própria, mas também outras ferramentas, como o node (e junto com ele 7422 pacotes do npm). Então, embora funcione como um ambiente de desenvolvimento integrado, longe de ser uma única instalação, certo?

Então, aonde você quer traçar a linha? Uma IDE precisa nascer uma IDE ou pode se tornar uma IDE? Se for a segunda opção, então tudo o que você precisa é de um terminal.

Como já havia adiantado em minha resposta anterior, acredito que pela própria definição (um acrônimo que se auto define), um 'Ambiente de Desenvolvimento Integrado' não implica que este ambiente precisa ser proveniente de uma única instalação. Não há nada nesta definição, que é simples (mas, pode-se argumentar, a correta), que implique que a IDE deva estar completa e pronta para uso imediatamente após a instalação.

Por fim, vale considerar que as IDEs nativas, como sugerido por um colega, são projetados para uma plataforma específica, como os produtos da IntelliJ, ou um conjunto delas, como o Xcode para o eco-sistema Apple, assim podem oferecer um nível de integração (e consequetemente facilidades) que um editor de texto, simplesmnte não pode.

Seguindo a linha de pensamento de que as IDEs não precisam ser nativas, mas podem ser configuradas, um terminal e um editor de texto apenas, não são suficientes para competir com a praticidade "verdadeiras" IDEs; também precisa de uma robusta infra-estrutura de extensão e customização. Nesse sentido, o Vim e o Emacs sempre se destacaram, podendo se transformar em um ambiente de desenvolvimento tão integrado quanto sua imaginação, habilidades e tempo permitirem - para qualquer plataforma, se você for louco o suficiente. Por outro lado o Eclipse também ocupa um lugar de destaque no mundo corporativo, oferecendo ferramentas que o transformam em uma IDE para uma grande variedade de plataformas com instalações e uso simples.

Na última década, o VS Code conquistou o mundo, oferecendo a flexibilidade e poder do Vim/Emacs com a facilidade do Eclipse. Se consolidando como algo único, uma IDE (quase) Universal (quase) Out-of-the-box. A verdade é que assim como o Xcode ninguem usa o VS Code apenas como editor de texto (ou de codigo) até porque é pesado e lento demais para isso!

Claro, isso não é acidental, mas sim o resultado de um design cuidadoso e meticuloso por parte da Microsoft. A razão pela qual o VS Code é lento e pesado deve-se ao fato de ser baseado principalmente em tecnologias web, algo curioso quando consideramos a Microsoft. Aplicações Electron são muito populares entre desenvolvedores web que não conhecem outras tecnologias. Mas, por que a Microsoft escolheria isso?

Porque a Microsoft é a grande visionária entre as empresas de tecnologia. Os novos Visual Studio Codespaces, ou IDEs web, são a prova disso. Parabéns a Bill e cia.

1

Definição de uma IDE:

"Um sistema que oferece toda a infraestrutura necessária para desenvolver software para uma plataforma específica."

Esta definição é propositalmente vaga, mas precisa. 'Sistema' pode ser qualquer coisa: uma única aplicação ou uma combinação de aplicações. Da mesma forma, 'infraestrutura' pode incluir qualquer coisa, desde um editor de texto, compiladores, até seja lá o que for preciso para por exemplo, rodar um programa na IDE Scratch. Finalmente, 'plataforma' também pode ser qualquer coisa: uma linguagem, um sistema operacional, uma arquitetura, ou até mesmo um sistema complexo, como a Web.

Com esta definição, podemos desenvolver uma taxonomia para categorizar os IDEs.

  • IDEs de Propósito Específico:
    Exemplos: XCode, Quartus.
    Características: Fornecidos para uma plataforma. Necessários quando a plataforma é fechada (como produtos Apple) ou tão complexa que não vale a pena tentar alternativas (como FPGAs da Altera). Podemos incluir aqui os produtos da IntelliJ?

  • IDEs de Propósito Geral:
    Exemplos: Visual Studio, Eclipse.
    Características: Funcionam imediatamente para um alvo específico, mas podem ser adaptados para outras plataformas com infraestrutura adicional.

  • IDEs Customizadas:
    Exemplos: VS Code, Vim, Emacs.
    Características: Inicialmente mais simples, apenas com editores de texto e terminais, mas que podem ser expandidos com plugins e extensões para atuar como IDEs completos para praticamente qualquer plataforma.

  • IDEs Online:
    Exemplos: Codespaces, Repl.it.
    Características: Estas IDEs representam a forma final da evolução dos ambientes de desenvolvimento, onde instalações ou customizações não são necessárias.

Espero que está definição e taxonomia seja útil!

2

Eu vou fazer um texto e vou falar dos onlines, inclusive se é ou não IDE.

Gosto da ideia de IDE customizáveis, mas não sei se todas não são. Não sei se é isso que os diferencia.

Não sei se essas específicas são realmente específicas. De fato usam de forma específica, mas pode usar para outras coisas, o uso específico é circunstancial.

Não sei se todas não são de propósito geral.

O que não me agrada nessa definição, mas poderia agradar mais se ficar menos vago, é a questão do "para uma plataforma específica". Isso me parece que não faz parte do que seja UDE, e até mesmo umk editor, embora talvez isso fosse óbvio.

É óbvio que existem diferenças entre elas, até o VS Code talvez seja separado do Vim/Emacs.

O kht coloca o Notepad++ como possível IDE. Você não?

1

Não sei se essas específicas são realmente específicas.

Como não? Você não pode usar o Xcode para desenvolver para Windows ou Android. Claro ele sempre vai ter funcionalidades básicas de edição de texto e acesso ao terminal. No entanto, a falta de extensibilidade reforça seu status como IDE de propósito específico.

De fato usam de forma específica, mas pode usar para outras coisas, o uso específico é circunstancial.

Mas sim, a distinção entre IDEs específicos e de propósito geral pode realmente ser nebulosa, por isso perguntei se devemos colocar as IDEs da JetBrains aqui? Você pode usar InteliJ como uma IDE de Python e usar o PyCharm como IDE de Java.

É óbvio que existem diferenças entre elas, até o VS Code talvez seja separado do Vim/Emacs.

Da mesma forma a distinção entre IDEs de próposito geral e as customizadas é complexa.

Vou usar meu exemplo pessoal, uso o Vim a mais de uma década, aprendi a programar com ele. Já usei ele como IDE para diversas plataformas, mas hoje uso o vim praticamente apenas como editor de texto. Enquanto uso o VS Code exclusivamente como uma IDE.

Mas eu ainda quero colocar eles na mesma categoria, simplesmente por que diferente das IDEs de próposito geral, o VS Code não vêm com nenhuma infraestrutura para desenvolver software por padrão. Assim como o Vim e o Emacs, o VS Code é em essência: um editor de texto integrado a um terminal, além de um sistema de extensão e customização extremamente robustos.

O kht coloca o Notepad++ como possível IDE. Você não?

Aqui também é a linha tenue entre as IDE customizadas e os simples editores de texto, o Notepad++ não tem um terminal integrado e nem um sistema robusto de extensão. Embora ele tenha atraves de plugins "tipo" um terminal e possibilidade limitada de extensão.
A questão como você ja notou várias vezes é o uso, eu nunca usei o Notepad++ como IDE, mas certamente alguém já usou.

Obrigado pela discussão.

1

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.

1

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"?

0

O Visual Studio Code, não se autodefine, nem como um IDE, nem tampouco como um editor de texto, mas sim como um Editor de Código Fonte.

Definição VSC

Particularmente, estou bem satisfeito com esta definição. Embora não ache que isso tenha alguma importância no mundo real.

Na minha opinião, o importante é saber pra que serve cada ferramenta e escolher a que você se sinta mais produtivo.

Se fosse para classificar o VSC, eu o descreveria como um intermediário entre um simples editor de texto e um IDE.

Editor de texto < Editor de código < IDE

2

Dado que código fonte é basicamente texto - um tipo bem específico, claro, mas ainda sim, texto - não consigo ver a diferença.

Dá pra escrever código em qualquer editor de texto. Mas se o programa tem também funcões para compilar, rodar, syntax highlight, formatação, etc, já passa a ser IDE.

Pra mim o que muda é que alguns IDEs são mais completos que outros. Mas a partir do momento em que tem funções específicas pra programar, não é mais um mero editor.

1

Não há dúvidas que alguns IDEs são mais completos que outros. Estou tentando traçar uma linha onde deixa de ser IDE. Pode ser algo fácil de estabelecer, mas por alguma razão parece que não é.

Obrigado por levantar este ponto..

1
0

O VSC tem tudo o que um editor de texto tem, (mesmo os mais avançados, como o Notepad++) mas não tem tudo o que uma IDE como por exemplo o Visual Studio tem por padrão, como:

  • Desenvolvimento de software para Windows: O Visual Studio é usado principalmente para o desenvolvimento de software para Windows, incluindo programas DirectX, API do Windows, etc;
  • Ferramentas para gerar gráficos de dependência;
  • Editor VYSIWYG para VB.NET, C++.NET e C#:;
  • Integração com o Team Foundation Server;
  • Recursos para desenvolvimento de ASP.NET e SQL;
  • Mais recursos, para o desenvolvimento de jogos com o Unity.

Isto, naturalmente, o colocaria como um intermediário entre estes dois tipos de produtos.

Lembrando, que na minha opinião, nunca haverá um consenso sobre estas definições. Outros grupos de ferramentas semelhantes, poderão adotar nomenclaturas que divergem destes exemplos que eu dei.

Se parece um pouco com a discussão sobre comparações entre frameworks e bibliotecas.
Há quem diga que o React é um framework, assim como o Angular.

Mas o próprio React, se autodefine como uma biblioteca de componentes.

1

Ah, precisa ter essas coisas para ser um IDE? Se for de outra linguagem e suas tecnologias, não é IDE. Se tiver integração com Git mas não TFS, não é IDE? Pode ter um monte de ferramenta mas se não tiver gráfico de dependência, não é IDE?

De qualquer forma o VS Code tem essas coisas. Se a qualidade é boa é outra questão. E tem que instalar nele tanto quanto tem que instalar no VS completo, só é ligeiramente, bem ligeiramente, diferente.

Talevz seu argumento é que na hora de instalar o VS full já manda você escolher, e o Code você tem que entrar em uma opção dele para escolher o que quer instalar. Parece que é só isso que acha que faz algo ser IDe ou editor. Posso ter entendido errado.

Se tiver algum outro argumento eu agradeço. Eu realmente estou procurando argumentos que façam sentido.

1

Lembrando, que na minha opinião, nunca haverá um consenso sobre estas definições. Outros grupos de ferramentas semelhantes, poderão adotar nomenclaturas que divergem destes exemplos que eu dei.

Quando digo, grupos de ferramentas semelhantes, me refiro a, por exemplo, outros IDE, usados por outras linguagens.

Sabendo que não existe nenhum IDE universal, que sirva para desenvolver em todos os tipos de tecnologia, acredito que deveremos descer para os níveis específicos de cada ambiente, para tentar fazer alguma classificação. Para o ambiente .Net, no caso dos exemplos que citei, o Visual Studio, se classificaria como um IDE.

Se uma ferramenta, permite desenvolver em qualquer tipo de tecnologia oferecido por uma empresa/entidade, ela será considerada uma IDE para os produtos daquela empresa/entidade. Mas não necessariamente, para outros produtos de outra empresa/entidade.

Podes procurar, mas não acho que encontrará uma escala, ou norma, que defina exatamente a quantidade e a qualidade dos recursos, que fazem com que uma ferramenta seja classificado como um IDE.

Por enquanto, o argumento final que encerraria esta discussão, seria a classificação que a empresa que desenvolveu, o concedeu. Um poderoso editor de código fonte.

Para alguém refutar esta discussão, teria que recorrer à alguma norma, ou padrão, o que pelo meu conhecimento não existe, e nem faz sentido que exista algum dia.

Aparentemente, a Microsoft, está investido bastante em fazer com que a comunidade considere cada vez mais o VSC um IDE e cada vez menos um editor de código. Isso pode ser comprovado com o curto período de tempo, entre o anúncio da descontinuação do IDE do Visual Studio para Mac e o lançamento do C# Dev Kit para Visual Studio Code.

0

Considero VSCode, Emacs, Genie, PSPad, etc. como editores que agregam funcionalidades e ficam parecendos com IDEs. Não quer dizer que sejam ruins. São ótimas ferramentas (apesar do pato se aplicar aqui).

Acho que uma IDE nasce com o intuito de ser IDE, mais direcionado para uma linguagem, e o editor é apenas uma das partes funcionais dela. Talvez a depuração seja o aspecto mais robusto. Posso executar o programa passo a passo, definir paradas condicionais, alterar valores, definir as opções de compilação e outras coisas sem a necessidade de plugins (apesar de aceitar). e.g. Turbo Pascal->Delphi/Lazarus.

2

Sendo assim, o Visual Studio, que foi feito para várias linguagens, não é um IDE?

O VS Code não nasceu com intuito de ser IDE? Aconteceu por acaso dele ter debuggers, linters, VCs, etc?

1

EDITADO:

Vou colocar a edição no início pois acho mais concisa.

Assim como o Emacs, o VSCode nasceu para ser um LEGO. junta as pecinhas e monta uma casinha, um cachorrinho, um carrinho, uma cidadezinha. No caso, uma IDEzinha se tiveres todas as peças.

ORIGINAL:

Não conheço o VS. Nada impede de uma IDE possuir mais de uma linguagem se atender todas com a mesma competência. Não conheço a história do VSCode.

A jetbrains desenvolve uma IDE genérica? Até onde sei não. Tem para Java, para Ruby, para Python. Mas é claro que se vai fazer uma para Ruby, tem que ter algum suporte para HTML, CSS, etc.,

O VSCode é como o Emacs. Um bom editor de textos extensível. Tem algumas extensões que são boas e outras que são uma b?sta. Não passam de uma salientador de sintaxe. No caso do Emacs, tinha gente que pagava uma fortuna pelo Franz Lisp e usava só o compilador pois o slime no Emacs é muito bom. O org-mode do Emacs faz coisa que a maioria do pessoal nem imagina. É uma linguagem de marcação mil vezes melhor do que qualquer outra.

Então, uma IDE é para alguma coisa. Eu posso transformar o Emacs ou VSCode em uma IDE? Depende da linguagem. Se tiver todas as ferramentas necessárias, acho que sim. O VSCode é apenas o editor extensível que possibilitou a criação da IDE para aquela linguagem.

Veja que estou apenas puxando a definição para um lado.

Tem gente que jura que o Kwid é um SUV compacto. :D

0

As coisas têm os nomes que damos para elas. Nos EUA, futebol é aquele esporte jogado com as mãos, enquanto no resto do mundo é jogado com os pés.

Tecnicamente, Angular é um framework ou uma biblioteca? E React? Podemos ficar a noite inteira discutindo. No fim, todos chegarão amanhã em seus postos de trabalho e continuarão chamando as coisas pelos mesmos nomes.

Mais estranho que isso é chamar pão de cacet*. Mas é isso: as coisas têm os nomes que damos para elas, rsrs.