2023-10-30, 21:06
  #37
Medlem
Mia-Rovys avatar
Citat:
Ursprungligen postat av datalog
TS är inte alls ett superset av JS. Nedanstående kod är giltig JS och går att köra direkt i Node, men du kommer få ett fel om du försöker kompilera/köra det som TS.
Kod:
function Test() {
    this.someString = "Hello";
}
const test = Test();
console.log(someString); // "Hello"
Nej, du kan ignorera varningarna om du vill. Koden kommer gå alldeles utmärkt att både transpilera och köra

Så du kan t.ex. välja att visa felen i din editor, men ändå låta det transpileras till JS och köra det precis som vanligt.

Poängen är du kan bli varnad du skriver koden (eller vid bygge/transpilering, om man nu vill).

Det är helt upp till dig. Vad TS gör är att ge dig möjligheten att få typsäkerhet, om du vill. Vill du inte ha någon säkerhet eller smarta verktyg så går det precis lika bra.

Men det är ju bara dumt att inte använda verktyg som ökar din säkerhet och produktivitet om du har möjligheten att göra det

Och ja, ”Jag fattar inte” är en fullt giltig orsak. Och det är absolut inget illa menat, jag fattade såklart inte heller allt i början. Det är en som alltid en inlärningskurva, men som är utan tvekan värt det, enligt mig.

Genom att slappa på typer på ställen där jag har varit anställd har jag blivit kallat ett geni, bra på att felsöka, sätta mig in i koden och ordna fram verktyg för de andra anställda. Utan att ”vilja” skryta för mycket så anses vara utomordentligt tekniskt kunnig med de jag jobbar med. Men vafan, jag sätter ju bara korrekta jävla typer på skiten och allt blir självklart😂 Gäller även 100% TS-projekt, för att jag är en typ-nazi. Editorn säger till mig ”Öh! Det kan bli fel här!” och CoPilot skriver färdigt en väldigt väl integrerad funktion eller en boilerplate genom att jag bara skriver funktionsnamnet.

Men någon trött förlegad papper-och-penna-utvecklare blir såklart alltid arg för att det är ”önödigt” och han minsann hade kunnat komma på det själv om chefen gav honom en vecka att undersöka det. Men det är väl oundvikligt när någon har tappat glöden

- ”Jaha! Men CoPilot och andra verktyg funkar delvis utan typer med!!’€%]^+]> Bögar!
- Jo, visst! Men det funkar ännu bättre med!

- ”Jaha! Men AnnatSpråk har också typer! Död åt nymodigheter! Piss och bajs!
- Jo, visst! Men du behöver ändå JS för att kunna köra det i en webbläsare. Skriva koden en eller flera gånger? Det är helt upp till dig, men jag gillar att inte behöva upprepa mig

- ”Jaha! Men AnnatSpråk kan nästan också typ konverteras till någonting liknande men i JS! Heil Hitler! Kukhoror! Putin! Trump!”
- Jo, visst! Men det är inte JS. AnnatSpråk har förmodligen andra regler, vilket gör TS bättre - för att det är samma språk, bara med några striktare extra regler (som alla följer JS regler)

Jag antar att den panikslagne användaren Ehandel med sina ålderdomliga verkyg kommer att kalla mig dum i huvudet och okunnig nu för att jag inte använder papper och penna och matar in i en faxmaskin. Men marknaden lär inte hålla med…

Men jag tackar dig, Ehandel! Det är sådana som dig som får mig att framstå som ett geni❤️
__________________
Senast redigerad av Mia-Rovy 2023-10-30 kl. 22:00.
Citera
2023-10-31, 00:22
  #38
Medlem
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.
__________________
Senast redigerad av trellen 2023-10-31 kl. 00:45.
Citera
2023-10-31, 08:59
  #39
Medlem
fittplytes avatar
Citat:
Ursprungligen postat av Enterprise
Köra C# i webbläsaren? Du menar väl ändå att kompilerad C#-kod körs på serversidan och spottar ur sig innehåll som webbläsaren på så sätt kan ta till sig, alltså HTML/CSS/JS och olika former av media.

Alltså att C# (med detta framework) ungefär fungerar som PHP (med motsvarande framework).
Ja. Han har bevisligen ingen koll alls. Fortsätter jiddra om att C# körs i webbläsaren
Citera
2023-10-31, 09:03
  #40
Medlem
fittplytes avatar
Citat:
Ursprungligen postat av Ehandel
Är du en jubelidiot eller bara ett helt fuckat troll?

Nu snackar vi C# vs JS.
Givetvis render det HTML och CSS. Det har INGET med saken att göra. SAMMA gör JS.

Poängen är du kan köra C# i webbläsaren istället för JS.
Nej ingen jävla översättning. Utan ren och skär C# i DIN FUCKING WEBBLÄSARE din JÄVLA JUBELIDIOT.

Spendera 10min på deras documentation eller youtube så kanske du lär dig. Du kan EXEKVERA C#-kod I WEBBLÄSAREN med bl.a. RAZOR PAGES och BLAZOR.

GÅ IN på deras youtubekanal som heter dotnet, och kolla där. Så kan du hålla tyst sen. Razor Pages har haft detta i flera år. Nu har de gått över till Blazot och storsatsat där senaste åren.

https://youtu.be/QD2-DwuOfKM?t=8m30s

Finns massvis med videos de laddat upp senaste åren. T.o.m. livestreams där de kodar fullstack appar i C#, ingen JS
Sorry, du har noll koll. Det är du som borde titta lite mer på videos om webbutveckling. Inte vi.
C#'s hela syfte i webb är att rendera HTML, CSS och JS som tolkas av webbläsaren. Du säger "SAMMA gör JS", och där har du fel. Visst kan man skriva domnoder med JS om man vill, men det är inte det JS används till, alls.
C# körs helt enkelt inte i webbläsaren. Alls. "din JÄVLA JUBELIDIOT" för att citera en arg oldfashion-utvecklare.
Jag har utvecklat många system i både Aurelia/Angular/React/Vue/Blazor server+wasm/asp.net. Har du? Och om du svarar ja så blir du härligt paradoxal - du som dissar TS för att "då kan man inte grunderna i JS" - men du har bevisligen inte en enda aning om "grunderna i MS-webb"
Citera
2023-10-31, 16:14
  #41
Medlem
Willtoms avatar
Behandla din utvecklingspreferens som ditt kön.

Det är helt ok att du har det och du kan vara hur stolt du vill om det.
Men kom inte och vifta det i ansiktet för andra.
Citera
2023-11-03, 00:00
  #42
Medlem
Retropropagations avatar
Citat:
Ursprungligen postat av Retropropagation
Vad som saknas, är dock anekdoten om när Hejlsberg insåg att Microsofts kompilatorexperter inte visste vad de sysslade med. Kompilatorexperterna hade då under några år programmerat en objektorienterad TypeScripttranspilator. Hejlsberg åkte iväg på familjesemester till Bahamas. När han kom tillbaka efter två veckor, hade han skrivit om transpilatorn i funktionsorienterad TypeScript. Transpileringen från TypeScript till JavaScript gick nu 5 gånger snabbare. Obs! En helt sann anekdot.

Jag mindes troligen fel. Det var troligen Hawaii:

https://www.youtube.com/watch?v=38Biy_OdhWQ&t=2902s

Citat:
Anders Hejlsberg rewrites the compiler

Kom att tänka på en annan sann anekdot...

Novell funderade på att köpa Borland för 30 år sedan. Budet var 2000 MSEK om inte Hejlsberg följde med, annars var det 5000 MSEK...

PS. Något OT... Googlade lite...
Citera
2023-11-26, 00:22
  #43
Medlem
De flesta bolagen jag jobbat på har använt Typescript. Jag har själv varit motvillig att anamma det pga att det kändes krångligt, men när jag väl tvingade mig till det eftersom det användes på arbetsplatser så vill jag inte längre skriva vanlig javascript. Det är inte så mycket krångligare än vanlig javascript när man väl är varm i det.

Men det känns konstigt att skriva en funktion som ska ta in parametrar, när man inte har angett vad för typer som är tillåtna. Eller när man går igenom någon annans kod och vill se vad ett objekt innehåller för parametrar. Med typescript har man intellisense som kan visa exakt vilka parametrar som objektet innehåller, hur det är strukturerat samt vilken typ det har. För övrigt är det helt vanlig javascript. Om man vill kan man ju justera inställningarna så att även helt otypat kod tillåts, så man kan använda typescript funktioner när man känner behov och skippa det och köra vanlig javascript när man vill.

Förstår mig inte på er som blandar in C# i den här debatten. Vad har det ens för relevans i den här frågan? Det är som att jämföra äpplen och päron. Du kan inte skriva C# som kan läsas i webbläsaren, och du kan inte använda C# i javascript ekosystemet.
Citera
2024-01-07, 09:16
  #44
Medlem
Retropropagations avatar
Varning! TypeScript är fullt med buggar...

Det är såpass illa, att en stackars programmerare tvingades försöka fixa dem på nyårsaftonen:

https://github.com/microsoft/TypeScript/pull/56908

Citat:
Preserve type refinements in closures created past last assignment #56908

Citat:
Fixes #13142.
Fixes #13560.
Fixes #13572.
Fixes #14748.
Fixes #16285.
Fixes #17240.
Fixes #17449.
Fixes #19606.
Fixes #19683.
Fixes #19698.
Fixes #19918.
Fixes #22120.
Fixes #22635.
Fixes #23776.
Fixes #29392.
Fixes #29916.
Fixes #31266.
Fixes #32625.
Fixes #33319.
Fixes #34669.
Fixes #35124.
Fixes #37339.
Fixes #38755.
Fixes #40202.
Fixes #43827.
Fixes #44218.
Fixes #46118.
Fixes #50580.
Fixes #52104.
Fixes #55528.
Fixes #56854.
Citera
2024-01-12, 20:00
  #45
Medlem
Jag gjorde ett litet jobb för nåt år sen. En mindre react native-app som behövde lite fix. Bestämde mig också för att konvertera hela appen till typescript då jag föredrar det framför javascript. Jisses vad många kritiska buggar som uppdagade sig bara genom att lägga på typningen. Javascript är snabbt och enkelt add koda i, men det är förrädiskt enkelt att bygga in mänskliga fel. Enligt mig så bör typescript alltid vara förstahandsvalet bland dessa två i ett organiserat projekt.
Citera
2024-05-02, 22:29
  #46
Medlem
HomoDeuss avatar
Är man en scriptkiddie som håller på med enklare hemsidor som bara integrerar mot ngt enkelt butiksapi, får bånge och tror att man är the shit för att man lärt sig emacs eller vim, och aldrig byggt klientsidesystem med omfattande behov av domänmodeller och domänvalidering så har man så klart inte en susning om varför Typescript är en självklarhet. Då tror man att det bara handlar om validering av primära datatyper.
Citera
2024-05-19, 09:29
  #47
Medlem
brukstjacks avatar
Idén att retroaktivt addera nån slags typannotering till ett dynamiskt programmeringsspråk är besynnerligt. Du betalar hela kostnaden för dynamiskt typning utan att få några av fördelarna. Sedan är det så klart fritt fram att önska att de facto språket för webb hade varit något annat än JS men det är världen vi lever i.

Om typsäkerhet är viktigt så finns det betydligt bättre alternativ än TS, t ex Rust är en kandidat med mycket momentum.

TS typning av generiska signaturer kan för övrigt vara det minst eleganta jag någonsin stött på i programmering. Symptomatiskt är också att fler och fler stora projekt lämnar TS för jsdoc (t ex Svelte).

(Vän av ordningen gör kanske gällande att JS huvudsakligen är typat pga JIT samt att kostnaden för att ändra typ på t ex en variabel är väldigt hög - dvs hur dynamiskt det i realiteten faktiskt är går att diskutera)
__________________
Senast redigerad av brukstjack 2024-05-19 kl. 09:56.
Citera
2025-03-15, 23:23
  #48
Medlem
Retropropagations avatar
Citat:
Ursprungligen postat av Retropropagation
Vad som saknas, är dock anekdoten om när Hejlsberg insåg att Microsofts kompilatorexperter inte visste vad de sysslade med. Kompilatorexperterna hade då under några år programmerat en objektorienterad TypeScripttranspilator. Hejlsberg åkte iväg på familjesemester till Bahamas. När han kom tillbaka efter två veckor, hade han skrivit om transpilatorn i funktionsorienterad TypeScript. Transpileringen från TypeScript till JavaScript gick nu 5 gånger snabbare. Obs! En helt sann anekdot.

Och nu har Anders Hejlsberg gjort det igen! (*) Den här gången 10x!

Tips på intervjufrågor:

För er som inte har outsourcat intervjuandet till AI-agenten "Manus AI" än...

(Frågor och svar i "spoiler" för att inte läcka dessa till kandidaterna...)

Hur gjorde han?



Länkar med utförligare svar:

Och en betydligt utförligare video än den i den första länken. Med en intressant bokhylla med några Flashback för er som var med på den tiden då programmerare läste programmeringsböcker...


(*)
Eftersom han är väldigt gammal och har blivit långsam, har han tagit hjälp av ett helt team. Många påstår att det inte finns 10x-programmerare. Jag skulle vilja påstå att Anders fortfarande är åtminstone 1000x...
__________________
Senast redigerad av Retropropagation 2025-03-15 kl. 23:41.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in