Comparação de IDEs para desenvolvimento de C ++ e C no Linux: KDevelop, Eclipse, NetBeans, CodeBlocks e Anjuta [fechado]

49

Gostaria de observar sua experiência em IDEs em escala real no Linux.

Eu pessoalmente trabalho principalmente com vim, no entanto, outros programadores gostariam de ver um IDE real. Por isso, gostaria de ouvir sua opinião pessoal sobre diferentes IDEs e compará-las entre elas, no seguinte contexto:

  • C ++ e talvez algum desenvolvimento C (não Java, Python e outras coisas)
  • Programação no servidor (sem necessidade de desenvolvimento de GUI)
  • Trabalhar no Linux não em desenvolvimento "multiplataforma".

Opinião necessária:

  1. Quão estável é isso? Se o IDE travar, não preciso disso.
  2. Confortável de usar.
  3. Poderoso para depuração.
  4. Integração com vários sistemas de construção
  5. Escalabilidade em grandes projetos (projetos de centenas de milhares de linhas de código)

Eu costumava trabalhar com o KDevelop e era um IDE muito bom e parece que o KDevelop 4 é um enorme progresso. Parece também que muitos preferem usar o Netbeans e o Eclipse.

Artyom
fonte
9
Estou muito interessado nas respostas que você obterá e ficaria grato pelas pessoas que fornecerem respostas se elas contiverem outros dois pontos em que estou interessado. A escalabilidade para projetos na faixa de 50 mil arquivos / 30 milhões de linhas e adaptabilidade a uma estrutura de projeto que não é a usada por padrão pelo IDE. Minhas experiências têm vários anos, mas naquela época tudo o que eu tentava falhava nesses aspectos.
AProgrammer
@ AProgrammer - ponto muito bom, adicionado à lista.
Artyom
Você também pode dar uma olhada no CodeLite- codelite.org . Infelizmente, não tenho muita experiência em usá-lo em grandes projetos. No entanto, pode valer a pena conferir.
rsc
Com os plugins project e clang_complete e o make configurado corretamente, o vim fornecerá quase tudo o que o IDE forneceria (exceto a depuração). Com aqueles que eu suspeito, você ficará com o vim de qualquer maneira; Eu certamente faço.
Jan Hudec
Eu mesmo estava pensando sobre isso. Obrigado por postar esta questão.
Suspenso

Respostas:

39

Aqui está minha experiência pessoal com IDEs. Instalei todos os IDEs que encontrei e brinquei com todos (é o que eu aconselho a fazer):

  • kdevelop

Eu pessoalmente uso. A versão que eu instalei falha, mas baixei a versão mais recente do site deles e funciona bem. É simples de configurar e ótimo de usar. Eles suportam sistema de compilação personalizado por meio de plug-ins. Você pode encontrar alguns recursos estranhos (como analisar apenas os cabeçalhos diretamente incluídos), mas geralmente funciona bem para grandes projetos.

  • eclipse

Super complexo de configurar, mas permite literalmente tudo. Se você tiver tempo suficiente para encontrar uma configuração correta que agrade a todos, faça isso. Mas tentar mudar alguma coisa é muito irritante porque tem muitas opções.

  • anjuta e codeblocks

Eu tentei em breve, e não foi tão bom quanto os dois anteriores. Codeblocks é bom para projetos curtos, mas não para médias e grandes.

  • netbeans

Outro bom IDE, mas como minha casa está em compartilhamento de rede e o projeto em que trabalho é bastante grande, ficou muito lento. Analisa o tempo todo.

  • qtcreator

Simples de configurar, mas faltam muitas opções. Por exemplo, o mais estranho é que não é possível analisar e concluir automaticamente as classes qt. Suporta sistema de compilação personalizado.


Concluir :

  • se você for paciente o suficiente (ou se encontrar uma boa configuração), siga o eclipse. É realmente o melhor IDE grátis.
  • Se você quiser algo simples de configurar, vá com o kdevelop.

Outra opção é instalar os dois e permitir que seus desenvolvedores escolham o que melhor lhes convém.

BЈовић
fonte
16
O Eclipse é uma parte lenta do Java ... Não há razão para usar uma, a menos que não haja absolutamente nenhuma alternativa. No meu PC, ele começou em menos de um minuto. Nuff disse, não?
Coder
10
@ Codificador Bem, você irá iniciá-lo uma vez e usá-lo o dia inteiro sem reiniciar. Isso é uma ideia. 1 minuto não é nada comparado a quanto tempo você o usará em um dia.
BЈовић
6
@VJovic: A alternância entre as guias leva de 18 segundos a 1 segundo, dependendo da guia, e as lentidão não são o primeiro uso apenas de lentidão. Até o Visual Studio parece rápido em comparação com isso.
Coder
7
@ Codificador Como disse Edison, sua instalação ou ambiente não é bom. Meu eclipse é super rápido. A troca de guias é quase instantânea.
BЈовић
4
Ecilpse vaza memória como peneira. A caixa Linux multiusuário, com 16 Gig RAM, fica sem RAM com algumas instâncias do Eclipse (CDT) em execução por mais de alguns dias. Portanto, o início lento é um problema, pois você precisa reiniciar pelo menos uma vez por dia ou diminuir a velocidade e então entrar na equipe de desenvolvimento. Uso de RAM Eclispe - 600Meg / instância crescendo a 100 / dia. IDE 50Meg / instância com recursos completos crescendo a 0 / dia, VIM, 10Meg crescendo a 0 / dia. Um IDE comercial, com um preço de US $ 250 / assento, mostrou menos de 1 ano de ROI com base na produtividade perdida para carregar o Eclipse uma vez por dia.
mattnz
13

Dê uma olhada no Qt Creator.

  • É bem estável. Não me lembro de nenhum acidente com ele.
  • Pode levar algum tempo para se acostumar com a ausência de guias, mas a interface geral é boa.
  • Ele usa gdb. A depuração não é tão boa quanto no Visual Studio, mas ainda é muito boa. Ele também se integra ao profiler (Valgrind) agora.
  • Ele se integra ao qmake e ao CMake. Mas você pode executar comandos personalizados para que seja possível usar quase tudo.
  • Não posso dizer nada sobre grandes projetos, mas ele foi feito e usado pelos mesmos funcionários que escrevem Qt, portanto os requisitos são altos.
  • Parece não fazer suposições sobre a estrutura do projeto.

Eu tentei o KDevelop 4 há algum tempo. Certamente está se movendo na direção certa, mas com um pouco de buggy. Você pode tentar de qualquer maneira.

Usei o CodeBlocks por muito pouco tempo, mas lembro que não gostei porque a Interface era feia.

Anton Barkovsky
fonte
8

Muitos desenvolvedores do CCG (e GCC tem 5 a 9 milhões de linhas de código-fonte, dependendo de como você contá-los) é só usar emacs ou vicom utilitários gosta grep, ctagsou etags, make, svn, gcc, etc.).

Você não precisa de um IDE para desenvolver um grande software.

Se o seu software é grande o suficiente (por exemplo, pelo menos 0,3 milhão de linhas), você pode até considerar personalizar o GCC através de plug-ins ou extensões MELT , para fins de métricas de software, navegação de software, avisos específicos, regras de codificação, etc.

Basile Starynkevitch
fonte
10
Essa não era a questão. Como observei, uso principalmente o vim (com grep, ctags etc.) - sei como é bom. No entanto, muitos programadores preferem IDE
Artyom
11
Os IDE são especialmente úteis para os recursos relacionados à classe C ++, que são muito difíceis de configurar bem no Vim. C bruto está OK com ctags.
Ciro Santilli
6

Eu trabalho principalmente com o Eclipse. Usei o KDevelop com uma grande satisfação por anos, mas agora trabalho em projetos multilíngues (C, C ++, PHP, Java, Python, Banco de Dados, Web, etc).

Vantagens do Eclipse: muitas ferramentas para quase tudo (incluindo controle de versão); funciona muito bem para verificação de sintaxe e preenchimento automático. Bom trabalho ao compilar / construir / depurar. É multiplataforma (Linux, Windows, Solaris, etc.)
Desvantagens: algumas funções ou configurações são um pesadelo (por exemplo, quando você precisa implantar o projeto da estação de trabalho no servidor, o Eclipse mantém uma espécie de cache e, se acha que o arquivo no servidor está 'atualizado', o arquivo não é substituído). O Eclipse é enorme , engasga a maior parte da CPU e consome toda a memória. Mais informações em http://www.ihateeclipse.com .

O KDevelop é rápido e excelente para projetos C / C ++ e KDE / Qt, mas falta algumas funções, como suporte ao Mercurial (KDevelop 3.3.4, não sei para versões mais recentes).

AndrewQ
fonte
4

Visual SlickEdit - comercial, como qualquer boa ferramenta, "simplesmente funciona". Lida com todos os idiomas sob o sol, prontos para o uso, altamente configuráveis ​​e, se necessário, totalmente programáveis, orientam o GDB para depuração. Lida com projetos muito grandes (eu o uso para uma base de código de 5 milhões + SOLC, da qual brinco com cerca de 1 milhão deles.) - Ganhei vários prêmios há muito tempo e melhorou desde então. Tente

Eclipse - Ferramenta de escolha ao programar em Java, OK para qualquer idioma único suportado. Escrito em Java para desenvolvedores Java que desenvolvem programas Java. Mas precisa de plugins para cada pequeno recurso e recurso principal. Não "apenas funciona" para mais de um idioma por vez.

mattnz
fonte
4

O Netbeans é um IDE lento e lento. Não estamos usando "computadores de dinossauros", mas esse IDE PENDURA por um longo tempo. Se acessarmos o Netbeans IDE pela rede (digamos, usando VNC), esqueça-o !!! O atraso é tão ruim que torna o Netbeans inutilizável!

Acho o Eclipse assustadoramente difícil de configurar para uso inicial, mas se você persistir, acabará com um IDE que tem tudo o que você poderia querer ou precisar (possivelmente por meio de plug-ins).

Não quero usar mais de um IDE e suspeito que você também não. Eu recomendaria o Eclipse, com todas as suas falhas.

Mike
fonte
4

Então ... eu apenas adiciono outra opinião, mas acho que você não pode escolher como usuário do vim, então

emacs + gdb http://www.cs.bu.edu/teaching/tool/emacs/programming/

Em primeiro lugar, esse será o IDE mais leve (eu até posso chamá-lo de sistema operacional) e o mais personalizável, para que você possa fazer tudo com o mínimo de uso de recursos, exceto alguns recursos de trabalho cerebral de configuração lisp.

Pessoalmente, quando tenho um projeto sério, estou usando o Visual Studio. Mas quando eu preciso trabalhar no linux, eu corro o emacs. (também não gosto de qt)

Também (principalmente porque gosto do plugin last.fm e do suporte a clojure lá), encontrei um bom IDE para linux (ainda tentando alternar para o emacs == 'por algumas razões) IDEA , não recomendo usá-lo para C ++, mas talvez também não é ruim, então você pode adicioná-lo à sua lista.

cnd
fonte
1

QT e CodeBlocks estão ok. Eu uso CodeBlocks ultimamente.

Ele pode ser configurado para projetos de makefile, a conclusão de código geralmente funciona e não é interrompida como no MSVS; a definição é incrivelmente rápida. A navegação por funções também é bem feita.

Existem alguns problemas menores, mas para o trabalho diário no Linux é muito bom, IMHO.

Codificador
fonte
0

Minha única tentativa de usar um IDE no Linux aconteceu em 2005, mas naquele momento nenhum IDE que eu tentei (KDevelop, eclipse, Anjuta) era bom, então voltei ao vim + ctags + gdb e ainda o usei para a codificação do Linux.

Nemanja Trifunovic
fonte
Provavelmente você é o homem que sabe a resposta: como ir para alguma implementação de método em outra classe de hierarquia (implementação pai / filho) no vim.
Sergei
por exemplo, no Eclipse, a combinação é Ctrl + T em um nome de método.
Sergei
@Sergei Desculpe, o ctags não suporta isso. Você pode ter melhor sorte com algo como YCM: github.com/Valloric/YouCompleteMe
Nemanja Trifunovic