Tak skal du have Kenneth.
Jeg vil nødigt gå ind i en diskussion om statiske kontra dynamiske sprog – og heldigvis behøver jeg ikke vælge, da det for mig at se handler om “right tool for the job” alt efter hvad man laver.
Det smarte ved TypeScript er at det er et superset og at det altså er valgfrit i hvilket omfang man vil benytte sig af de forskellige features sproget tilbyder – som eksempelvis typesystemet. Det begrænser på ingen måde muligheden for at skrive dynamisk Javascript, hvis ikke man ønsker det. TypeScript giver desuden nogle af de samme ting som JSLint, og gør at man ikke behøver nogle af de mønstre vi ellers hele tiden gentager, fordi vi får abstraktioner som classes og interfaces som en del af sproget.
Vi kan blive enige om at man kan skyde sig selv i foden ligegyldigt hvilket sprog man benytter, så der er ikke nogen erstatning for at skrive god kode. Jeg er til gengæld ikke enig i at det skal betyde at der ikke er gevinster ved static typing eller at man ser mere dårlig kode skrevet i statisk typede sprog. Skal jeg argumentere for noget er det nærmere at hvis man overtager noget dårlig kode, så vil jeg foretrække at det i det mindste er skrevet i et typestærkt sprog.
Jeg tror du misforstår min kommentar omkring frontend udviklere med en baggrund i php, ruby eller andre platforme. Det er ikke noget problem at lave en ordentlig arkitektur fordi man er et team af udviklere med forskelligt fokus – det gør vi hele tiden. De forskellige kompetencer giver derimod et stærkt team og man får mulighed for at lære af hinanden. Min pointe går på at gøre det lettere at “mødes på midten” og have nogle værktøjer som alle har glæde af.
Ja, de nye async features er rigtigt lækre