Dart, el JavaScript de Google

Publicado el 11 octubre 2011 por Andresxmadrigal @andresxmadrigal

Dart, el lenguaje de programación estructurada para la web creado por Google, aqui veremos algunos aspectos generales.Diseño.Dart es un proyecto de código abierto en etapas tempranas de desarrollo que se irá presentando poco a poco a la comunidad, al estilo de lo que sucedió con el lenguaje Go, también creado por Google (a punto de alcanzar la versión 1.0, por cierto).

Estos son los objetivos de diseño del nuevo lenguaje:
  1. Hacer un lenguaje para la web estructurado y flexible a la vez. “Estructurado” en el sentido general del término, donde los programas son creados a partir de estructuras de control básicas, teniendo como resultado código claro y ordenado. Sin embargo, Dart es un lenguaje
    • puramente orientado a objetos y todo lo que esto implica,
    • donde el tipo de los datos se establece de forma dinámica o estática, a decisión del programador.
  2. Proveer una sintaxis familiar para los programadores experimentados. Sin duda, para reducir la pendiente de la curva de aprendizaje.
  3. Que las aplicaciones creadas con Dart tengan un gran desempeño y se programen en poco tiempo.
  4. Hacer que Dart esté orientado a múltiples dispositivos, desde smartphones hasta servidores, pasando por tablets y netbooks.
  5. Hacer que Dart funcione sobre cualquier navegador web moderno, tal como JavaScript. De hecho, Dart puede ejecutarse sobre su propia máquina virtual, o bien, encima de un motor JavaScript.
Sintaxis.Esto no es pseudo-lenguaje C; es Dart con la definición de la función Fibonacci arriba del código y una función principal que controla la ejecución.int fib(int n)
  if (n < = 1) return n;
  return fib(n - 1) + fib(n - 2);
main()
  print('fib(20) = $fib(20)');
}

Ahora una clase y una función principal para calcular la distancia entre dos puntos en un plano X-Y: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)');
}

Más familiar para un programador tradicional que conoce lenguaje C/C++, Java, PHP, y similares, no puede ser. Por lo demás la sintaxis es limpia, pero no tanto como en Python o Go.Para aprender Dart encontramos una pequeña guía de estudio, aunque la especificación del lenguaje debiera ser suficiente para comenzar a trabajar.