[eside-ghost] Language of choice. Era Re: c# y VB .net
Alfredo Beaumont
alfredo.beaumont en gmail.com
Sab Mar 14 17:36:04 CET 2009
Saturday 14 March 2009(e)an, Jon Valdés(e)k idatzi zuen:
> Alfredo Beaumont wrote:
> > Asistí hace unos años a una charla de Juanval muy interesante sobre
> > haskell. Era una charla introductoria pero no sé si él lo utiliza para
> > cosas más serias.
>
> Juas, no, estuve leyendo info de Haskell puramente como técnica de
> brain-training (los Monads de Haskell me tuvieron loco durante casi un
> mes, y no llegué a entenderlos del todo), y de todo eso salió una charla
> un poco extraña (no me gustó demasiado el resultado :-S
Hehe, pues a mí ya me gustó :-)
> El asunto es que para los que únicamente hemos estudiado Pascal, C++,
> Java y tal, los lenguajes funcionales hacen que tengas que exprimirte
> bastante el cerebro para poder entenderlos, pero cuando empiezas a
> entender, todo "encaja". Todo parece natural y perfecto, y "tal y como
> debería ser" :)
>
> > Yo utilizo dos lenguages en 'producción' (esto es muy subjetivo - un
> > script de emacs lisp es producción?), aunque en realidad son
> > multiparadigma, lisp (sobre todo common lisp) que es parcialmente
> > funcional y factor que es concatenativo (se podría decir que eso es
> > antifuncional, pero a nivel práctico el funcionamiento es similar). Me
> > gustan porque son muy potentes y se integran muy bien con emacs, creando
> > en entorno muy interactivo.
>
> Dioooos Factor nooo. Después de la prueba del hackit que hiciste el año
> pasado, no pienso usarlo nunca xDDD
Hombre, si ya has hecho lo más difícil, una vez conoces el entorno va todo
fluido :-D. Igual hay que hacer otro level para forzarte a ver la luz :P
> > Lógicamente no los puedo utilizar más que en un número reducido de
> > proyectos, utilizo factor sobre todo para scripting, pero creo que serían
> > mis languages of choice.
> >
> > De los lenguajes que se comentan, creo que smalltalk está obsoleto (más
> > que el lenguaje, las implementaciones), haskell no me gusta porque su
> > purismo lo hace 'impractico'. Creo que lenguages funcionales más
> > interesantes a nivel práctico son erlang y ocaml.
>
> A mi lo que me intriga es que los lenguajes funcionales son
> hiperpotentes para trabajar con datos y tal... pero luego... cómo creas
> una ventana con un par de botones y dos tablas en haskell, common lisp,
> ocaml, scheme, o lo que sea?
Hmmm, pues en principio como en cualquier otro lenguaje... No conozco como lo
hacen en haskell, al ser un lenguaje funcional puro puede ser un tanto
complicado encajarlo, al igual que la entrada/salida.
Sin embargo en el resto de lenguajes funcionales mortales no veo por qué
habría de ser un problema. En Common Lisp por ejemplo hay incluso una
especificación de interfaces[1], que en su día era muy innovadora, aunque se
le van notando los años. Ésta se integra perfectamente en el lenguaje. En
factor hay un sistema gráfico basado en cierta medida en clim.
De todas formas sí que es cierto que en general el desarrollo de aplicaciones
gráficas no está muy extendida entre estos lenguajes. Yo creo que es por dos
razones. Las interfaces gráficas están desarrolladas en lenguajes mainstream,
y es más sencillo desarrollar en estos lenguajes o en bindings de lenguajes
similares. Quizás es más fácil tirar de QtRuby, y utilizar las características
funcionales de ruby que hacer o usar bindings incompletos en otro lenguaje.
Piensa que ni siquiera lenguajes tan extendidos como Java o C# tienen/han
tenido bindings decentes para Qt hasta hace poco. Tampoco costaría hacer mucho
bindings para Qt en Common Lisp, pero las comunidades son bastante
tangenciales. Por eso hay por ejemplo una integración brutal con emacs pero
unos pobres bindings para Qt.
Por otro lado creo que en una aplicación gráfica no es donde se nota mayor
diferencia entre un lenguaje y otro (al menos en la parte gráfica). Por eso
tiene mucho más sentido por ejemplo que el sistema de chatting de facebook
esté desarrollado en erlang que desarrollar una aplicación para KDE en erlang.
> Vamos, que para crearte un parser o un transformador de xslt me creo que
> tienen que ser la leche. O para temas de IA (Scheme tiene directamente
> un operador de backtracking como parte del lenguaje...). Pero para
> aplicaciones del día a día los veo un tanto extraños.
>
> Vamos, que me consta que hay bindings de GTK para haskell y cosas así
> (hay hasta bindings de OpenGL...), pero no veo cómo sería la estructura
> de un programa con GUI en un lenguaje funcional.
Hmmm, yo no veo que haya ninguna dificultad intrínseca en los lenguajes
funcionales no puros para desarrlooar aplicaciones gráficas.
> Taluegooo
Aiooo
[1] http://www.mikemac.com/mikemac/clim/cover.html
--
Alfredo Beaumont Sainz
http://www.alfredobeaumont.org/blog.cgi
Más información sobre la lista de distribución eside-ghost