Translate

Mostrando las entradas con la etiqueta Noop. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Noop. Mostrar todas las entradas

viernes, 22 de agosto de 2014

Por que no funciono Noop?

Noop era un proyecto de google, un lenguaje que corria en la maquina virtual Java. Lo novedoso de este lenguaje era que el mismo lenguaje provee inyección de dependencias. Es decir el mecanismo de inyección de dependencias era soportado por el lenguaje. Por lo tanto un hola mundo sería:

import noop.Application;
import noop.Console;

class HelloWorld(Console console) implements Application {

  Int main(List args) {
    String s = "Hello World!";

    console.println(s);
    return 0;
  }
}

Donde console, sera inyectado por el contenedor.

Hasta ahora todo bien salvo que noop esta muerto. Pero como no estoy conforme con esa realidad, escribo este post. Noop me parece un buen lenguaje, fundado en una gran idea.

Normalmente pensamos que la buena y nueva funcionalidad va a venir de la mano de un framework, pero si es tan buena porque no lo provee el lenguaje o la plataforma?

Dejo link: http://code.google.com/p/noop/

miércoles, 8 de mayo de 2013

Que tiene que tener el lenguaje de programación perfecto?

Esta es una pregunta que se me ocurrió mientras leía sobre modularidad de Ceylon y me parece una gran idea. Que más se les ocurre?

Anoto mi lista y después voy agregando:

Modularidad similar a Ceylon
Funcional y objetos similar a Scala
Actores similar a Erlang o Scala
Closures,  Objetos, Reflexion similar a SmallTalk, Ruby, Scala, etc...
Inyección como noop
Recolector de basura
Interpolación de String: "Hello ${foo}"
Doctest de python
Bytecode como Java o SmallTalk o ...
Comprehensiones como Python
Contratos como Eiffel
Sintaxis muy limpia como python
Código se pueda leer y entender fácil y rápido
Fácil de aprender
Generador de documentación automático

Que más? que más? Me ayudan a organizar las características del mejor lenguaje?

sábado, 19 de septiembre de 2009

Noop

Noop es un nuevo lenguaje java que corre sobre JVM y además es de google. Este lenguaje tiene sintaxis similar a Java pero agrega algunas ventajas. Como por ejemplo la inyección de dependencias nativa en el lenguaje.

Su enfoque a la inyección de dependencias se basa en que una clase se puede crear de dos formas: a partir de objetos que el inyector puede proveer o a partir de a creación de dichos objetos en tiempo de ejecución ( usando new ), pero nunca a partir de una mezcla de ambos. Puedes leer los detalles de como piensan implementar esta funcionalidad en el wiki del proyecto.

Además del tema de Testability y la DI, Noop busca simplificar la programación para la JVM atacando casos comunes desde el core como la gestión de Nulls e impulsando las buenas prácticas de programación como favorecer la composición sobre la herencia. Características que a mi parecer lo hacen una opción interesante para mejorar la calidad de los desarrollos.


El proyecto esa en su fase inicial, pero ya puedes descargar la versión 0.1 para empezar a probarla. Algo interesante del lenguaje, es que además de proporcionar un intérprete para ejecución del lenguaje y un compilador a Byte Code (como lo hacen otros lenguajes de la JVM), también incluyen un "Traductor" cuyo propósito es generar código java a partir de Noop para permitir codificar en este lenguaje aunque tus proyectos sean 100% Java.