¿ Cómo es para ti un IDE perfecto ?

A

Hola.

Ahora que más o menos tengo mi lenguaje terminado, me gustaría saber qué cosas veis importantes en un IDE, características que considerais útiles o razones por las que usais X editor de código y no otro. Creo que un buen IDE es algo elemental para mucha gente y por tanto intentaré que éste se adapte a cualquier usuario.

De paso, un par de fotos de cómo avanza mi ide:
http://img62.imageshack.us/img62/1705/idemq9.jpg
http://img66.imageshack.us/img66/2994/dibujonq8.jpg

Un saludo. :-)

AtollOndrao_

No me voy a enrollar ahora contándote que valoro más en un IDE, pq me tengo que ir a dormir ya mismo. Mañana lo pondré.

Pero he visto en tu perfil algo que me interesa. Gcalc. La semana pasada tuve que hacer en el curro una función que resolviera expresiones algebráicas con variables. Y como había prisa, pillé un código por ahí de hace mil años de un mexicano que le daba una solución "razonable" al problema. Le hice unos cambios y lo traduje de VB a COOL (el lenguaje en el que programo). Pero viendo lo de Gcalc, tengo curiosidad por ver cómo has enfocado tú el algoritmo. Aunque, obviamente, no te voy a pedir el código, pero sí me gustaría tener el ejecutable para poner a prueba al programa en cuestión. Si puedes ponerme algún link para descargármelo te lo agradecería.

Por cierto, da gusto ver que alguien no pierde el tiempo jugando y lo dedica a programar por amor al arte. O eso parece en tu perfil.

A

Hola.

Gracias por el comentario. Con respecto a lo de programar por amor al arte... sí lo hago a menudo y me gusta hacerlo, aunque además de mi hobby también es mi trabajo.

Sobre Gcalc...
Gcalc fue una miniaplicación que hice para usarla como calculadora rápida, para salir del paso. Lo único que tiene es una caja de texto donde escribes tus expresiones, pulsas enter y te da el resultado.

Por ejemplo: 2*cos(20) + ( 10 / 2 )

Por desgracia cuando hice Gcalc mis conocimientos sobre parsers y mi tiempo eran bastante limitados y acabé optando por usar un Scripting.Object y la función Eval, que hacen todo el trabajo automáticamente. Gcalc no soporta variables, solo expresiones sencillas.

Tiempo después, haciendo TPL (un lenguaje) aprendí bastante más sobre parsers, analizadores léxicos etc. Por supuesto, como lenguaje de programación, soporta variables y muchas más expresiones, con lo cual podríamos hacer algo del tipo:

(haciendo lo mismo que antes en el primer ejemplo)
definir x = 10 y = 20
imprimir 2 * $coseno(y) + (x/2)

Si mañana tengo algo de tiempo pondré los archivos de Gcalc y TPL por si quieres probarlos.

Un saludo y sorry por el ladrillo. : -P

Muff

"Por cierto, da gusto ver que alguien no pierde el tiempo jugando y lo dedica a programar por amor al arte. O eso parece en tu perfil."

Que razon tienes. : )

gF

Para mí lo más importante es que de suficiente información cuando hay algún error, preferiblemente que vaya resaltandotelo antes de compilar y no que no te salga nada y al compilar te salgan 1000000 mensajes de error.
Después que tenga un buen debugger para examinar el código y el valor de las variables etc...

Toma como ejemplo el Eclipse.

AtollOndrao_

#3, en principio opté por la solución del lenguaje Script. La función Eval lo hace todo. Pero por desgracia el entorno en el que programo tiene muy mala integración con ActiveX y hay tipos (Variant en concreto) que no soporta.
De ahí la necesidad de hacer una función. Pero vamos, ya la he terminado aunque con ciertas limitaciones que para el caso en el que lo aplico no tienen relevancia (operaciones con números negativos, por la cosa de distinguir un menos delante con un operador o con un número en negativo).

He estado viendo algo sobre tu lenguaje. La pena es no tener mucho tiempo, pq hace poco se me ocurrió hacer un traductor entre el lenguaje en el que programo y VB.NET. No tengo mucha experiencia en parsers, pero me has dado algunas ideas con tu proyecto. Aunque insisto, pena no tener más tiempo!!

D

haha k paxaaaa.

hazle xa linux mennn

A

Siento no haber puesto los binarios de Gcalc y de TPL pero no he tenido tiempo. He estado ocupado continuando mi IDE y éste es el resultado, de momento:
http://img457.imageshack.us/img457/1126/gcclv3.jpg

Gracias por las sugerencias.

Sobre lo de los parsers...

El mejor consejo que puedo darte es que te informes sobre parsers LALR y autómatas finitos. Existe un gran parser, portable, que genera árboles y tablas de estado para diferentes lenguajes, haciendo uso de gramáticas escritas en BNF. Échale un vistazo, merece realmente la pena:

http://www.devincook.com/GOLDParser

kas

Lo que mas valoro de un IDE creo que es una CORRECTA y COMPLETISIMA implementacion de lo que Microsoft denomina: IntelliSense.

Si habeis provado un VS2003/2005 sabreis de que hablo, cualquier otra cosa no vale nada.

Por otra parte, ademas de un auto-escritor-de-palabras-clave-y-variables, me gusta que sea capaz de "comprovar la sintaxis" sin tener que compilar. Es decir, lo que hace el compilador de VB.NET.

Considero que sin estas 2 cosas, la tarea de programar se dispersa en fijarse si if va con I mayuscula o minuscula.

ADEMAS!!! QUE TE PONGA EL ";" A FINAL DE LINEA!!! Eso cuando uses lenguajes cutres en los que se podria cambiar perfectamente el ASC(";") por el ASC("CR") + ASC("LF").

maRc

Opino igual que #9 respecto al IntelliSense.

Aunque estos días estoy utilizando Eclipse, y de momento me parece igual de bueno (o más) en ese aspecto que el VS. Y además, libre.

r2d2rigo

Hombre, el IntelliSense suele ayudar... pero yo prefiero algo de ayuda rapida, y no tanto autocompletar. Parece una tonteria, pero si lo usas durante unos 2 años, te acabas olvidando del lenguaje en si. A mi con un IDE que respete las tabulaciones y el colorado de sintaxis me sobra :P

ElRuso

Quiero anyadir a lo antearior dicho, que para mi en un IDE bueno tiene que haber posibilidad de hacer todo o casi todo sin usar el raton. Por el estilo de VI(M), no tan radical pero por el estilo.

IS4kO

Que se parezca lo más posible a VS-05 :)

  • Un buen Intellisense
  • Cuanto mas personalizable sea mejor
  • Que sea rápido a la hora de compilar
  • Capaz de leer y mostrar de forma simple y concisa las distintas conexiones, librerias, controles, objetos, ...

Salu2

Ninja-Killer

Te has creado un lenguaje de programación??? Juas el puto amo.

Pues para mi un IDE tiene que ser muy visual y dejarse de tantísimo código.

kas

#11 Opino que realmente no es el lenguaje el que importa (sintaxis) si no lo bien que sepas utilizarlo, organizarlo y explotarlo.

PD: Cuando doy curssos de programacion nunca recuerdo con que palabras clave se cierran los bucles ;)

SiCk

Saludos.
A mi personalmente me encanta el PHP Designer (en todas sus versiones, la 2006 buenisima, la 2007 de pago es cojonuda también). Si puedes hecharle un vistazo, sin duda te lo aconsejo para coger ideas.
En general:
1) Buen sistema de guardado / cargado de proyectos.
2) Ayuda facilita, rápida y automática y con muchos ejemplos.
3) Buen indexador (me refiero, un panel con la funciones, que hagas click y vayas, etc).
4) MUCHAS opciones, que cada uno use los colores que quiera, fuentes, etc.
5) Intelisense
Creo que no me dejo nada
Animo y ya nos dirás como va

AtollOndrao_

Después de trabajar con varios IDE, por decir sólo una de las cosas que más echo de menos en los que no lo tienen de los que sí lo tienen, me encanta seleccionar una función, dar botón derecho, pinchar "Ir a definición" y que me abra el código de la función. Eso te ahorra un huevo de tiempo respecto a los IDE que no lo tienen.

También el IntelliSense, sobre todo cuando llamas a una función y aparecen los parámetros y sus tipos.

Lo de que aparezca el número de línea me jode soberanamente. Aunque entiendo que la gente de web esté muy acostumbrada a ello. Pero yo no lo soporto xDDD

javithelong

No se si alguno de aqui conocerá el editor de texto emacs (linux)...

Algo que me encanta de el es que todo tiene atajos de teclado (mucho mas rápido) y que tiene una pequeña consola del sistema para no tener que ni minimizar el programa para compilar, ejecutar o lo que sea.

Pero lo que hecho de menos en todos los demas editores que he usado es la tabulación que tiene. Emacs te tabula las líneas automáticamente, sangrando hacia la derecha o hacia la izquierda según corresponda. Esto es muuuy cómodo.

No se que mas, a mi eso de que tenga mil botones, mil ayudas y mil mierdas me sobra ^^

AtollOndrao_

Coincido con #18 en lo del las teclas de acceso rápido. Yo en .NET cuando quiero contraer, descontraer código, ver la ventana Inmediato, etc. nada como las combinaciones de teclas. Eso es muy útil.
(Toma nota #1, te haremos de betatester xDD)

Usuarios habituales

  • AtollOndrao_
  • javithelong
  • kas
  • r2d2rigo
  • Archville
  • DeiX
  • gF