Lenguajes estudiados:
Scala: Reune varios paradigmas en una forma elegante
Interprete/Compilador
http://www.scala-lang.org/
Ruby: Un apróx a un OOP Puro, es notable la influencia de lenguajes como SmallTalk, Lisp y Python.
SmallTalk busca ser un lenguaje humanamente entendible, por igual, Ruby desea ser lo más natural posible según sostiene Matz su autor, intentando tener un aspecto simple con una gramatica más corta comparada con lenguajes como JavaScript y Python, pero, internamente más compleja.
Al visualizar la gramatica de Ruby en GraphViz, se puede ver un nodo llamado primary él solo, engloba la gramatica de las expresiones del lenguaje, es interezante comparar las gramaticas visualizandolas como grafos, es un poco como ver la mente del diseñador. Me gustaria estudiar más detalladamente la Gramatica de Scala, F# y Ruby
Por ahora la implementación C es un poco lenta, pero a medida Ruby se ha hecho popular hay más gente estudiando nuevas posibilidades, como la de una maquina virtual para Ruby, o bien, Ruby.Net, o bien implementar Ruby on Ruby, incluso encontré un proyecto llamado RType hecho en Haskell.
Python:
PyPy es un proyecto llamativo, es una implementacion de Python en Python. Pienso que gracias a Ruby proyectos como Python, Haskell, Groovy están llamando la atención de la gente que desea probar nuevas alternativas
http://www.ruby-lang.org/es/
Lua: Un lenguaje pequeño, usando justo lo necesario.
Es mucho más fácil de aprender que Python o Ruby
http://www.lua.org/
Suscribirse a:
Enviar comentarios (Atom)
1 comentario:
Definitivamente un prompt interactivo para probar codigo hacen la programacion mas divertida. Es esta una de las razones por la cual me he enamorado de Python.
Es mi mejor fuente de referencia del lenguaje, todo de lo que no estoy seguro siempre lo pruebo primero en el prompt, y en el caso de Python las palabras magicas que mas utilizo en esa linea de comando para leer la documentacion de los objetos y que pueden hacer son:
dir(obj)
Para ver todas las propiedades de un objeto
help(obj)
help(obj.metodo)
Para ver la documentacion
id(obj)
hex(id(obj))
Para ver la direccion de memoria de un objeto, o metodo
print obj
Para imprimir un objeto
Publicar un comentario