#33 Es entre una buena idea y una pataleta.
La idea era usar ES6 para escribir angular (ya todos los nuevos frameworks están siendo escritos en ES6, es la evolución lógica).
ES6 hace 1~ año o así pues se anunció con ciertas features, como por ejemplo anotaciones y Object.observe. El equipo de Angular ya tenía en mente que iba a usar anotaciones como algo muy principal en Angular 2, y ya contaban con ello.
Un dia pues los responsables de los draft de ES6 deciden que anotaciones ya no va a entrar en ES6, así que el equipo de angular decide crear un nuevo lenguaje basado en ES6 llamado ES6++, básicamente ES6 + anotaciones. Posteriormente se le cambió el nombre a AtScript.
Han estado programando Angular 2 usando este AtScript.
Un día los de Microsoft que tontos no son dijeron... ¿qué podemos hacer para que TypeScript coja más tirón del que tiene ahora? Dijeron: Oye google, ¿qué tal si añadimos esas anotaciones que tanto queréis en TypeScript? Es un win-win, microsoft consigue que su lenguaje sea usado por miles de nuevos usuarios, y angular no tiene que crear un nuevo lenguaje de programación.
Así que a dia de hoy angular2 se está reescribiendo en TypeScript.
Dejar claro que ni antes con AtScript ni ahora con TypeScript, están forzando a nadie a usarlos para programar angular 2. Puedes usar ES5, ES6 o TS.
Los navegadores nunca van a soportar TS, pero con TS 1.5 (el cual tiene soporte completo para ES6) puedes generar código ES6 con TS para cuando los navegadores ya tengan buen soporte (así que mientras tanto ES5).
Échale un ojo a un artículo que escribí hace un par de semanas: http://angular-tips.com/blog/2015/05/an-introduction-to-angular-2/
Verás que ahora Angular 2 es bastante bastante más simple (y más elegante). Fijate que usa "fetch" para los xhr (es una librería nativa de ES6) y no hay más $apply.