¿Quién está detrás de Dart?

Aquí hay una lista de algunas de las muchas personas que trabajan en Dart:

Gilad Bracha

En los años 90, Gilad junto con Urs Hölzle, Lars Bak y otros crearon una implementación Smalltalk de alto rendimiento llamada Strongtalk. Una cosa muy singular de Strongtalk es que admite anotaciones de tipo gradual. Un concepto que llevaría muchos años alcanzar la popularidad principal y ahora se puede encontrar en Dart, Hack / PHP, Python 3 y TypeScript.

Después de que Sun Microsystems adquiriera su compañía, la creciente popularidad de Java desafortunadamente llevó a detener los esfuerzos de Strongtalk.
El equipo fue reasignado para mejorar Java. Su implementación de Smalltalk se convirtió en Hotspot, que ahora es la máquina virtual Java oficial y Gilad fue coautora de las especificaciones para el lenguaje Java y la máquina virtual Java.

Afortunadamente, la fascinación de Gilad con las anotaciones de tipo gradual y el diseño del lenguaje en general no desapareció después de trabajar en Java y se unió a Cadence Design Systems para crear Newspeak, un lenguaje de programación moderno orientado a objetos inspirado en Self & Smalltalk. Nuevamente con soporte para anotaciones de tipo gradual. Lamentablemente, los fondos para Newspeak se agotaron en 2009.

Pero cuando una puerta se cierra, otra se abre y Gilad se unió a Google y se reunió con Lars et al para trabajar en un ambicioso proyecto para crear un nuevo lenguaje y plataforma para la web llamada Dart.

Aquí está la charla QCon San Francisco de Gilad sobre la deconstrucción de la programación funcional.

Lars Bak

Lars es el creador de varias máquinas virtuales de alto rendimiento para lenguajes de programación populares como Smalltalk (Strongtalk), Java (HotSpot), JavaScript (v8) y Dart.

En este momento, es difícil imaginar cómo sería el estado actual de los tiempos de ejecución de JavaScript si Chrome v8 no hubiera entrado en el mercado. Lars se centró muchos años en mejorar el rendimiento de v8 mientras se mantenía fiel a las restricciones semánticas de JavaScript.

Eventualmente, sintió que era hora de seguir pasos más audaces si la web como plataforma quiere seguir siendo competitiva en comparación con las alternativas nativas como iOS y Android.

Al fundar el proyecto Dart, finalmente tuvieron la oportunidad de no solo cuestionar sino cambiar muchas de las decisiones fundamentales de diseño de JavaScript y explorar cómo se sentiría un lenguaje y tiempo de ejecución si estuviera diseñado para la web tal como lo conocemos hoy.

Aquí hay un breve video de 2008 de Lars que explica v8 y cómo han logrado crear un tiempo de ejecución rápido de JavaScript.

Kasper Lund

Kasper también trabajó en Sun Microsystems y se centró en CLDC Hotspot, una versión de Java Virtual Machine optimizada para teléfonos móviles y entornos similares.

En 2002, Kasper y Lars fundaron una compañía llamada OOVM para explorar más a fondo los desafíos de construir máquinas virtuales integrables de alto rendimiento para lenguajes orientados a objetos. Si bien en ese momento el móvil ya era un espacio súper interesante, todavía era anterior al iPhone (2007) y era difícil comprender la importancia que tendrían los tiempos de ejecución optimizados para móviles y móviles.

Finalmente se unieron a Google para trabajar en un proyecto que sacudiría el mercado de los navegadores; el navegador Chrome y su tiempo de ejecución de JavaScript v8. Kasper fue el líder tecnológico de Crakshaft, una infraestructura de compilación optimizada para v8 que se lanzó en 2010 y que utilizó la retroalimentación de tipo para mejorar drásticamente el rendimiento de JavaScript de Chrome.

Encuentro su entusiasmo por la cordura de los desarrolladores y cómo las herramientas pueden ser muy inspiradoras y Kasper ha dado bastantes charlas y entrevistas sobre este tema a lo largo de los años y ese aspecto realmente se nota cuando trabajas con Dart a diario.

Aquí hay una entrevista con Kasper sobre plataformas y productividad del desarrollador de la conferencia GOTO 2012 en Copenhague.

Bob Nystrom

Bob fue desarrollador de juegos en Electronic Arts y es autor de Game Programming Patterns. Tiene un enfoque muy pragmático para los lenguajes de programación y realmente le importa cómo se diseña y se siente el software en el día a día.

Es el autor de la Guía de estilo de Dart y responsable de muchos de los valores predeterminados y recomendaciones que dan forma a la experiencia de escribir y leer el código Dart. Recientemente también ayudó a formalizar el proceso de cómo se gestionan las propuestas para mejorar Dart (similar a las PEP de Python).
Un artefacto adicional en el que Bob trabajó es el sistema de administración de paquetes de Dart, que está inspirado en el npm de JavaScript y el paquete de Ruby. Otro es el hecho de que puede usar Markdown en los comentarios de Dart, lo que hace que escribir y leer una excelente documentación en línea sea mucho más fácil.

Estas cosas forman los pequeños y grandes detalles de la experiencia diaria de Dart que solo notas cuando trabajas en otros idiomas que te equivocaron o no los tienes en absoluto. En ese sentido, me gusta pensar en Bob como el maestro de mazmorras de Dart. Mantiene las cosas en orden.

Aquí hay una charla de Bob sobre Dart y cómo se relaciona con varios lenguajes de programación de StrangeLoop 2014.

Vyacheslav Egorov

Vyacheslav trabajó en Excelsior JET, una implementación de máquina virtual Java de terceros totalmente compatible que incluye un compilador AoT (adelantado).
Más tarde se unió a Google para trabajar en el tiempo de ejecución de JavaScript v8 de Chrome y ahora trabaja en la canalización de optimización para Dart VM.

Vyacheslav regularmente da charlas perspicaces y entretenidas sobre el rendimiento de la máquina virtual. Si está interesado en cómo se diseñan las máquinas virtuales JavaScript en los navegadores modernos y cómo la máquina virtual Dart puede ser aún más rápida, asegúrese de revisar sus charlas.

Aquí habla sobre v8 y el Dart VM de Dart Flight School 2014 en Oslo.

John McCutchan

John es el creador de inotify. Contribuyó al proyecto Gnome, así como al motor de física Bullet. Antes de unirse al equipo Dart, trabajó en la optimización del rendimiento del juego PlayStation en Sony Computer Entertainment.

Recientemente, John agregó soporte SIMD a Dart (y EcmaScript) y actualmente trabaja en el Observatorio, que es un generador de perfiles avanzado para aplicaciones Dart.

Aquí hay una charla de John donde explica lo que puede hacer con el Observatorio de Dart y cómo mejorar el rendimiento de su aplicación al usarlo.

Peter von der Ahé

Peter es un ingeniero de compilación de primera clase y un entusiasta de herramientas versátiles.
De vuelta en Sun Microsystems, fue el líder tecnológico de javac (compilador Java de Sun). Durante ese tiempo, junto con Gilad, Gafter y Gosling, redactó una propuesta para agregar cierres a Java 6.

Peter también hizo un gran esfuerzo para hacer que los IDE de Java sean más potentes y Java en sí mismo más intolerable. Por último, pero no menos importante, fue un ávido defensor del código abierto de JDK, no es poca cosa.

Actualmente Peter está trabajando en cosas como soporte de compilación incremental para Dart, así como en un tiempo de ejecución experimental de Dart llamado fletch.
Aquí hay una breve demostración de Peter que muestra una prueba de concepto para la compilación incremental y los cambios de código que se envían al navegador.