• Go 1.25 – Nya funktioner, snabbare prestanda och experimentella tekniker

    Go är ett urgammalt strategibrädspel från Kina, spelat med svarta och vita stenar på ett rutnät. Målet är att omringa områden och fånga motståndarens stenar. Det har inget att göra med programmeringsspråket Go. Reglerna är enkla men spelet är djupt och komplext.I Go betyder atari att en sten eller grupp har bara en fri punkt kvar och riskerar att fångas nästa drag. Företaget Atari valde namnet för att det signalerar ett kritiskt och avgörande läge i spelet.

    Go-projektet har släppt version 1.25 av sitt programmeringsspråk, och uppdateringen är full av förbättringar inom både verktyg, kompilator, runtime och standardbibliotek. Som vanligt kommer versionen precis sex månader efter föregångaren, men den här gången introduceras flera spännande nyheter – inklusive två större experimentella funktioner.

    Ny experimentell Garbage Collector
    En av de mest intressanta nyheterna är en ny garbage collector som är optimerad för att hantera många små objekt mer effektivt. Tester visar att den kan minska minneshanteringskostnaden med 10–40 % i praktiska scenarier. Den är inte aktiverad som standard – utvecklare behöver slå på den själva och kan sedan lämna feedback till Go-teamet.

    Snabbare och mer flexibel JSON-hantering
    Den andra stora experimentella nyheten är paketet encoding/json/v2. Det är en uppdaterad JSON-implementation som lovar snabbare avkodning och fler konfigurationsmöjligheter. Även den här funktionen kräver att man aktivt väljer att använda den.

    Automatisk optimering i container-miljöer
    Go 1.25 gör att GOMAXPROCS nu automatiskt anpassar sig efter tillgängliga CPU-resurser i miljöer som Kubernetes. Tidigare krävdes manuell konfigurering för att uppnå detta.

    Förbättringar i kompilatorn

    • Snabbare allokering av slices.
    • DWARF5-debuginformation, vilket minskar storleken på binärer och påskyndar länkning, särskilt i större projekt.

    Förbättrade utvecklingsverktyg

    • Nya go vet-kontroller som fångar upp vanliga programmeringsfel.
    • Möjlighet att ignorera mappar direkt i go.mod.
    • go doc kan nu köra en lokal dokumentationsserver med flaggan -http.
    • Ett helt nytt paket – testing/synctest – gör det lättare att testa parallell kod utan risk för klassiska race condition-problem.

    Standardbiblioteket och säkerhet

    • Förbättrad prestanda i kryptografiska algoritmer.
    • Mer konsekvent hantering av ASN.1-data.
    • Nya funktioner för nätverks- och TLS-anslutningar.

    Plattformsförändringar

    • Äldre versioner av macOS stöds inte längre.
    • Go 1.25 är den sista versionen med stöd för 32-bitars Windows/ARM, som nu tas ur bruk.

    Tillgänglighet
    Go 1.25 kan laddas ned som färdiga binärfiler och installationspaket från den officiella nedladdningssidan. En fullständig lista över alla ändringar finns i Go 1.25 Release Notes, och fler blogginlägg från utvecklingsteamet väntas de närmaste veckorna.

    Exempel i språket go

    Ett enkelt program som skriver Hello, World! i terminalen:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, World!")
    }
    

    Förklaring:

    • package main – anger att programmet är ett körbart program.
    • import "fmt" – tar in paketet fmt för utskrift.
    • func main() – huvudfunktionen som körs först.
    • fmt.Println(...) – skriver ut text med radbrytning.

    Kör programmet:

    go run hello.go

    Kompilera till en binärfil:

    go build -o hello hello.go
    ./hello

    Faktaruta: programmeringsspråket Go

    Översikt

    Go (även kallat Golang) är ett kompilerat, statiskt typat språk från Google med inbyggd stöd för samtidighet (goroutines och kanaler), snabb kompilering och enkel distribution som fristående binärer.

    Vad språket klarar

    • Högpresterande nätverks- och serverprogram med låg latens.
    • Massiv samtidighet via goroutines och chan utan trådbekymmer.
    • Snabb kompilering till statiska, portabla binärer (lätt att containerisera).
    • Inbyggd minnessäkerhet och garbage collection.
    • Stort standardbibliotek: nätverk, HTTP, kryptografi, testning m.m.
    • Förstklassiga verktyg: go build, go test, go fmt, go vet, moduler.

    Vanliga användningsområden

    • Moln- och mikrotjänster, REST/GraphQL-API:er.
    • Distribuerade system, nätverksservrar, proxyer och gateways.
    • DevOps- och plattformsverktyg (t.ex. Docker, delar av Kubernetes-ekosystemet).
    • Kommandoradsverktyg och automation.
    • Data- och meddelandeflöden (streaming), observability/telemetri.

    Kort historik

    • Startat på Google av Robert Griesemer, Rob Pike och Ken Thompson.
    • Offentligt presenterat 2009; version 1.0 släpptes 2012.
    • Designmål: enkelhet, snabbhet, effektiv samtidighet och stark verktygskedja.

    Styrkor & saker att känna till

    • Styrkor: enkel syntax, snabb kompilering, robust standardbibliotek, utmärkt samtidighetsmodell.
    • Observera: minimalistisk generik (finns), inga undantag (errors hanteras explicit), mindre fokus på OOP-arv; GUI och mycket tunga numeriska arbetsflöden görs ofta i andra ekosystem.

    Exempel (körbar binär i en fil): go build -o app .

  • Första intrycket av Debian 13.0 – från VMware till äldre hårdvara

    Debian är känt som en stabil och flexibel Linux-distribution, ofta använd som grund för andra populära system som Ubuntu. Med version 13.0 är det tydligt att utvecklarna fortsätter att balansera på den svåra linjen mellan kraftfullt och lättillgängligt. Jag har testat den både i en virtuell miljö på toppmodern hårdvara och på en äldre laptop – två scenarier som ger helt olika perspektiv.

    Installation och första upplevelser

    För det första testet valde jag Debian 13 Netinstall, en ISO-fil på cirka 700 MB. Den är smidig att ladda ner, men kräver att det mesta av systemet hämtas via internet under installationen. För den som har begränsad uppkoppling, särskilt på landsbygden där 5G fortfarande är en dröm, är det bättre att välja en komplett ISO med fler paket inkluderade från början.

    Installationen i VMware gick snabbt och problemfritt. På min Intel i9 med 32 GB RAM var hela processen avklarad på några minuter. Det är dock viktigt att komma ihåg att detta inte säger mycket om hur systemet känns på äldre datorer – här får VMware ett oförtjänt försprång genom att buffra resurser.

    Skrivbordsmiljöer: från Gnome till KDE Plasma

    Debian erbjuder flera skrivbordsmiljöer direkt vid installationen. Jag började med Gnome, men fann snabbt att Debians standardkonfiguration inte passade mina vanor. I Ubuntu är jag van vid att aktivitetsfältet ligger till vänster, medan Debian placerar det högst upp på skärmen. Resultatet? Mer musrörelser och mindre effektivitet.

    Lösningen blev att byta till KDE Plasma. Med sitt mer traditionella upplägg – menyn längst ner till vänster – kändes det som hemma, kanske på grund av mina år av Windows-användning. Plasma i Debian är både responsivt och anpassningsbart, vilket gör det lätt att forma miljön efter sina behov.

    Prestanda i VM

    Trots att den virtuella maskinen bara fick 2 GB RAM och 2 processorkärnor var prestandan överraskande bra. Att surfa i Firefox, redigera bilder i GIMP 3 och skriva i LibreOffice gick utan problem. Först vid mer resurskrävande uppgifter, som att streama SVT Play, märktes en viss tröghet.

    Test på äldre hårdvara

    För att få en mer rättvis bild installerade jag Debian 13 på en HP-laptop med första generationens Intel i7, 4 GB RAM och mekanisk hårddisk – BIOS daterat 2011. Installationen tog betydligt längre tid än i VM, drygt en timme, men gick i övrigt smidigt.

    Jag valde att installera alla tillgängliga fönsterhanterare för att kunna jämföra. Här stötte jag dock på en bugg: att byta mellan dem fungerade inte alltid som det skulle. Genom att växla till konsolläge och skapa en ny användare löste jag problemet.

    Plasma på Wayland vs. XFCE

    Första valet blev Plasma på Wayland, men prestandan var medioker – gränssnittet kändes segt och tungt. När jag istället loggade in med XFCE förändrades upplevelsen totalt. Systemet drog då endast runt 2 GB RAM och klarade att streama SVT utan märkbara fördröjningar. Även KDE fungerade, men hade längre laddningstider.

    Detta är en av Debians styrkor: möjligheten att själv välja skrivbordsmiljö och anpassa systemet efter hårdvaran. På äldre datorer är XFCE en klar vinnare.

    Hårddiskens betydelse

    Den mekaniska hårddisken var den största flaskhalsen i testet. För den som vill återbruka äldre datorer är det nästan alltid värt att byta till SSD – skillnaden i hastighet är dramatisk, särskilt vid start och programladdning.

    Slutsats

    Debian 13.0 är en imponerande uppdatering. Distributionen har blivit betydligt mer användarvänlig än förr, utan att tappa sin flexibilitet eller tekniska styrka. På modern hårdvara är den blixtsnabb, och med rätt skrivbordsmiljö fungerar den även utmärkt på äldre datorer.

    För nybörjare kan installationen av Netinstall-varianten kännas teknisk, men den som ger Debian en chans får ett system som kan skräddarsys från minimalistiskt till fullspäckat – och som är redo att tjäna i många år framöver.

Etikett: optimering

  • Go 1.25 – Nya funktioner, snabbare prestanda och experimentella tekniker

    Go-projektet har släppt version 1.25 av sitt programmeringsspråk, och uppdateringen är full av förbättringar inom både verktyg, kompilator, runtime och standardbibliotek. Som vanligt kommer versionen precis sex månader efter föregångaren, men den här gången introduceras flera spännande nyheter – inklusive två större experimentella funktioner. Ny experimentell Garbage CollectorEn av de mest intressanta nyheterna är en…

  • Första intrycket av Debian 13.0 – från VMware till äldre hårdvara

    Debian är känt som en stabil och flexibel Linux-distribution, ofta använd som grund för andra populära system som Ubuntu. Med version 13.0 är det tydligt att utvecklarna fortsätter att balansera på den svåra linjen mellan kraftfullt och lättillgängligt. Jag har testat den både i en virtuell miljö på toppmodern hårdvara och på en äldre laptop…