Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • lenguajes

    (Puntos:1)
    por excalibor (646) el Viernes, 04 Julio de 2003, 23:09h (#194944)
    ( http://barrapunto.com )
    El tema de los lenguajes es peliagudo, porque tiende a convertirse en una cuestión de dogmas...

    Para aprendera programar, y para seguir, yo recomendaría empezar con un lenguaje sencillo, pero potente, y después ir a lenguajes más potentes.

    El primer lenguaje debería ser Scheme, un dialecto muy especial de LISP (que es el segundo lenguaje aún en uso más antiguo, después de Fortran; y sin duda el más potente de todos (aunque Common LISP es bastante complejo)). Scheme es sencillo, aunque tiene constructos extremadamente potentes y complejos, pero se pueden hacer virquerías en poco tiempo; es ideal para aprender algoritmia y aunque permite programar en casi todos los paradigmas posibles, se presta especialmente a la programación funcional. Después de un tiempo puedes avanzar a las cosas gordas: macros y programación por paso de continuaciones (la verdad, esto es casi magia negra, pero ¡vaya! hay que quitarse el sombrero...).

    De hecho es tan sencillo que hay más de 30 implementaciones diferentes, la mayor parte de ellas excelentes y libres (y gratis); para casi todos los sistemas operativos que se te ocurran y de todo tipo (interpretadas, compiladas, empotradas, sobre máquina de Java, etc...)

    Si después de ponerte con el Scheme sigues teniendo curiosidad, Common LISP es el Gran Padre, lo vas a disfrutar de verdad.

    Perl es un lenguaje complicado, pero es tan potente y expresivo que casi una vez programas en Perl te cuesta programar en otra cosa (excepto, quizás, LISP y familia). Perl te enseñará cómo funciona el C, cómo funciona el AWK, cómo funciona la Shell, cómo funciona el UNIX, cómo funcionan las funciones, cómo funcionan las expresiones regulares (las más potentes que existen); cómo escribir programas completos en pocas líneas usando la mayor colección de módulos y librerías libres que existe (CPAN), cómo funcionan todos los paradigmas de programación (incluso mezclados a la vez, si te atreves) y básicamente cómo funciona el lenguaje y la comunicación en sí misma, y lo que es una Comunidad de software libre y desinteresada.

    Si aún sigues teniendo curiosidad y te apetece atacar más puntos de vista, los más potentes lenguajes están ahí fuera, esperándote: OCaml, Haskell y Erlang. Programación funcional orientada a objetos, funcional a lo bestia, y funcional concurrente. El Erlang es posiblemente el lenguaje funcional más usado, pues lo inventó Ericsson para programar sus centralitas y equipos. Es potentísimo y tiene el modelo de concurrencia más potente que existe hoy en día (creo). Haskell es programación funcional a lo bestia, como con SML. Es realmente potente, y si te gusta cómo se piensa en Haskell, tendrás potencia de sobra para enfrentarte a cualquier cosa. OCaml, la extensión al Caml con OO es lo que debería haber sido el C++ o el Java. Potencia expresiva y una capacidad de abstración alucinante.

    Programar en estos lenguajes tiene algo peculiar: es realmente divertido. No sólo potente, divertido.

    ¿Que quieres más? Yo seguiría aprendiendo Python, Ruby y Tcl/Tk. Python es casi tan potente como Perl, con una filosofía muy diferente, a mucha gente le gusta y tiene mucha ingeniería de software detrás. Ruby es nuevo, pero muy elegante, OO en todo, pero muy expresivo y limpio... Quizás es lo que Python habría sido si hubiese empezado OO desde el principio, sin embargo Python tiene bastante de funcional... Tcl/Tk es sencillo, muy sencillo, extremadamente potente y expresivo, genial como lenguaje de pegamento y un clásico: se puede aprender realmente mucho del Tcl y Tk es el GUI de facto en todos los lenguajes Unix (suplantó al Motif, que era C, y ahora se pega con Qt y Gtk+, que le están comiendo terreno...)

    Si quieres profundizar todavía más en Unix, estudia C, vale para todo, con un precio, claro, pero vale para todo. El C++ es un lenguaje tremendamente potente, pero tremendamente complicado. Si sabes algo, intenta ponerte al día con el estándar ANSI/ISO y la programación genérica; si no lo conoces, quizás no te valga la pena ya... Java está psé, psé... prefiero usar Scheme sobre la JVM :-)

    En fin, de hecho aprender nunca está de más, mientras más herramientas, mejores elecciones podremos hacer para resolver un problema...

    Pero mi orden sería: Scheme, Perl, el resto...

    buena suerte,
  • 1 respuesta por debajo de tu umbral de lectura actual.