Citat:
Det största problemet jag ser med TypeScript är att utvecklare generellt är mindre produktiva i det samt att det orsakar mer buggar. Och nu kanske någon tänker: "va? hela marknadsföringen kring TypeScript är att det ska generera mindre buggar och öka produktiviteten". Problemet med varenda research paper jag har läst är att:
1. Ofta är det Microsoft eller någon organisation som tjänar pengar på TypeScript som står bakom. Oberoende undersökningar är extremt viktigt för att över huvud taget kunna lita på siffrorna.
2. Det har varit ett ett litet urval. Det kommer alltid finnas teams, organisationer som lyckas bättre i diverse programmeringsspråk än andra. Det betyder inte att språket är bättre eller sämre.
3. Antalet buggar tar inte hänsyn till tiden eller kompetensen. Tar det 50% av tiden att programmera ett system i JavaScript och sedan 20% på buggar är det bättre än 100% i JavaScript och 10% på buggar.
När jag själv gjorde research så hittade jag denna som den mest kompletta undersökningen: https://arxiv.org/abs/2203.11115
Analyserar man siffrorna mer på djupet, förutom att TypeScript skapar mer buggar överlag per tidsenhet så ser man tydligt att TypeScript är betydligt värre:
1. TypeScript lurar utvecklaren att det är typat. TypeScript har inga "typer". Annotations är inte samma sak som typer. Typer kan du lita på. Annoteringar aldrig.
2. Personer som saknar större kunskaper i ECMAScript tror att "det ser ungefär ut som Java/C++/C#" och tillsammans med kompilatorn tror att koden har ett visst beende. Det stämmer ofta, men inte alltid.
3. Buggar uppstår sakta men säkert p.g.a utvecklaren i sin naivitet och inkompetens trodde sig kunna lita på annoteringar.
Detta samtidigt med att all utveckling i TypeScript går betydande långsammare än motsvarande utveckling i JavaScript. Vissa företag går utvecklingen 60% långsammare medan andra är det bara 20%. Men långsammare går den definitivt. Detta där dessutom det ofta genererar mer buggar också, så företaget betalar för långsammare utvecklingshastighet samt mer buggar. Helt otroligt.
Ett annat problem är att det kommer troligtvis aldrig bli standard JavaScript heller. Sista mötet vid type-annotations förslaget i ECMAScript committee(n) gick det inget vidare. Microsoft killarna Gil & Daniel har misslyckas med att ge ett enda bra argument att det ska bli standard. Så själva tekniken är en säkerhetsrisk i sig själv också. Man vill som företag att programmeringsspråket ska vara någorlunda framtidssäkert. Det är inte TypeScript.
Slutsatsen är att om man vill köra typat så kompilerar man koden till WebAssembly, som är typat eller så kör man JavaScript när det gäller web. TypeScript är förbjudet på företaget jag arbetar på. Det saknar fullständigt något syfte.
1. Ofta är det Microsoft eller någon organisation som tjänar pengar på TypeScript som står bakom. Oberoende undersökningar är extremt viktigt för att över huvud taget kunna lita på siffrorna.
2. Det har varit ett ett litet urval. Det kommer alltid finnas teams, organisationer som lyckas bättre i diverse programmeringsspråk än andra. Det betyder inte att språket är bättre eller sämre.
3. Antalet buggar tar inte hänsyn till tiden eller kompetensen. Tar det 50% av tiden att programmera ett system i JavaScript och sedan 20% på buggar är det bättre än 100% i JavaScript och 10% på buggar.
När jag själv gjorde research så hittade jag denna som den mest kompletta undersökningen: https://arxiv.org/abs/2203.11115
Analyserar man siffrorna mer på djupet, förutom att TypeScript skapar mer buggar överlag per tidsenhet så ser man tydligt att TypeScript är betydligt värre:
1. TypeScript lurar utvecklaren att det är typat. TypeScript har inga "typer". Annotations är inte samma sak som typer. Typer kan du lita på. Annoteringar aldrig.
2. Personer som saknar större kunskaper i ECMAScript tror att "det ser ungefär ut som Java/C++/C#" och tillsammans med kompilatorn tror att koden har ett visst beende. Det stämmer ofta, men inte alltid.
3. Buggar uppstår sakta men säkert p.g.a utvecklaren i sin naivitet och inkompetens trodde sig kunna lita på annoteringar.
Detta samtidigt med att all utveckling i TypeScript går betydande långsammare än motsvarande utveckling i JavaScript. Vissa företag går utvecklingen 60% långsammare medan andra är det bara 20%. Men långsammare går den definitivt. Detta där dessutom det ofta genererar mer buggar också, så företaget betalar för långsammare utvecklingshastighet samt mer buggar. Helt otroligt.
Ett annat problem är att det kommer troligtvis aldrig bli standard JavaScript heller. Sista mötet vid type-annotations förslaget i ECMAScript committee(n) gick det inget vidare. Microsoft killarna Gil & Daniel har misslyckas med att ge ett enda bra argument att det ska bli standard. Så själva tekniken är en säkerhetsrisk i sig själv också. Man vill som företag att programmeringsspråket ska vara någorlunda framtidssäkert. Det är inte TypeScript.
Slutsatsen är att om man vill köra typat så kompilerar man koden till WebAssembly, som är typat eller så kör man JavaScript när det gäller web. TypeScript är förbjudet på företaget jag arbetar på. Det saknar fullständigt något syfte.
Vad jämför du med?
Det är troligen så att det tar längre tid att skriva ett program i Typescript jämfört med att trycka ut det snabbt i JS men då få ett antal buggar.
Att utveckla i TS - tar längre tid men det blir färre buggar i runtime.
Den enda källan du har säger dessutom inte det du påstår.
https://arxiv.org/abs/2203.11115
Citat:
The analysis indicates that TS apps exhibit significantly better code quality and understandability than JS apps. Contrary to expectations, however, bug proneness and bug resolution time of our TS sample were not significantly lower than for JS
Citat:
Our results indicate that the perceived positive influence of TypeScript for avoiding bugs in comparison to JavaScript may be more complicated than assumed. While using TS seems to have benefits, it does not automatically lead to less and easier to fix bugs.
Förstår inte hur du kan läsa ovanstående och sen påstå att det är fler buggar i JS-projekt jämfört med TS-projekt.