O que justifica o uso de um IDE versus um editor padrão? [fechadas]

38

Eu me vejo usando meu editor de texto de escolha (vim, nano, gedit, escolha seu veneno) com muito mais frequência do que qualquer IDE nos últimos tempos.

Depois de perceber que meus atalhos ide ficaram empoeirados, comecei a pensar sobre isso e me pergunto: o que justifica o uso de um IDE para você em oposição a um editor de texto ?

Para que propósito você teria um raciocínio para não usar uma IDE e simplesmente depender de um editor?

    
por Chris 31.08.2012 / 20:23
fonte

16 respostas

68

OI: integração . Um bom editor de texto pode ser bom para escrever código, mas a maior parte de sua programação não é gasta escrevendo; Ele passou testes e depuração, e para isso você quer que seu editor de texto se integre ao seu compilador e ao seu depurador. Essa é a maior força de um IDE.

    
por 23.11.2010 / 20:42
fonte
47

Estes são os meus recursos favoritos do meu IDE favorito, o IntelliJ, que eu gosto de usar para Java, PHP, Javascript, HTML e até ActionScript.

  • Verificação de erros - como verificação ortográfica ao vivo do código. Absolutamente essencial.
  • Navegação por código - Ctrl+click em uma função, variável, digite para ir para a definição. (IntelliJ é muito bom nisso em todos os idiomas acima)
  • Aprovação de código - Eu uso Ctrl+space constantemente para ajudar a preencher o nome da classe ou método que eu preciso. Isso acelera a codificação de um ton , e até ajuda a capturar bugs antes que eles aconteçam quando algo que você precisa não está acessível no contexto em que você está. O IntelliJ irá ajudá-lo a expandir siglas - digite NPE, acesse Ctrl+space , e mostrará "NullPointerException", "NoPageError", etc. Acertar Alt+enter para adicionar automaticamente o import também é muito bom.
  • Geração de código - Gere getters e setters, implemente métodos a partir de uma interface com alguns cliques.
  • Muito bom código para colorir - IntelliJ não só faz a palavra-chave padrão, string, coloração de nome de variável, mas também colore variáveis de membro, variáveis locais, parâmetros. No ActionScript, uma variável que na verdade é um setter / getter será colorida como uma função.
  • Refatoração - A renomeação sem erros é a maior. O IntelliJ é muito bom em renomear até setters e getters ou usos de strings. Claro que há uma pesquisa baseada em regex e substitui quando você precisa, e uma opção "preserve case" para permitir que você substitua "myNumber", "MyNumber" e "MYNUMBER" por "myString", "MyString" e "MYSTRING" em uma operação
  • Integração com controle de versão - Usamos o SVN, e meus recursos IDE VC favoritos são capazes de criar, excluir, mover classes sem pensar no SVN, histórico de navegação fácil, uma ferramenta de comparação muito boa, boa capacidade de mesclagem e anotando arquivos (mostrando o histórico linha por linha) no editor.
  • Importação de dependência - Ao confiar em uma biblioteca de terceiros para a qual você tem a fonte, você pode navegar para o código facilmente para referência, depuração, etc.
  • Digitação inteligente - colando o código e tendo-o automaticamente colado na posição correta da guia, preenchimento automático de colchetes, parênteses, citações etc.
  • Um bom corredor de teste para JUnit, FlexUnit, PHPUnit
  • Depuração - claro. Depura JBoss, Jetty, até mesmo Flash sem falhas. Ctrl + clique em rastreamentos de pilha para ir diretamente para o código.

Coisas como o código de cores que você pode ter como garantido, mas a boa coloração do código é como a visão periférica - ele permite que você se concentre em coisas importantes sem extrair essa fração de segundo para identificar a palavra completa.

O IntelliJ também usa Ctrl+space para sugerir nomes de variáveis. Em Java, se você declarar uma nova variável EventMessageItem e pressionar Ctrl+space , ela sugerirá "eventMessageItem", "eventMessage", "item", etc.

Todas essas coisas me dão maneira mais tempo para pensar sobre meu código e arquitetura, e pensar menos em corrigir formatação, lidar com o sistema de arquivos, corrigir erros de copiar e colar, alternar entre aplicações, perseguindo documentação, etc. etc. Eu não sei como você pode dizer não para esse tipo de aumento de produtividade.

    
por 24.11.2010 / 07:04
fonte
21

O IDE entende seu código muito melhor que um editor. Isso permite, por exemplo, a conclusão do identificador e a refatoração, que para linguagens detalhadas como Java é um envio de Deus,

    
por 23.11.2010 / 20:57
fonte
18
[To the IDE] You had me at intellisense/autocomplete
    
por 23.11.2010 / 23:43
fonte
14

Produtividade. Existe alguma outra justificativa que faça sentido? Para mim, um IDE bem projetado que centraliza muitas das funções que executo enquanto programando - criando e editando código, usando controle de origem, depuração, interagindo com ferramentas de gerenciamento de projetos, comunicando-se com outros programadores, criando documentação, executando testes automatizados - reduz drasticamente o atrito do processo que reduz minha produtividade.

Além disso, embora eu sinta que preciso saber como usar cada ferramenta individualmente, não quero fazer isso. Para mim, pelo menos, um clique com o botão direito do mouse é infinitamente preferível para abrir uma CLI e digitar.

Eu usei muitos, mas os IDEs que eu retorno para over-and-over são Visual Studio, Wing IDE e NetBeans. Todos agregam um valor significativo ao tempo que gasto em programação.

    
por 23.11.2010 / 20:58
fonte
9

Historicamente, os IDEs proporcionavam conveniência inigualável em um computador com uma única tarefa. Meu primeiro compilador C exigiu os seguintes passos no ciclo de edição-compilação-execução:

  • Iniciar editor
  • Editar programa
  • Salvar programa, sair do editor
  • Programa de compilação
  • Montar programa compilado
  • Link compilado e programa montado
  • Executar programa

no meu sistema CP / M. (Eu poderia ter automatizado muito disso como um programa em lote que tinha meus discos rígidos maiores).

Quando recebi o Turbo Pascal, fiquei encantado em poder manter o editor disponível durante a compilação e a depuração.

Isso, creio eu, é o que tornou os IDEs populares em primeiro lugar.

    
por 23.11.2010 / 23:19
fonte
7

Se você codifica em Lisp, o Emacs possui recursos parecidos com o Intellisense, como procurar parâmetros de método e autocompletar, então você pode dizer que é o IDE original. Também é bom poder usar um programa para múltiplas tarefas (edição em geral, shell / prompt de comando, leitura de notícias).

Em geral, a questão do editor vs. IDE parece depender da linguagem de programação. Pelo que vi, os codificadores Ruby e Haskell, por exemplo, parecem preferir seu editor de texto favorito.

    
por 24.11.2010 / 17:00
fonte
4
  • Compilação com um clique
  • Depuração
  • Modelos de código
  • Aprovação de código
  • Integração com ferramentas de controle de versão e refatoração
  • Teste unitário mais simples

para citar alguns

    
por 23.11.2010 / 21:00
fonte
3

Acho que a resposta vai depender muito de qual linguagem de programação você está usando e do quanto você é bom nisso. Para idiomas como o JAVA, um IDE é necessário se você estiver fazendo algo sério. Sempre que se trata de linguagens de script como JS ou Ruby, IDES não são muito úteis.

Eu uso o notepad ++ e um conjunto de scripts de shell (para backups, git commits) para o meu desenvolvimento e funciona perfeitamente bem.

    
por 13.05.2011 / 10:56
fonte
3

Alguns argumentos em favor de "editores":

  1. Existem casos em que um IDE ainda não foi desenvolvido ou nunca será.
  2. Com um editor, você pode fazer alterações "mais rápido" e mais cirurgicamente.
  3. Precisa de muito menos recursos (é mais fácil usar muitos abertos ao mesmo tempo)
  4. Porque é a única maneira de resolver alguns problemas como os descritos aqui .
  5. (pessoal) Às vezes, quando tenho que digitar tudo, estou trabalhando mais com o meu consciente e estou mais envolvido no que estou escrevendo. Muitas vezes eu encontrei, por exemplo, um erro de ortografia em um método (formaqString), que teria passado despercebido usando um IDE.
  6. Facilita o trabalho apenas com o uso do teclado (velocidade / fluxo)
  7. Mentalidade do uso de macros ou outras proteções de tempo.

Eu uso um IDE todos os dias para trabalhar, é difícil escrever Java / C # de outra forma.

(2) comparado com (3): Basicamente apenas a opção de editar arquivos remotamente (sobre ssh / desktop remoto) e fazer alterações mínimas na configuração ou arquivos de um servidor distante.

    
por 23.05.2017 / 14:40
fonte
2

Dependendo do seu idioma, alguns IDE também incluem designers visuais de formulários / janelas.

Embora deva ser apontado, a linha entre o editor de texto de um programador e um IDE não é bem definida. Muitos editores podem ser estendidos para lidar com compilação, conclusão de código, depuração, etc.

    
por 23.11.2010 / 21:38
fonte
2

Eu uso o IDE para testes / depuração / integração e o KEDIT para edição porque o IDE é seriamente deficiente em recursos de edição. Como o .NET IDE reconhece edições externas, tudo o que preciso fazer é salvar no editor e aceitar o aviso para recarregar a origem. Isso me permite otimizar meus recursos de edição e depuração ao mesmo tempo.
Para outros IDEs, eu uso o KEDIT como um processador de modelo e um programa de pesquisa de código-fonte e copio / colo essa fonte no IDE.

    
por 23.11.2010 / 23:12
fonte
1

Para IDE:
- os recursos avançados são conectados de maneira automática.
- Alguns recursos são tão específicos para o seu framework que os editores não têm equivalente.

Para editor:
- Manter as mãos no teclado.
- seu ambiente de desenvolvimento é o mesmo em todos os sistemas
- melhor roteiro para o seu editor
--Alguns recursos de um IDE estão disponíveis com ferramentas ou scripts externos. (intellisense, goto definition, encontre referências)

    
por 31.08.2012 / 20:54
fonte
0

Curva de aprendizado curta. É isso.

    
por 23.11.2010 / 22:53
fonte
0

O único que eu realmente recomendo é o depurador. Um IDE é realmente um editor com uma carga de outros gubbins adicionados, mas se você pode compilar digitando make (ou seta + enter) em um prompt de comando, então você não precisa de um IDE . Se você pode se comprometer com SCM clicando com o botão direito do mouse no explorador e escolhendo o item de menu direito, você não precisa de um IDE.

Agora eu sei que algumas pessoas precisam de coisas como suporte de refatoração (escreva seu código logo na primeira vez :)) ou algum designer de GUI integrado (mas mesmo assim, usando Visual Studio eu uso Expression para fazer meu trabalho de GUI, não o XAML de merda suporte em VS), e muitas pessoas precisam intellisense e autocomplete (especialmente para linguagens detalhadas como Java e C # que possuem nomes muito bons).

Mas, para mim, o depurador de GUI é o único bom motivo para usar o IDE. Eu ainda uso um depurador de 'linha de comando' (bem, windbg), mas para o dia-a-dia, é o embutido no VS.

    
por 31.08.2012 / 20:44
fonte
0

Existem benefícios para um IDE. Nem todas as linguagens têm um IDE abrangente para realmente inclinar a balança ou pode ser proibitivamente difícil criar uma para a dita linguagem. Razões pelas quais gostaria de um IDE? Bem, vamos começar com estes:

  • O idioma possui uma API padrão rica que, em pop-ups do IDE, pode ajudar a acelerar o desenvolvimento.
  • Há muito código de placa de caldeira. (Tentativa / captura forçada, getters / setters, etc)
  • O preenchimento automático pode atender com precisão às suas necessidades de codificação
  • Sua suíte de testes de unidade de idioma é integrada ao dito IDE.
  • O IDE está ciente e suporta várias bibliotecas comuns de idiomas relacionadas às práticas recomendadas.
  • Plugins disponíveis para fazer o trabalho mo'betta
  • Não é tão pesado que atrasa seu sistema
  • Depurador altamente integrado? Isso ajuda.

O problema não é que todas as linguagens realmente ganham um grande ganho de produtividade de um IDE abrangente. Eu uso IDEs para algum trabalho que faço (Java, C #), mas não para outros (Python, Ruby, Coldfusion). Tudo é realmente um ato de equilíbrio. Algumas linguagens simplesmente não exigem um conjunto tão abrangente.

Existem IDEs para cada um? Certo. Você sempre precisa de um? Na verdade não.

    
por 31.08.2012 / 20:47
fonte