lunes, 10 de octubre de 2011

Google Dart



Como habíamos dicho el post anterior google presento su nuevo lenguaje como alternativa a Javascript. Dart tienen las siguientes características:


  • basado en clases, herencia simple con interfaces
  • tipado estático opcional
  • un hilo de ejecución
  • lexico similar a Javascript
  • funciones Lambda (x) => x
  • recarga de operadores
  • interpolación de String: "Hello ${foo}"
  • multiproceso basado en actores


Veamos un ejemplo:


main() {
   var name = 'World';
   print('Hello, ${name}!');
}


Simple. Veamos como escribir la función que calcule la secuencia de figonacci:


int fib(int n) {
   if (n <= 1) return n;
   return fib(n - 1) + fib(n - 2);
}


main() {
   print('fib(20) = ${fib(20)}');
}


Veamos un ejemplo con clases:


class Point {
  
  Point(this.x, this.y);
  
  distanceTo(Point other) {
    var dx = x - other.x;
    var dy = y - other.y;
    return Math.sqrt(dx * dx + dy * dy);
  }
  
   var x, y;
}


main() {
  Point p = new Point(2, 3);
  Point q = new Point(3, 4);
  print('distance from p to q = ${p.distanceTo(q)}');
}


Por lo poco que leí no tiene mayor innovación, es un lenguaje con algunas mejoras ante javascript. Pero no creo que sea capaz de desplazarlo.


Dejo links: 
http://www.dartlang.org/
http://www.dartlang.org/docs/getting-started/
http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html