¿Cuál es el mejor IDE para el desarrollo de C? ¿Por qué usar Emacs sobre un IDE? [closed]

8 minutos de lectura

avatar de usuario
matthew rathbone

así que según una de mis preguntas anteriores, estoy repasando mis habilidades de C.

Mi pregunta es, ¿qué usa la gente para desarrollar C?

Mucha gente usa Emacs y lo ha hecho durante años, pero ¿Es mejor aprender emacs que simplemente usar un IDE? como Geany o KDevelop?

También estaría interesado en saber de aquellos todavía usando emacsy porque lo usan sobre otras aplicaciones?

Tenga en cuenta que solo estoy realmente interesado en el IDE / editores gratuitos.

EDITAR:

Gracias por publicar enlaces que responden a algunas de mis preguntas, pero supongo que lo que realmente me pregunto es:

¿Vale la pena aprender a editar usando emacs / vim y compilar / depurar usando gcc-toolchain en lugar de solo usar un IDE, y por qué?

¿Cuáles son las razones de las personas para no migrar a un IDE?

¿Alguien ha pasado del desarrollo centrado en terminales al desarrollo IDE y por qué lo hizo?

  • No creo que pueda obtener una respuesta de valor real a esta pregunta. Obtendrá a) preferencias personales de algunas personas b) listas de características o aspectos destacados. Dijiste que solo te interesaban los gratuitos. Descarga algunos, pruébalos, elige el que más te convenga.

    – Tomás André

    27/09/2012 a las 19:36

  • En el futuro, intente dejar en claro en su pregunta que desea un editor/IDE de C Y ABSOLUTAMENTE NO UN EDITOR DE C++ PORQUE NO SON LO MISMO.

    – Ruta Millas

    1 de enero de 2013 a las 0:24

  • Descargué la versión de eclipse para C y C++. era lo mismo

    – wobbily_col

    11 de noviembre de 2013 a las 9:17

avatar de usuario
n-alejandro

Empecé usando IDEs, Microsoft o no. Luego, mientras trabajaba en QNX hace mucho tiempo, me vi obligado a hacerlo con un editor de texto + compilador/enlazador. Ahora prefiero esta combinación simple, un editor de resaltado de sintaxis + compilador C y linker cli + make, a cualquier IDE, incluso si el entorno lo permite.

Las razones son, para mí:

  1. está en todas partes. Si programa en C, tiene el compilador y, por lo general, puede obtener un editor. Lo primero que hago: me nedit en Linux o Notepad ++ en Windows. Iría con vi, pero los editores de GUI brindan mejores fuentes, y eso es importante cuando miras el código todo el día

  2. puede programar de forma remota, a través de ssh, cuando lo necesite. Y a veces ayuda mucho poder ssh en el objetivo y hacer algunas cosas rápidas allí.

  3. me mantiene cerca de CLI, preferiblemente CLI de UNIX/Linux. Así que todos los comandos están al alcance de mi mano, y cuando los necesito no tengo que ir a leer un libro de referencia. Y UNIX CLI puede hacer cosas que los IDE a menudo no pueden, porque sus desarrolladores no pensaron que los necesitaría.

  4. lo más importante, es muy parecido a ver Matrix en código sin formato. Manejo archivos, así que me veo obligado a mantenerlos manejables. Estoy encontrando cosas en mi código manualmente, lo que me permite mantenerlo simple y organizado. Hago Config Management explícitamente, por lo que sé cuándo estoy sincronizado y cómo. Conozco mis Makefiles porque los escribo y solo hacen lo que les digo

    (si se pregunta si eso funciona en “proyectos realmente grandes”, sí funciona, y cuanto más grande es el proyecto, más rendimiento me da)

  5. cuando la gente me pide que mire su código, no tengo que aprender el IDE que usan

  • ¿Qué tal un depurador…?

    –Jimmy J

    6 de marzo de 2009 a las 12:24

  • @rathboma: para eso están las ventanas: una para su editor, otra para su documentación

    – Javier

    6 de marzo de 2009 a las 12:31

  • Puede tener fuentes más agradables en gvim, al mismo tiempo que puede ver caracteres Unicode, en lugar de nedit.

    – Alejandro

    1 de junio de 2011 a las 13:07

  • @JimmyJ solo usa GDB en la consola

    – xis

    27 de junio de 2012 a las 18:45

  • ¡La depuración es para lo que sirve gdb! Es increíblemente poderoso y te permite hacer casi cualquier cosa.

    – Dylan Gattey

    3 de marzo de 2015 a las 5:15


Me mudé de un editor de texto de terminal + entorno de creación a Eclipse para la mayoría de mis proyectos. Abarcando desde C y C ++, hasta Java y Python, por nombrar algunos idiomas con los que estoy trabajando actualmente.

La razón era simplemente la productividad. No podía permitirme gastar tiempo y esfuerzo en mantener todos los proyectos “en mi cabeza” mientras otras cosas se volvían más importantes.

Hay beneficios de usar el enfoque “hardcore” (terminal), como que tiene una capa mucho más delgada entre usted y el código que le permite ser un poco más productivo cuando está “dentro” del proyecto y todo está en la parte superior de tu cabeza. Pero no creo que sea posible defender esa forma de trabajar por sí misma cuando se necesita tu mente en otra parte.

Por lo general, cuando trabaja con herramientas de línea de comandos, con frecuencia tendrá que resolver muchos problemas repetitivos que le impedirán ser productivo. Necesitará conocer las herramientas en detalle para aprovechar al máximo su potencial. Además, mantener un proyecto requerirá mucho más esfuerzo. La refactorización dará lugar a actualizaciones en los archivos make, etc.

Para resumir: si solo trabaja en uno o dos proyectos, preferiblemente a tiempo completo sin demasiadas distracciones, la “codificación basada en terminales” puede ser más productiva que un IDE completo. Sin embargo, si necesita gastar su energía de pensamiento en algo más importante, un IDE es definitivamente el camino a seguir para mantener la productividad.

Haga su elección en consecuencia.

avatar de usuario
Svante

Emacs es un IDE.

editar: OK, voy a elaborar. ¿Qué es un IDE?

Como punto de partida, ampliemos las siglas: Entorno de Desarrollo Integrado. Para analizar esto, empiezo por el final.

Un ambiente es, en términos generales, la parte del mundo que rodea el punto de vista. En este caso, es lo que vemos en nuestro monitor (quizás oímos de nuestros parlantes) y manipulamos a través de nuestro teclado (y quizás un mouse).

Desarrollo es lo que queremos hacer en este entorno, su finalidad, si se quiere. Utilizamos el entorno para desarrollar software. Esto define qué subpartes necesitamos: un editor, una interfaz para REPL, resp. el compilador, una interfaz para el depurador y acceso a la documentación en línea (esta lista puede no ser exhaustiva).

Integrado significa que todas las partes del medio ambiente están de alguna manera bajo una superficie uniforme. En un IDE, podemos acceder y usar las diferentes subpartes con un mínimo de conmutación; no tenemos que salir de nuestro entorno definido. Esta integración permite que las diferentes subpartes interactúen mejor. Por ejemplo, el editor puede saber en qué idioma escribimos y proporcionarnos autocompletado de símbolos, salto a definición, sangría automática, resaltado de sintaxis, etc. Puede obtener información del compilador, saltar automáticamente a errores y resaltarlos. En la mayoría, si no en todos, los IDE, el editor está naturalmente en el corazón del proceso de desarrollo.

Emacs hace todo esto, lo hace con una amplia gama de lenguajes y tareas, y lo hace con excelencia, ya que el usuario puede expandirlo sin problemas dondequiera que se pierda algo.

Contraejemplo: podría desarrollar usando algo como el Bloc de notas, acceder a la documentación a través de Firefox y XPdf, y dirigir el compilador y el depurador desde un shell. Esto sería un Entorno de Desarrollo, pero no sería integrado.

  • emacs se integra como se integran las piedras con la argamasa en una ruina etrusca. En serio, emacs es lo primero que empiezo por la mañana, pero ¿llamarlo un IDE integrado? No a menos que seas un mago elisp.

    – Queso

    9 de marzo de 2009 a las 6:17

  • No tienes que ser un mago elisp tú mismo. Puedes usar lo que otros han hecho. Por ejemplo, intente comparar SLIME (modo de interacción lisp superior para emacs) con un modo Lisp (¿o se llama plugin?) para Eclipse.

    – Svante

    9 de marzo de 2009 a las 12:47

He usado Eclipse con el complemento CDT con bastante éxito.

Emacs sería mejor si tuviera un editor de texto… 🙂

  • Como usuario de Vim no te entiendo. ¿Puedes explicarme mas?

    – Tim Mathews

    6 de marzo de 2009 a las 10:51

  • +1 ¡Sí, editor adecuado, como vim! ¡Que comience la guerra santa!

    – qrdl

    6 de marzo de 2009 a las 11:09

  • De hecho tiene uno. ¡Creo que puedes presionar META-CTRL-LEFT_ALT-Q+R+W para que aparezca!

    –Anders Hansson

    6 de marzo de 2009 a las 11:50

  • Botella de Coca-Cola Bucky cuádruple.

    – Chinasaurio

    02/09/2013 a las 17:52

avatar de usuario
fusión del alma

Usar Código::Bloques. Tiene todo lo que necesitas y una GUI muy limpia.

  • Como usuario de Vim no te entiendo. ¿Puedes explicarme mas?

    – Tim Mathews

    6 de marzo de 2009 a las 10:51

  • +1 ¡Sí, editor adecuado, como vim! ¡Que comience la guerra santa!

    – qrdl

    6 de marzo de 2009 a las 11:09

  • De hecho tiene uno. ¡Creo que puedes presionar META-CTRL-LEFT_ALT-Q+R+W para que aparezca!

    –Anders Hansson

    6 de marzo de 2009 a las 11:50

  • Botella de Coca-Cola Bucky cuádruple.

    – Chinasaurio

    02/09/2013 a las 17:52

avatar de usuario
jose rieken

netbeans tiene excelente soporte para C y C++. Algunas personas se quejan de que es inflado y lento, pero lo he estado usando casi exclusivamente para proyectos personales y me encanta. La función de asistencia de código es una de las mejores que he visto.

  • Realmente disfruté Netbeans cuando programé en Java. Apreciaría la uniformidad de IDE también.

    usuario295190

    3 de septiembre de 2010 a las 15:12

  • En el pasado, descubrí que Netbeans y Komodo Edit tienen una funcionalidad similar con Netbeans más pesado/lento.

    – Chinasaurio

    02/09/2013 a las 17:58

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad