¿Cómo me desarrollo en más idiomas con menos IDEs?

8

Me gustaría configurar mi computadora para que pueda desarrollar en .net, C #, Java, ActionScript, JS / CSS y lenguajes funcionales como Scala o Haskell. Sin embargo, quiero hacer esto con la menor cantidad de IDE con todas las funciones para aprender / los programas que ocupan espacio en el disco duro en mi computadora / ejecutar múltiples IDE simultáneamente.

¿Qué programas puedo usar para minimizar la cantidad de IDE con todas las funciones que tengo que aprender / usar? (Por ejemplo, si Eclipse pudiera manejar todos estos marcos, esa sería una respuesta válida)

Editar: Parece que esta pregunta sigue recibiendo éxitos muchos años después. Hoy, (2018) uso el Código de Visual Studio como mi "IDE único para gobernarlos".

Beto
fuente
¿Qué usas actualmente?
Kevin D
8
Si le preocupa ahorrar recursos, dudo que Eclipse sea la respuesta.
back2dos
55
los recursos que me preocupan son mi cerebro más que mi computadora :)
Bob
55
trate de hacer todo lo que el desarrollo en el bloc de notas y luego hacernos saber cómo ese cerebro tuyo está haciendo :-)
Thomas Stock
44
Véase, si un profesional experimentado, puede encontrarse con el Bloc de notas lo suficientemente bueno para todas sus necesidades
Pankaj Upadhyay

Respuestas:

2

La compañía Jetbrains tiene un conjunto de IDEs con los mismos principios ergonómicos y los mismos atajos de teclado, etc. Cubren todos los idiomas de los que estás hablando. Pero la mayoría de ellos no son gratuitos.

Entonces mi sugerencia es:

Simon Jodet
fuente
1
¿Tienen una comunidad fuerte de apoyo? Escuché una observación de que "tienes que ser un científico de cohetes para configurar un proyecto" con respecto al software de Jetbrains.
Bob
Son realmente buenos Recibí una respuesta a una diatriba en Twitter. Sin embargo, tienes razón, configurar un proyecto es un poco extraño al principio, pero no tanto como con Eclipse.
Simon Jodet
R # no es un IDE; Es una extensión para Visual Studio.
Andy
22

Aprende vim o emacs. Puede programar casi cualquier idioma con cualquiera de esos. No tendrá las muletas provistas por algunos IDEs, pero realmente no las necesita. Puedes convertirte en un mejor programador cuando confías más en tu cerebro e inteleccionas menos.

Ambos vimy emacstienen una gran cantidad de características y extensiones (o complementos) para facilitar la codificación (incluidas las cosas relacionadas con las API, que no necesitará "memorizar a ciegas"). Muchos lenguajes de programación (incluso los académicos) tienen su emacsmodo y / o vimcomplementos o extensiones. Y muchas distribuciones de Linux están empacando estos.

Bryan Oakley
fuente
39
Mi cerebro tiene mejores usos que tratar de memorizar API ... pero gracias.
Bob
11
Amén mil veces, @Bob. Soy mejor programador debido a Intellisense, ya que hay más capacidad para usar para otras cosas además de las firmas de métodos, los tipos de retorno y las jerarquías de clases de las API con las que tengo que tratar. En mi opinión, es la mayor ganancia de productividad de los últimos 15 años.
Adam Crossland
55
Emacs proporciona inteligencia con CEDET , aunque lo llaman "finalización de código inteligente".
jwernerny
3
Si bien no estoy de acuerdo con las opiniones del cartel sobre el uso de IDE, este es el camino a seguir para los idiomas más nuevos y / o menos populares que no tienen buenos IDE. El OP está pensando en Scala y Haskell, y es posible que desee probar otros lenguajes no convencionales, y en este caso, vim o emacs son las mejores opciones.
David Thornley
55
Para Java (y C #) desea un IDE; ellos ayudan mucho. Esto se debe a que son bastante burocráticos según los idiomas. Otros idiomas no necesitan IDE en la misma medida, por lo que vim y emacs son excelentes opciones allí.
Donal Fellows
13

No trataría de usar un IDE menos que óptimo para todo mi desarrollo. Prefiero pasar mi tiempo aprendiendo el mejor IDE para el idioma en lugar de piratear / ajustar un solo IDE para que pueda usarlo para algo para lo que no fue destinado.

No hay bala de plata aquí.

Necesitará Visual Studio para el desarrollo .NET. Necesitará herramientas de Adobe para el desarrollo de Flash.

Para Java y JS / CSS, recomiendo Jetbrains IntelliJ IDEA y Webstorm. Hay herramientas hechas por el mismo proveedor, por lo que son similares, tienen muchas funciones y la curva de aprendizaje está bastante bien. Tampoco ocupan tanto espacio en disco, si esa es realmente una de sus preocupaciones.

Como señaló FinnNk, puede configurar la mayoría (¿todos?) De los IDE de IntelliJ para usar los atajos de teclado de Visual Studio ... o puede configurar Visual Studio para usar los atajos de teclado de IntelliJ.

Thomas Stock
fuente
Gracias. IntelliJ IDEA también hace Actionscript dev. Así que necesitaré Visual Studio e IntelliJ o Eclipse (ya que hasta ahora aprender IntelliJ ide ha sido un poco difícil) ¿Dónde encaja Scala / Haskell en eso?
Bob
Hay complementos de Eclipse para Scala y Haskell , y no me sorprendería si hubiera algo similar para Netbeans .
TMN
No tengo experiencia con Scala / Haskell. Nuevamente, buscaría en Google cosas como "mejor escala" y vería cuál se ajusta mejor a sus requisitos. PD: puede omitir WebStorm y desarrollar JS / CSS con Visual Studio. Es un IDE decente para el desarrollo web y con el complemento Resharper se completa automáticamente en JS y Css. (también hay complementos gratuitos disponibles para esto).
Thomas Stock
@ TMN el complemento Netbeans Scala está en desarrollo
yannis
1
Agregaría que puede configurar la mayoría (¿todos?) De los IDE de IntelliJ para usar los atajos de teclado de Visual Studio ... o puede configurar Visual Studio para usar los atajos de teclado de IntelliJ.
FinnNk
6

Eclipse puede manejar la mayoría de los idiomas que menciona:

Independientemente de que Eclipse no sea una opción válida, ya que la mayoría de los complementos mencionados están en varios estados alfa y ejecutar una instancia de Eclipse con todos ellos estresará enormemente su hardware.

Incluso con un excelente hardware, los complementos rara vez ofrecerán todo lo que ofrecerá un IDE especializado. Además, no veo ninguna razón válida para ejecutar múltiples IDEs, ¿para cuántas plataformas puede codificar simultáneamente? Si lo que necesita es leer código escrito en diferentes idiomas o escribir programas bastante pequeños, puede elegir Notepad ++ , que admite resaltado de sintaxis en una cantidad impresionante de idiomas .

Pero para programar realmente en los idiomas que menciona, recomendaría usar diferentes IDE:

Adobe Flash Builder y Aptana Studio se basan en Eclipse, por lo que si va con ellos, al menos obtendrá IDE similares .

Yannis
fuente
Gracias. Soy terrible cerrando ventanas. Soy un packrat virtual. :(
Bob
1
¡Mejorar C # parece haber estado muerto durante casi 8 años!
Newtopian
@Newtopian Bueno, sí lo es :) De todos modos, el punto de la respuesta fue NO usar Eclipse para todo por una variedad de razones, podemos agregarles la falta de un complemento C # ...
Yannis
@Bob Linux + Gnome con pantallas duales de 30 "le ofrece (usando 4 escritorios) más que suficiente
espacio en
@Bob, ¿te importaría usar WM en mosaico (por ejemplo, stumpwm, ratpoison, etc.)?
SK-logic
2

Personalmente, considero que Eclipse es el mejor IDE multilingüe. Además del excelente soporte de Java, Java existe un soporte de desarrollo bastante maduro para la mayoría de los otros idiomas principales disponibles como complementos.

Aquí hay una larga lista de idiomas que estoy seguro se ha extendido desde que se escribió ese artículo.

Además, no solo son importantes los idiomas: también debe tener en cuenta:

  • Herramientas de gestión de construcción / dependencia como Ant y Maven
  • Control de código fuente (git, CVS, SVN, etc.)
  • Gestión de archivos de recursos (configuración XML, imágenes, etc.)
  • Herramientas de gestión de proyectos (copia de seguridad, documentación, gestión de tareas, etc.)

Teniendo todo esto en cuenta, definitivamente es una victoria quedarse con un solo IDE primario.

mikera
fuente
1

Para los idiomas que los tienen, es mejor usar los mejores IDE de su clase: no son realmente tan diferentes. Ver otras respuestas para sugerencias.

Para los que no lo hacen, le sugiero que use un editor de texto más pesado, como emacs (que también funciona como un navegador de sistema de archivos, lector de correo y noticias, plataforma de juegos, generador de saludos de cumpleaños, etc., etc.) . Estos a menudo tendrán complementos / configuraciones / modos decentes que le brindarán la mayor parte de lo que le brindará un IDE más simple.

FinnNk
fuente
1

Tenga en cuenta que el uso de IDE es un tema de guerra santa.

Use la mejor herramienta para el trabajo. Si un IDE es bueno en el lenguaje X y no en el lenguaje Y, entonces úselo solo para X y obtenga algo más para Y. En comparación con casi cualquier juego de computadora que pueda elegir, el IDE no es nada de su disco duro y sistema RAM no puede manejar. Agregaré que al probar un nuevo idioma, un IDE puede hacer que sea más fácil comenzar a jugar, no tenga miedo de obtener el que se adapte al trabajo. Android Java es un buen ejemplo de eso: si solo quieres probarlo, no hay nada más fácil que Eclipse / Android para mojarte los pies.

luego
fuente
Gracias y estoy de acuerdo. Sin embargo, en este momento estoy buscando lo suficientemente bueno y para cumplir con los otros requisitos sobre los que pregunté. Estoy buscando aprender y desarrollarme al mismo tiempo, para poder ver lo que me gusta y lo que no.
Bob
1

No estoy seguro de que sea una gran idea. Cambiar de un idioma a otro suele ser un cambio de contexto completo y el costo de esto solo puede compensarse con un IDE que esté optimizado para trabajar con ese idioma.

Por supuesto, hay emacs, pero a menos que esté dispuesto a invertir media década para comprenderlo realmente, tendrá problemas para encontrar un IDE multilingüe que sea mediocre en el mejor de los casos con respecto a la mayoría de los idiomas.

Mi sugerencia:

  • SharpDevelop para C # y FlashDevelop para ActionScript (y haXe si así lo desea). FlashDevelop se escribe principalmente con SharpDevelop, por lo que encontrará que el comportamiento es relativamente consistente entre ellos. Especialmente FD tiene una huella muy baja, tiene un autocompletado y una interfaz de usuario ultrarrápidos y arranca en poco más de 5 segundos en mi máquina.
  • Java y Scala funcionan perfectamente en un IDE. Ya sea IntelliJ, NetBeans o Eclipse, es más una cuestión de preferencia personal o religión.
  • El soporte para CSS existe en la mayoría de los IDEs, de hecho. Probablemente desee utilizar un editor HTML que permita la codificación zen (FD sí lo hace), preferiblemente uno de los editores que está utilizando de todos modos y escriba su CSS en el mismo editor. Al mismo tiempo, es posible que desee ver cuál de los IDE de su conjunto de herramientas admite MENOS css , porque es realmente un ahorro de tiempo. Si la elección es entre escribir menos o escribir más pero con el apoyo de un IDE, el primero es favorable en mi humilde opinión.
  • JS también es compatible con todos los IDE en cierta medida. Puede hacer esto en FlashDevelop. O bien, puede usar haXe en su lugar, que es compatible con FD. O puede que desee echar un vistazo a CoffeeScript y encontrar un IDE que sea adecuado para él (Eclipse tiene un complemento decente, posiblemente otros IDE también lo tengan).
back2dos
fuente
0

Creo que es mejor tener una herramienta separada para cada idioma / paquete de idiomas. Pero para algunos (css + js, por ejemplo), no tiene sentido incluso tener un IDE, un editor de texto con resaltado de sintaxis será suficiente.

Para Windows: pruebe Notepad ++ . En Linux - emacs , vim (que tienen una curva de aprendizaje propia) - o incluso solo gedit .

Eche un vistazo a los últimos NetBeans : su multiplataforma admite varios idiomas, pero puede ser un poco lento; Aptana Studio es lo que uso actualmente para el desarrollo web.

Val Redchenko
fuente
0

Eche un vistazo al proyecto del servidor Microsoft Langauge. La idea es que está tratando de desacoplar los detalles específicos del idioma del editor / ide. Por lo tanto, puede crear la implementación del servidor de idiomas para, por ejemplo, C # o Elixir y un cliente para VisualStudio y Emacs, y ambos editores pueden usar todos los idiomas.

No todos los idiomas son compatibles todavía, pero muchos lo son y facilitará mucho más en el futuro que los Editores / IDES y los idiomas se apoyen mutuamente

Zachary K
fuente