c++ - programar - ide software
El mejor IDE de C++ para*nix (22)
Como programador que ha estado escribiendo código bajo Linux durante muchos años, simplemente no puedo dejar de usar Vim para escribir código.
Una vez que lo aprende y aprende algunas de sus funciones más avanzadas (Código Plegable, cómo usar ctags, cómo trabajar con múltiples memorias intermedias de forma efectiva, etc.), cambiar a otro editor es muy difícil, ya que todo lo demás parece que le faltan funciones que estoy acostumbrado
El único otro editor con un superconjunto de las características de vim es emacs. Recomiendo aprender uno u otro, y si tiene alguna pregunta, no dude en preguntar aquí o en #emacs o #vim en irc.freenode.net. Hay una comunidad muy grande y útil que lo ayudará a saber qué extensiones o los comandos que mejor se adaptan a los problemas de edición de software que enfrenta.
[Editar: Un comentario señaló que "vim no es un IDE", estoy de acuerdo. No me gusta el apodo de IDE porque significa una GUI con un administrador de proyectos y un montón de cuadros desplegables. Me gusta usar la terminología " Buenas herramientas ". Ver los escritos de Ted Leung sobre el asunto]
¿Cuál es el mejor IDE de C ++ para un entorno * nix? He escuchado que el módulo C / C ++ de Eclipse es decente y Notepad ++, pero más allá de estos dos no tengo una idea real. ¿Alguna idea o comentario?
Eclipse no está mal, pero tienes que hacer las cosas a la manera de Eclipse. Eclipse tiene algunas ideas integradas sobre el diseño del directorio. Para un nuevo proyecto, Eclipse es una opción razonable. Importar un proyecto existente en Eclipse puede requerir alguna reestructuración.
Solía usar Eclipse en QNX para C ++. La gente de QNX realmente desarrolló la capacidad de C ++, por lo que QNX tendría un IDE.
El problema con la mayoría de los IDE es que quieren tener un cierto grado de control sobre cómo se organiza el proyecto, y esto podría ser un problema si tienes que trabajar en ese proyecto con otras personas. En mi experiencia, esto lleva a dos series de problemas relacionados:
Si comienzas un proyecto en un IDE en particular, diseñarán para ti una estructura de directorios particular, organización de archivos, convención de nomenclatura de archivos, sistema de compilación, etc. Por supuesto, la mayoría de estas opciones son personalizables, pero no siempre es posible cumplir con los requisitos específicos. convenciones que se le puede pedir que siga. Los proyectos con un sistema de compilación complejo pueden ser difíciles de implementar desde dentro del IDE. Además, el proyecto podría no ser adecuado para modificaciones externas e independientes; así que, por ejemplo, si planea escribir una aplicación de código abierto, evite hacer del IDE una dependencia para el proyecto .
Si importa un proyecto iniciado en otro lugar, es probable que no sea muy fácil utilizar todas las características provistas por el IDE. Tendrás que averiguar cómo conectar el sistema de compilación, el depurador (ya que los binarios pueden no estar donde se espera), etc. Esto es especialmente cierto para proyectos grandes y complejos.
La razón por la cual esto no es un problema en Windows es que Visual Studio es un estándar de facto . Bajo * nix hay una tendencia a no imponer herramientas / editores particulares cuando se desarrolla un proyecto en colaboración, y esta es la razón por la cual surgen estos problemas de "comunicación IDE cruzada".
Como nota final, si aprende, digamos, kdevelop o netbeans, puede tener problemas si un día tiene que trabajar en una máquina donde instalarlos es problemático (por ejemplo, puede que no tenga un tiempo de ejecución Java disponible y es posible que no tenga permiso) para instalarlo). Si aprende (diga) Vim + complementos, está mucho más seguro: puede mantener su configuración como un archivo .zip en su servidor web y estar seguro de que Vim siempre estará disponible en todas partes.
Emacs es un tipo de IDE fantástico, que se mantiene alejado de mi camino pero que todo lo puede hacer. Ver esta otra pregunta relacionada: Usar Emacs como un IDE
Emacs funciona para cosas simples, pero yo uso Eclipse para cualquier proyecto más grande.
En Ubuntu, algunos de los IDE que están disponibles en los repositorios son:
También hay:
- Eclipse (se recomienda que no se instale desde repositorios, debido a problemas con los permisos de archivos / carpetas)
- Código :: bloques
Y, por supuesto, los editores de texto favoritos de todos:
- vi / vim
- emacs
Es cierto que vim y emacs son herramientas muy potentes, pero la curva de aprendizaje es muy empinada ...
Realmente no me gusta mucho Eclipse , lo encuentro con errores y un poco demasiado torpe.
Empecé a utilizar Geany como un IDE funcional y funcional. Tiene una característica básica de finalización de código, y es una interfaz agradable y limpia [Gnome].
Anjuta lo intenté por un día, no me gustó para nada. No lo encontré tan útil como Geany.
Kdevelop y code :: blocks reciben un montón de buenas críticas, pero no las he probado. Yo uso gnome, y todavía tengo que ver una aplicación de KDE que se ve bien en gnome (lo siento, estoy seguro de que es un gran programa).
Si solo derramamiento de sangre dev-c ++ fue lanzado bajo Linux. Ese es un programa fantástico (pero solo para Windows). Siempre puedes ejecutarlo en Wine;)
Hasta cierto punto, se reduce a preferencia personal. Mi consejo es investigar Kdevelop, Geany y code :: blocks como punto de partida.
En mi antiguo trabajo usamos SlickEdit para el desarrollo de C ++ en Debian. Es multiplataforma y bastante poderoso.
Sin embargo, no es gratis.
En pocas palabras, Netbeans. Tienes que probarlo. Es tan bueno. Es mucho mejor que Eclipse con el complemento CDT.
Era un usuario de VisualStudio + VA-X antes de cambiar a Ubuntu, y necesitaba buenas funciones de autocompletado y funciones de navegación en cualquier IDE.
He intentado con Netbeans, Eclipse CDT, CodeBlocks, Geany, Anjuta, KDevelop y finalmente me decidí por KDevelop, ya que era lo más cercano que podía llegar a VS + VA-X.
Eclipse y NetBeans son demasiado pesados y lentos para mi gusto. La mayoría de los otros IDEs tienen autocompletado / incompleto / tonto y otras características; o quieren tomar el control de su código y deben ser importados en proyectos; o ponen 101 archivos en su carpeta de origen. Solo KDevelop me permitió tener un simple enlace a mi carpeta de src y dejarme trabajar. la finalización automática no es brillante, pero es mejor que las demás.
KDevelop no combina bien con mi Gnome, pero puedo vivir con él;)
Hice esta pregunta antes de experimentar usuarios de Linux y siempre dicen Vim y automake. Utilizo Vim como mi editor predeterminado en Linux y después de un tiempo se vuelve intuitivo. Lo aprendí trabajando en pequeños ejemplos mientras aprendía C ++ para poder aprender ambos al mismo tiempo.
Me gusta mucho CodeLite . Echa un vistazo a su página de características .
Me sorprende que nadie haya mencionado Qt Creator , ya que está disponible en la mayoría de los repositorios, es bastante pequeño y, sin embargo, hace la mayoría de las cosas que necesito muy bien.
Mi voto es KDevelop (me gustaría tener más puntos para poder "votar", por lo que podría estar de acuerdo con los demás indirectamente que comentar).
He estado usando Eclipse durante unos años para uso personal, convenciéndome de que "desde que IBM lo donó, debe ser bueno", pero luego descubrí KDevelop y nunca volví. Debido a que estoy bastante mimado con Microsoft Visual Studio para uso profesional, KDevelop se sintió muy cómodo conmigo.
Quiero disfrutar de la programación como un pasatiempo, no perder el tiempo buscando lo que hacen ctrl - k - k y ctrl - k - b . Como otros han mencionado, lo que sea que "les parezca correcto" es el mejor IDE. Para mí, KDevelop se siente más cómodo porque me puedo concentrar en la codificación (probablemente podría reasignar las claves a otros IDE para que se sienta como VS, pero como he mencionado, prefiero invertir mi tiempo de codificación, que es más divertido).
Netbeans ha recibido algunas críticas muy buenas por su soporte en C ++: http://www.netbeans.org/features/cpp/
Nunca utilicé Netbeans o Eclipse para el desarrollo de C ++, pero vale la pena analizarlo.
Personalmente, estoy de acuerdo con la multitud kDevelop también. Eclipse se sentía un poco voluminoso y ligeramente inestable. Algo sobre kDeveloper siempre se siente bien.
Realmente no puedo responder por el módulo de Eclipse, pero eso podría atribuirse al hecho de que estoy en Windows y casi no tengo idea de lo que estoy haciendo.
Sin embargo, no puedes equivocarte con tu editor de texto favorito.
Si vienes de Windows y Visual Studio, es posible que Code :: Blocks cumpla tus expectativas.
Esa fue mi experiencia; Primero probé con algunos otros, pero todos parecían esperar que hiciera un largo tutorial antes de que pudiera comenzar a hacer algo interesante, y con una docena de IDEs para probar, eso podría tomar días.
Con Code :: Blocks no había aros para saltar, y muy poco esfuerzo obligatorio para aprender antes de poder ser productivo. Todavía prefiero Visual Studio, pero Code :: Blocks puede abrir mis proyectos de Visual Studio, y no parece querer que pierda tiempo, así que es el IDE ganador * nix para mí.
Solo uso Emacs.
Ultimate ++ [ http://www.ultimatepp.org/index.html]
[editar]
Tiene sus propias librerías de clase C ++ (como lo señala Hernan), pero nada le impide usar otras libretas de clase como SDL, o puede hacer las suyas propias. Incluso puede usar boost si lo desea, pero debo decir que encuentro que algunas de las clases y técnicas suministradas son más útiles.
Lo que más aprecio es su brillante integración con el depurador y el editor contextual muy completo. Utiliza el compilador y el depurador estándar (gcc, g ++, gdb) en Linux y el compilador / depurador de MS en esa plataforma.
La única (muy pequeña) queja que tengo es los nombres caseros para proyectos (llamados Nest''s, etc.). Eso es innecesario e incluso desalentador para los desarrolladores serios, pero solo son nombres y creo que puedo ignorarlo fácilmente.
Uso el complemento NetBeans C ++ y es excelente. Vengo de un fondo de Visual Studio y la gestión de proyectos de Netbeans es muy similar. Probé KDevelop pero me pareció un poco escamoso (esto fue hace 12 meses, por lo que probablemente sea mejor ahora).
También tuve problemas con las dependencias que usan KDevelop, es decir, donde un programa requiere una gran cantidad de librerías para construir primero, pero Netbeans lo hizo simple.
La única queja es que al ser una aplicación de Java, no es particularmente rápida, muy notable cuando se ejecuta bajo VMWare.
Yo recomendaría CodeBlocks .
Reflejos:
- ¡Fuente abierta! GPLv3, sin costos ocultos.
- Multiplataforma. Se ejecuta en Linux, Mac, Windows (usa wxWidgets).
- Escrito en C ++. No se necesitan idiomas interpretados o librerías propietarias.
- Extensible a través de complementos
Compilador:
- Soporte de compilador múltiple:
- GCC (MingW / GNU GCC)
- MSVC ++
- Marte digital
- Borland C ++ 5.5
- Abrir Watcom
- ...y más
KDevelop es agradable, especialmente si ejecuta KDE. Es compatible con muchos idiomas, como una ventaja adicional. Encontré que su terminal integrada es realmente útil.