programadores - sistema operativo linux versiones
¿Qué herramientas usa el programador de Linux para desarrollar programas? (26)
Algunos lo hacen, pero los IDE pueden ser limitantes en comparación con binutils, gdb y un editor. La mayoría utiliza un editor como Emacs o Vim que puede funcionar como un IDE (compilación, salto a errores, depuración, etc.) utilizando las herramientas subyacentes.
Migré de Windows y he escuchado que los programadores de Linux no usan IDEs para desarrollar programas, algo así como Visual Studio. ¿Esto es cierto? ¿Los programadores de Linux usan IDE para hacer un desarrollo práctico?
Gracias.
Hay muchos IDE que trabajan en Linux, desarrollo usando Eclipse para Java y Python, a veces utilizo un editor de texto más fácil sin verificación de código y ayudantes. Netbeans es otro buen IDE.
Vi es un buen editor cuando escribes scripts en el shell o en una máquina remota, emacs creo que ya no se usa o por una minoría de desarrolladores.
Hay programadores de Linux que usan IDEs y algunos que no. Muchas personas usan editores como Emacs o Vim, y luego otros usan IDE como Eclipse, NetBeans, Anjuta, KDevelop, etc.
Hay una gran cantidad de IDE que se ejecutan en Linux (y otros sistemas Unix) ...
Probablemente lo que escuchas esté relacionado con el hecho de que todo el sistema Unix es una especie de entorno de desarrollo. Los programas "pequeños" como id-utils
, vi
, vim
y emacs
, más las herramientas CLI, hacen que todo el sistema se convierta en una especie de sistema de desarrollo híbrido. La filosofía es bastante diferente del estilo IDE, así que no espere comprenderlo de inmediato.
Pasé varios años desarrollando Java en Eclipse en Windows, lo cual disfruté. Pero antes y después de eso, utilicé Unix, NetBSD y Linux para el desarrollo. Estoy muy contento de desarrollar C, C ++, PHP o Ruby solo con vi (1) y las otras herramientas CLI. Nunca he intentado el desarrollo serio de Java en Unix. Eso podría llevarme de vuelta al IDE, en parte debido a la cantidad de repetitivo, y en parte porque Java tiene un soporte IDE bastante elaborado. Pero para obtener el valor agregado IDE marginal para! Java no vale la pena o vale la pena renunciar a la naturaleza instantánea de vi (1) y Terminal y todos los demás elementos de Unix, que desaparecen cuando se inicia el IDE.
Una vez dentro del IDE, el sistema operativo externo ya no importa. Creo, ejem, es por eso que me gustó usar el IDE en Win y no tanto en Unix. Unix es flexible y divertido, y no necesita ser reemplazado como un entorno.
Por lo general, escribimos el código de máquina directamente.
Broma.
Muchos desarrolladores de Linux usan uno de los muchos IDEs finos disponibles para la plataforma, como Anjuta, Eclipse, NetBeans, etc. Sin embargo, en Linux también es más probable que en Windows encontrar desarrolladores que programen usando editores de texto como vi o emacs. . Esto es lo que puede haber escuchado.
Quanta como editor de código
Si vienes a Linux debes estar preparado para usar más consola y menos IDE.
Pero creo que tienes muchos IDE en publicaciones anteriores
Todo depende de las preferencias personales, tiendo a usar un editor de texto para python, perl, etc.
Pero puedes usar un IDE. Eclipse viene a la mente.
También hay Monodevelop para proyectos .Net en Linux.
Uso principalmente gedit con toneladas de complementos ... Pero cuando programo en Java uso Eclipse. Cuando programo en C, uso Code :: Blocks. Pero a veces uso Geany funciona muy bien para. Pero, de nuevo, es justo lo que una persona prefiere.
Utilizo gVim para todo, codificando Perl, JavaScript, Java, HTML, CSS, XML, etc. y cargo código, ejecuto cosas que necesito hacer directamente desde Vim, por ejemplo, probando HTML en un navegador.
El gVim moderno es un poco más GUI que vim.
Me gusta gVim porque me permite hacer casi todo desde el teclado, si puede tocar el tipo que le ahorra mucho tiempo, mientras que otros buscan su mouse. - si puede tocar el tipo, y se carga en una fracción del tiempo de otros IDEs.
Es muy flexible, por lo que si gVim no hace lo que quieres, puedes mejorarlo externamente (escribir un pequeño programa) o internamente (escribir o usar un complemento, hay muchos)
emacs ofrece una experiencia similar.
- no use vim use gVim! vim es para trabajo de consola. - cuando lo necesites, estarás contento de que sepas gVim
Probé con regularidad otros IDE de GUI y hasta ahora siempre volví a gVim.
gVim es una plataforma X para que puedas reutilizar tus habilidades en las plataformas Win32 y Mac y esas antiguas y crujientes cajas Unix que solo tienen vi.
Nota: Hay una curva de aprendizaje y no obtendrás el verdadero "Poder" hasta que los comandos se conviertan en una segunda naturaleza y aprendas cómo usar las expresiones regulares.
Este enlace puede ayudar ...
Si no está familiarizado, le sugiero usar el vimtutor para comenzar.
- Pruebe vimtutor desde la línea de comando
- mira la ayuda -: h vimtutor
Yo uso KATE, que se envía con KDE. Tiene un excelente resaltado de sintaxis, sin comodidades innecesarias, una buena galería de fragmentos y una excelente ventana de shell. Las sesiones / proyectos son fáciles de administrar y abrir.
El área de edición en sí tiene más o menos lo que se esperaría en cuanto a lo básico, como plegado de código, vistas divididas y demás.
Soy uno de esos tipos barbudos (bueno, lo era, hasta que me afeité) que llevaba más de 5 años uniéndose al resto del mundo, incluso usando un entorno de escritorio, y mucho menos un IDE. No llamaré a KATE IDE, para eso está KDevelop. KATE es solo un editor realmente bueno.
Yo uso emacs, vim y netbeans. También uso Notepad ++. Cuando trabajo en Windows uso netbeans y notepad ++. Así que Linux significa más libertad para mí, pero con las mismas herramientas básicas.
Yo uso vim. Lo he estado usando durante unos tres años y todavía me considero bastante aficionado, hay mucho que puede hacer y la curva de aprendizaje es bastante pronunciada.
Probablemente también debería mencionar que hago una gran cantidad de codificación python / django y hago mucho de eso fuera del sitio, como no en la máquina en la que mi código permanece, en ssh. No sé qué tan buena idea es esta, pero a eso es a lo que estoy acostumbrado, y como vivo principalmente en una Terminal, definitivamente prefiero vim.
La mayoría del entorno de escritorio tiene herramientas y desarrollo IDE. Por ejemplo, gnome tiene esto: http://library.gnome.org/devel/tools Eclipse y NetBeans es un software complejo y necesita tiempo para aprender y configurar.
Los smalltalks de código abierto (Squeak, Pharo) son multiplataforma y funcionan bien en Linux. Se basan en imágenes y tienen un IDE excelente.
Un desarrollador de Linux usa Microsoft Visual Studio para desarrollar código portátil en Windows. Luego compila este código en Linux con gcc y corrige cualquier error con la herramienta de Linux que funcione (KDevelop, etc.).
Decir ''qué usan los programadores de Linux'' es un poco atrasado.
Algunos usan IDE masivos con una funcionalidad tremenda, otros como mi pantalla GNU de uso, vim y una pila de shells para hacer su edición.
Me desarrollo en Python, y vim + python es todo lo que necesito.
Ubuntu tiene un ingenioso paquete de complementos llamado "rápido" que crea su proyecto para usted y le ofrece un buen punto de partida, así como herramientas fáciles de usar como un recurso de ventana / diálogo GUI y editor de código fuente. Como estudio visual para usuarios de veterinaria, he estado buscando algo en Linux que sea igual de fácil de usar, el eclipse está demasiado hinchado y los bloques de código no instalan todo lo que necesitas (bibliotecas extra, etc.) pero rápidamente se asegura de que tengas TODO (todo el gtk devel libs y más se instalan junto con él si aún no los tienes). Programadores de Linux por primera vez. Sugiero usarlo fuertemente, incluso si no estás familiarizado con Python (no lo era, era C ++ / C #) no es difícil aprender ... incluso más simple en muchos casos. Consulte este enlace "Cómo crear un navegador web en menos de 5 minutos de forma rápida" a continuación: http://developer.ubuntu.com/get-started/http://developer.ubuntu.com/get-started/
PD: Leo las otras respuestas y debo decir, dado que muchos programadores están discutiendo sobre la falta de un IDE bueno para Linux, ¿por qué uno de ustedes NO HACE UNO? Obviamente, esta es una gran necesidad, y hay demasiados IDEs multiplataforma para Linux, creo que sabes a lo que me refiero, ¿verdad? (Pista indirecta ... C ++ :)) Tampoco tiene que ser demasiado complejo, simplemente simplifique el proceso de hacer proyectos con unos pocos esqueletos que tienen el comentario viviente y un editor bueno (o incrustado) uno existente?) ... ahí lo dije.
Incluso si algunos hombres con barba real pudieran decir que Emacs (o vi)> Eclipse> Netbeans> todos, muchos usuarios usan IDEs . En realidad, la veracidad de la declaración anterior en realidad no importa, solo use una herramienta con la que sea productivo e, idealmente, la correcta para el trabajo. Aquí hay una lista de opciones rápidas:
- Emacs , vi (m) : varios idiomas, estoy seguro de que todavía se usan para el desarrollo de C / C ++
- gedit : multi-idiomas, editor de texto avanzado, muy bueno para Rails (puede ser pimped para imitar a Textmate)
- Geany : otro editor de texto basado en el kit de herramientas GTK2
- Eclipse , Netbeans , Intellij IDEA Java orientado pero con un buen soporte de C / C ++ (y PHP, Groovy, Grails, Rails)
- MonoDevelop : para el desarrollo .NET (es decir, compatible con varios idiomas)
- QT Creator : para ... QT development
- Anjuta , KDevelop : IDEs de C / C ++ para Gnome y KDE (respectivamente)
- Code :: Blocks : multiplataforma C ++ IDE
Como puede ver, GNU / Linux no significa codificación en un shell de 80 columnas (potencialmente abierto a través de ssh). Linux también tiene algunas herramientas kick ass. Para ser honesto, me parece que Linux es una plataforma de desarrollo mucho mejor que Windows: tiene muchos IDEs buenos que son al menos equivalentes (excepto quizás para .NET, no estoy seguro de que MonoDevelop pueda competir con Visual Studio), tiene mucha más herramientas de línea de comandos, más capacidades de scripting, da un mejor control ... En otras palabras, me siento mucho más poderoso con Linux que con Windows.
No, no es verdad La gente simplemente usa lo que prefieren más. La definición de IDE también es un poco débil. En Linux, muchos editores de texto son muy potentes, por ejemplo, Emacs. Podrías quizás llamar a ese editor de texto ya un IDE. Sin embargo, para señalar una diferencia, Emacs (y otros editores de texto) se hicieron originalmente para ser muy generales y escribir cualquier cosa con él, y herramientas / funciones útiles para desarrollar C / C ++ / lo que fuera que se agregaron más tarde. Y su soporte de lenguaje de programación en su mayoría * solo cubre el resaltado de sintaxis, no mucho más.
Las aplicaciones como KDevelop o Eclipse se desarrollaron inicialmente para ser un entorno de desarrollo y la mayoría de ellas todavía tienen más / mejor funcionalidad para desarrollar. Yo llamo a estos IDEs.
Hay muchos IDE diferentes en Linux, algunos más poderosos, otros menos poderosos, algunos para un lenguaje de programación específico, algunos para muchos diferentes. Según el idioma en el que desee escribir, algunos son mejores que otros.
Además, algunos están más hinchados que otros. Esa es una de las razones principales por las que las personas simplemente usan un editor de texto porque es muy ágil, muy estable y muy rápido.
Enumeraré algunos IDEs que creo que son los mejores en términos de funcionalidad específica para ese lenguaje (como la finalización del código y muchas otras cosas).
Para C / C ++:
KDevelop
Por lo que sé, no hay un IDE que tenga mejor soporte para C / C ++. No encontré ninguna otra herramienta que maneje C ++ de tal manera que realmente entienda STL, que es importante que pueda usar el autocompletado para contenedores STL y cosas por el estilo. Incluso comprende macros, por lo que el autocompletado incluso funciona en casos muy complicados con muchos macro-trucos. Trabajo en un proyecto C ++ ~ 250k loc y ha entendido el código completo. (Sin embargo, para usar el soporte C / C ++ extendido, tiene que activarlo en la configuración del proyecto, está deshabilitado por defecto. Además, para tener soporte STL completo, preescribí los encabezados STL y lo agregué al soporte C ++ en la configuración del proyecto manualmente . No sé si todavía es necesario. Pero creo que todavía no funciona de fábrica.)
Además, KDevelop es muy ágil y rápido (se desarrolló en C ++), en comparación con muchos otros IDEs. Se carga casi tan rápido como cualquier otro editor de texto simple y se siente tan ágil como tal. Y eso tampoco cambia para proyectos muy grandes. Por lo que yo solo lo uso para editar / escribir el código, no para administrar la compilación del proyecto. Tiene soporte automake pero prefiero usar CMake. Pero KDevelop funciona bien con eso: cuando presiono compilar en KDevelop, solo comienza una marca.
Inicialmente, KDevelop se desarrolló como una herramienta de desarrollo para aplicaciones de KDE, pero funciona bien para cualquier proyecto de C / C ++. De hecho, nunca he hecho ningún proyecto de Qt / KDE con él. Además, el soporte para otros lenguajes como Ada se agregó más adelante, pero no lo he intentado.
No conozco ningún otro IDE que tenga mejor soporte para C ++. Por favor coméntame si me equivoco aquí. No revisé muchos otros IDEs en los últimos uno o dos años.
Eclipse
Probablemente ya lo sabes. Inicialmente fue desarrollado en y para Java. Más tarde, se agregó soporte para C / C ++.
Quiero tomar nota de este IDE porque conozco a mucha gente que lo usa. Aunque en realidad no lo estoy recomendando porque en su mayoría he tenido malas experiencias.
El soporte de C ++ es bueno, aunque no perfecto; hay casos donde el autocompletado no funciona.
Las posibilidades y características del IDE en sí son muy ricas. No conozco muchos otros IDEs que sean tan grandes (hinchados). Eso, juntos, que está en Java, hace que a menudo se sienta muy lento y, a veces, se cuelga mientras escribes algo. También el uso de memoria es muy alto.
Qt Creator
Inicialmente para el desarrollo de Qt, pero también está bien para cualquier otro proyecto de C / C ++. Muy buen soporte qmake.
El soporte de C ++ es bueno, solo algunos problemas más pequeños. Además, el IDE es ágil y rápido.
Después de todo, me encontré demasiado limitado en este IDE y el soporte de C ++ en KDevelop era aún mejor, así que seguí usando KDevelop para la mayoría de los proyectos de C ++. Pero cuando haces un proyecto de Qt, Qt Creator es genial porque también viene con algunos buenos constructores de GUI para Qt y otras herramientas agradables de Qt.
CLion
(Comercial, pero versión gratuita.) Un recién llegado por JetBrains. Muy prometedor.
Para Java:
Eclipse
Ver mis comentarios arriba.
Para Java, creo que este es el IDE más común en Linux. Aquí también se aplican las mismas desventajas que las indicadas anteriormente, pero no conozco ningún IDE mejor, así que sigo usando Eclipse cuando desarrollo en Java.
NetBeans
También en y para Java. Nunca lo intenté porque no era realmente compatible con mi distribución de Linux (creo que debido a problemas de licencia, ya no recuerdo exactamente).
He visto muchas llamas en el pasado sobre NetBeans-vs-Eclipse. No sé realmente sobre el estado actual.
Para C #:
MonoDevelop
Tampoco lo he intentado solo, solo he escuchado que es una de las mejores herramientas para C #. Solo quería señalarlo porque se refirió a Visual Studio y puede que le interese C #.
Quiero agregar algunas palabras al uso de la terminal:
Además de dicho IDE, es muy común usar un terminal en paralelo a su IDE. El terminal y todas sus cubiertas junto con todas las herramientas de Unix y otras herramientas son muy potentes y puedes realizar muchas tareas de una manera muy simple. Una vez que obtiene una buena visión general de todas las herramientas de Unix y cómo usarlas, pueden ahorrarle mucho trabajo.
A menudo hay tareas en un proyecto que deben realizarse una y otra vez. Eso puede ser tareas sencillas, como la forma de administrar el código fuente y distribuirlo con sus compañeros de equipo o también tareas más complejas.
Por ejemplo, cuando haces un trabajo de servidor-cliente y comienzas tal vez con 10 servidores y 100 clientes en diferentes máquinas, deja que todos hagan algo; luego grep la salida para algunas expresiones regulares y recopile todo eso y realice algunas pruebas de rendimiento durante 10 segundos y repita ese progreso varias veces; estas cosas son triviales una vez que administra la terminal.
Te encontrarás acabando de tener varios scripts escritos que hacen todo eso por ti. Escribir dichos guiones es en general sencillo.
Esto quizás sea un poco fuera de tema, pero solo quería que se notara porque es una forma común y poderosa de trabajar. Cuando cambiaste de Windows a Linux como desarrollador, deberías echar un vistazo a todas las posibilidades adicionales que tienes ahora. Esas son la razón principal para mí (y para muchos otros) por qué prefiero desarrollar en Linux / Unix que en cualquier otro sistema.
(*) Nuevamente algunas palabras para Emacs: Emacs puede extender mis muchas herramientas y complementos que lo hacen un sistema muy rico con la misma funcionalidad que un IDE. Por ejemplo, hay CEDET que viene con soporte de lenguaje real, es decir, también tiene características como la terminación inteligente de palabras / IntelliSense y también un sistema de gestión de proyectos. No lo he probado, pero lo haré en las próximas semanas.
Los productos JetBrains son los mejores. JetBrains
Transparente con todas las características, no encontré ningún competidor para esto: Sublime Text 2