• KernelScript 0.1: nytt språk vill göra eBPF enklare för Linuxutvecklare

    KernelScript 0.1 är ett nytt experimentellt programmeringsspråk som vill göra avancerad Linuxutveckling enklare. Genom att samla eBPF-program, användarprogram och kernelintegration i en och samma kodbas kan utvecklare slippa mycket av den manuella C-kod och libbpf-hantering som annars krävs. Resultatet är ett lovande, men ännu omoget, verktyg för den som vill arbeta närmare Linuxkärnan utan att fastna i all teknisk kringkod.

    Att skriva program som kör nära Linuxkärnan är kraftfullt – men också svårt. Med eBPF kan utvecklare skapa små program som körs i kernelmiljö utan att själva Linuxkärnan behöver byggas om. Tekniken används redan i dag för allt från nätverksfiltrering och prestandamätning till säkerhet, felsökning och övervakning av system.

    Nu har den första publika versionen av KernelScript 0.1 släppts. Det är ett nytt öppet programmeringsspråk som vill göra utveckling med eBPF mer lättillgänglig, säkrare och mindre beroende av stora mängder handskriven stödkod.

    Ett språk för flera världar

    Traditionellt kräver eBPF-utveckling ofta att man skriver flera olika delar separat. Själva eBPF-programmet skrivs ofta i C. Sedan behövs kod i användarrymden för att ladda programmet, hantera kartor, läsa data och kommunicera med kärnan. I vissa fall krävs även integration med kernelmoduler och särskilda byggfiler.

    KernelScript försöker samla detta i en enda källkod. Utvecklaren skriver programmet i KernelScripts eget språk, och verktyget genererar därefter den C-kod, de användarprogram, Makefiles och integrationsdelar som behövs.

    Tanken är alltså inte att ersätta Linuxkärnan eller eBPF, utan att lägga ett högre och mer lättanvänt lager ovanpå.

    Varför eBPF är kraftfullt – men svårt

    eBPF har blivit en av de mest intressanta teknikerna i moderna Linuxsystem. Den gör det möjligt att köra små verifierade program i kärnan, till exempel för att analysera nätverkspaket, mäta systemanrop eller samla in prestandadata.

    Men tekniken har en hög tröskel. Den som skriver eBPF-program måste förstå hur Linux verifierar programmen innan de får köras, vilka hjälpfunktioner som är tillåtna, hur minne får användas och hur eBPF-kartor fungerar. Dessutom krävs ofta kunskap om libbpf och hur användarrymd och kernelkod samverkar.

    KernelScript försöker minska den komplexiteten genom att erbjuda ett mer specialiserat språk, anpassat just för eBPF-flöden.

    Stöd för vanliga eBPF-program

    I den första versionen finns stöd för flera viktiga typer av eBPF-program. Det omfattar bland annat XDP, som används för snabb paketbehandling mycket tidigt i nätverksstacken, och TC, som används för trafikstyrning.

    Språket har också stöd för olika typer av probes, alltså program som kan kopplas till funktioner i kärnan för spårning och felsökning. Dessutom finns stöd för perf event-program, som används vid prestandamätning.

    Det gör KernelScript intressant för utvecklare som arbetar med nätverk, observability, felsökning, säkerhet eller låg nivå-prestanda i Linuxmiljöer.

    eBPF-kartor som vanliga variabler

    En central del av eBPF är så kallade maps, eller kartor. De fungerar som datastrukturer där eBPF-program kan spara och dela information. De kan exempelvis användas för räknare, statistik, tillståndstabeller eller kommunikation mellan kernelprogram och användarprogram.

    KernelScript gör dessa kartor till en del av språket. Det finns stöd för bland annat hash maps, per-CPU arrays, LRU maps och pinned maps. Genom att behandla dem som språkvariabler slipper utvecklaren en del av den vanliga libbpf-koden som annars krävs.

    Det kan göra enklare eBPF-projekt både kortare och lättare att förstå.

    Avancerade funktioner redan från början

    Trots att KernelScript 0.1 är en tidig version innehåller den stöd för flera avancerade eBPF-funktioner. Bland annat nämns automatisk hantering av tail calls, enklare dynptr-hantering, kontroll av programlivscykel, struct_ops och inbyggd integration med kfuncs.

    För den som redan arbetar med avancerad eBPF-utveckling kan detta vara särskilt intressant. Det visar att KernelScript inte bara är tänkt som ett pedagogiskt förenklingslager, utan som ett försök att bygga ett mer komplett utvecklingsverktyg för Linuxnära programmering.

    Inte redo för produktion

    Samtidigt är det viktigt att betona att KernelScript fortfarande är experimentellt. Projektet beskrivs som beta, och utvecklarna varnar för att syntax, API:er och funktioner kan ändras utan bakåtkompatibilitet.

    Det betyder att KernelScript i nuläget främst bör ses som något för testning, utvärdering och experiment. För produktionssystem är det fortfarande säkrare att använda etablerade verktyg och arbetsflöden kring eBPF, C och libbpf.

    Ett tecken på vart Linuxutveckling är på väg

    KernelScript 0.1 visar ändå en tydlig trend. eBPF har blivit så viktigt att det nu växer fram nya språk och verktyg som försöker göra tekniken mer tillgänglig. På samma sätt som högnivåspråk en gång gjorde vanlig systemutveckling enklare, försöker KernelScript göra kernel-nära programmering mer strukturerad och mindre felbenägen.

    Om projektet lyckas återstår att se. Men idén är intressant: ett enda språk som kan beskriva logiken för eBPF, användarrymd och kernelintegration på samma gång.

    För Linuxutvecklare som vill följa framtidens systemprogrammering är KernelScript därför ett projekt att hålla ögonen på – även om det än så länge hör hemma i labbmiljö snarare än i skarpa driftsystem.

    https://github.com/multikernel/kernelscript

    Teknisk faktaruta: KernelScript 0.1

    Typ: Experimentellt programmeringsspråk och DSL för Linuxutveckling.

    Fokus: eBPF, användarprogram och kernelintegration från en gemensam kodbas.

    Licens: Apache 2.0.

    Syfte: Att minska behovet av handskriven C-kod, libbpf-boilerplate, Makefiles och separat användarrymdskod vid eBPF-utveckling.

    Stöd: XDP, TC, probes, perf events, eBPF maps, tail calls, dynptr, struct_ops och kfunc-integration.

    Status: Beta/experimentell. Rekommenderas ännu inte för produktion.

  • Rust 1.94 gör språket mer uttrycksfullt och kraftfullt

    Programmeringsspråket Rust fortsätter att utvecklas i snabb takt. Den nya versionen Rust 1.94 introducerar flera förbättringar som gör språket både mer ergonomiskt och mer kraftfullt. Bland nyheterna finns en ny iterator för slice-data, förbättrad konfigurationshantering i Cargo, stöd för den senaste versionen av TOML-formatet och flera stabiliserade API:er i standardbiblioteket.

    Tillsammans innebär förändringarna att utvecklare kan skriva mer tydlig kod, organisera projekt bättre och dra nytta av nya funktioner i både språket och verktygskedjan.

    Ny iterator för slices: array_windows

    En av de mest uppmärksammade nyheterna är metoden array_windows för slices. Den fungerar på liknande sätt som den befintliga metoden windows, men med en viktig skillnad: den returnerar arrayer med fast storlek i stället för dynamiska slices.

    Detta gör att kompilatorn kan veta storleken på varje fönster redan vid kompilering, vilket förenklar kod och kan ge bättre optimeringar.

    En praktisk användning är när man vill analysera mönster i en dataström. Ett klassiskt exempel är att leta efter så kallade ABBA-mönster, där två olika tecken följs av samma två tecken i omvänd ordning, exempelvis abba eller xyyx.

    Med array_windows kan en sådan kontroll skrivas mycket kompakt:

    Här kan kompilatorn automatiskt förstå att varje fönster ska bestå av fyra element eftersom de destruktureras till fyra variabler.

    Cargo får bättre stöd för modulär konfiguration

    Rusts byggverktyg Cargo får i version 1.94 en ny funktion: möjligheten att inkludera konfigurationsfiler i andra konfigurationsfiler.

    Detta gör att större projekt kan dela upp sin konfiguration i flera mindre filer, vilket gör dem enklare att underhålla och återanvända mellan olika projekt eller utvecklingsmiljöer.

    Ett exempel är:

    Det går även att ange mer avancerade alternativ via så kallade inline-tabeller, exempelvis om en konfigurationsfil är valfri:

    Detta gör det möjligt att skapa konfigurationer som fungerar både lokalt och i olika utvecklingsmiljöer utan att alla filer behöver finnas överallt.

    Stöd för TOML 1.1

    Cargo kan nu också läsa TOML 1.1, den senaste versionen av konfigurationsformatet som används i Rust-projekt.

    Bland förbättringarna i TOML 1.1 finns:

    • inline-tabeller som kan skrivas över flera rader
    • stöd för fler escape-sekvenser i strängar
    • möjlighet att utelämna sekunder i tidsangivelser
    • trailing commas i vissa strukturer

    Det innebär exempelvis att beroenden i Cargo.toml kan skrivas mer läsbart:

    Om man använder dessa nya funktioner höjs dock projektets MSRV (Minimum Supported Rust Version), eftersom äldre Cargo-versioner inte kan tolka den nya syntaxen. Samtidigt hanterar Cargo detta automatiskt vid publicering genom att skriva om manifestfiler så att de förblir kompatibla med äldre verktyg.

    Nya matematiska konstanter i standardbiblioteket

    Rusts standardbibliotek har också utökats med några klassiska matematiska konstanter. Bland de nya konstanterna finns:

    • Euler–Mascheroni-konstanten (EULER_GAMMA)
    • det gyllene snittet (GOLDEN_RATIO)

    De finns tillgängliga för både f32 och f64 och kan användas direkt i numeriska beräkningar utan att utvecklare behöver definiera dem själva.

    Fler stabiliserade API:er

    Som i varje Rust-release har även flera tidigare experimentella funktioner nu blivit stabila API:er. Bland dessa finns bland annat:

    • array_windows och element_offset för slices
    • nya metoder för LazyCell och LazyLock
    • nya metoder i iteratorn Peekable
    • hårdvaruintrinsics för AVX-512 FP16 på x86 och NEON FP16 på AArch64

    Dessutom kan vissa funktioner, som mul_add för flyttal, nu användas i konstanta uttryck.

    Fortsatt snabb utveckling av Rust

    Rust 1.94 visar tydligt hur språket fortsätter att utvecklas i både små och stora steg. Förbättringar som array_windows gör koden mer uttrycksfull, medan förändringar i Cargo och TOML gör projekthanteringen mer flexibel.

    Utvecklare som redan använder Rust kan uppdatera till den nya versionen med kommandot:

    Den nya versionen är resultatet av arbete från ett stort antal bidragsgivare i Rust-communityt – ett exempel på hur ett modernt open source-projekt fortsätter att förbättras genom globalt samarbete.

    C vs Rust

    C

    C är ett klassiskt programspråk som har använts i årtionden för operativsystem, drivrutiner, inbyggda system och annan prestandakritisk programvara.

    Språket ger programmeraren mycket direkt kontroll över minne och hårdvara, vilket gör det snabbt och flexibelt.

    Nackdelen är att C saknar inbyggt skydd mot många vanliga minnesfel, vilket kan leda till buggar, krascher och säkerhetsproblem.

    Rust

    Rust är ett modernare systemspråk som också fokuserar på hög prestanda, men samtidigt vill minska risken för minnesfel och osäker kod.

    Genom sitt ägarskapssystem och sina kompilatorkontroller kan Rust förhindra många problem redan innan programmet körs.

    Det gör språket särskilt intressant för säkerhetskritiska system, servrar, verktyg och ny systemprogrammering.

    https://blog.rust-lang.org/2026/03/05/Rust-1.94.0

    Teknisk fakta: Rust 1.94

    Version: Rust 1.94.0

    Typ av uppdatering: Stabil utgåva

    Viktig nyhet: array_windows för slices

    Ny Cargo-funktion: stöd för include i konfigurationsfiler

    Manifestformat: Cargo kan nu tolka TOML 1.1

    Nya matematiska konstanter: EULER_GAMMA och GOLDEN_RATIO

    Fler förbättringar: stabiliserade API:er i standardbiblioteket och fler funktioner tillgängliga i const-kontext

    Uppdateringskommando:

    rustup update stable
  • Ruby 4.0 – ett stort steg framåt för ett klassiskt språk

    Ruby 4.0 markerar ett av de största kliven i språkets historia, där fokus ligger på isolering, parallellism och prestanda utan att kompromissa med Rubys välkända läsbarhet. Med ny teknik som Ruby Box, en helt ny JIT-kompilator och ett kraftigt förbättrat stöd för parallell exekvering visar Ruby att språket är redo att möta moderna krav – samtidigt som det fortsätter att sätta utvecklarens upplevelse i centrum.

    När Ruby 4.0 nu har släppts markerar det mer än bara ännu en versionssiffra. Det är ett tydligt tecken på att ett av världens mest omtyckta programmeringsspråk fortsätter att utvecklas – både tekniskt och filosofiskt – i en tid där krav på prestanda, parallellism och säkerhet är högre än någonsin. Ruby har länge varit känt för sin läsbarhet och sin glädjeprincip: programmering ska vara roligt. Med Ruby 4.0 försöker utvecklarna bevisa att man inte längre behöver välja mellan elegans och råstyrka.

    Ruby Box – isolering utan containrar

    Den kanske mest nyskapande nyheten är Ruby Box, en experimentell teknik för isolering inuti samma Ruby-process. Genom att starta Ruby med miljövariabeln RUBY_BOX=1 kan man skapa separata ”lådor” där klasser, moduler, globala variabler, monkey patches och till och med inlästa bibliotek hålls helt åtskilda. Det gör det möjligt att köra testfall som använder aggressiva monkey patches utan att påverka andra tester, köra flera versioner av samma webbapplikation parallellt vid blue-green-driftsättning eller testa nya beroenden i realtid genom att jämföra beteende och svar. Allt detta sker utan containrar eller separata processer – isoleringen sker direkt i Ruby-motorn.

    ZJIT – nästa generations prestandasatsning

    Ruby 4.0 introducerar också ZJIT, en ny experimentell just-in-time-kompilator som är tänkt att på sikt ersätta YJIT. ZJIT är skriven i Rust och använder större kompileringsenheter samt en modern SSA-baserad mellanrepresentation. Resultatet är redan nu snabbare än den traditionella tolken, även om den fortfarande ligger efter YJIT. Utvecklarna är tydliga med att ZJIT ännu inte är redo för produktion, men ambitionen är att den ska vara både snabbare än YJIT och stabil nog för skarp drift i Ruby 4.1. För den nyfikne kan ZJIT aktiveras med flaggan –zjit.

    Ractor tar ett steg mot mognad

    Parallell programmering har länge varit en svag punkt i Ruby, men Ractor-modellen fortsätter att utvecklas. I Ruby 4.0 introduceras klassen Ractor::Port, som ersätter tidigare mer svårbegripliga API:er som Ractor.yield och Ractor#take. Kommunikation mellan parallella delar av ett program blir tydligare och mer robust. Samtidigt har interna datastrukturer förbättrats för att minska låsning kring globala resurser, minska delad intern data och förbättra CPU-cache-beteende. Tillsammans ger detta märkbart bättre parallell prestanda, och målet är att Ractor snart ska lämna sin experimentella status helt.

    Små språkliga förändringar med stor effekt

    Ruby 4.0 innehåller också flera språkliga justeringar som gör vardagen trevligare för utvecklare. Logiska operatorer som && och || kan nu stå i början av en rad och fortsätta föregående uttryck, vilket gör flerradiga villkor mer lättlästa. Beteendet för *nil har gjorts mer konsekvent och anropar inte längre nil.to_a, i linje med hur **nil redan fungerar. Felmeddelanden vid fel antal argument är tydligare och innehåller både bättre bakspårning och kodutdrag. Unicode-stödet har uppdaterats till version 17.0, inklusive nya emoji.

    Ett snabbare och renare Ruby under huven

    Bakom kulisserna har Ruby 4.0 fått omfattande prestandaförbättringar. Objekt skapas snabbare, särskilt när nyckelordsargument används. Garbage collectorn arbetar effektivare, intern åtkomst till instansvariabler har optimerats och många gamla låsningar i heta kodvägar har tagits bort. Standardbiblioteket har samtidigt städats upp: vissa komponenter har flyttats eller uppdaterats, andra – som delar av CGI-biblioteket – levereras inte längre fullt ut som standard.

    Framåtblick

    Ruby 4.0 är inte bara en inkrementell uppdatering utan ett tydligt ställningstagande. Språket vill fortsätta vara uttrycksfullt och lättläst, men samtidigt möta moderna krav på prestanda, parallellism och isolering. Med Ruby Box, ZJIT och ett allt mer moget Ractor-system visar Ruby att det går att förnya sig utan att förlora sin identitet. För utvecklare innebär det en tydlig signal: Ruby är långt ifrån färdigt – det har precis växlat upp.

    https://www.ruby-lang.org/en

    Fakta: Ruby 4.0
    Ny isolering: Ruby Box (experimentellt) isolerar klasser, moduler, globala variabler, monkey patches och även inlästa bibliotek per “box”. Aktiveras med RUBY_BOX=1.
    Ny JIT: ZJIT (experimentellt) efterföljare till YJIT – metodbaserad JIT med större kompileringsenheter och SSA-baserad IR. Byggkrav: Rust 1.85+. Aktiveras med –zjit.
    Parallellism: Ny Ractor::Port för tydligare kommunikation mellan Ractors. Äldre API:er som Ractor.yield och Ractor#take är borttagna.
    Språknytt: Logiska operatorer i början av rad (&&, ||, and, or) fortsätter föregående rad. *nil beter sig nu konsekvent och anropar inte längre nil.to_a.
    Standardbibliotek & core: Set och Pathname är core-klasser, och Unicode är uppdaterat till 17.0 (inkl. Emoji 17.0).
    Kompatibilitet: Flera deprecated API:er är borttagna (bl.a. äldre Ractor-metoder). Windows-bygg kräver Visual Studio 2015+.


  • Ny dokumentärfilm berättar historien om Python

    Ny dokumentärfilm berättar historien om Python

    Programmeringsspråket Python har fått sin egen film. Dokumentären “Python: The Documentary” är 90 minuter lång och skildrar resan från Guido van Rossums sidoprojekt i Amsterdam på 1990-talet till dagens globala dominans.

    Python är idag världens mest använda programmeringsspråk, enligt det senaste TIOBE-indexet (augusti 2025). Filmen visar hur språket, som från början var ett experiment, blivit en central del i allt från artificiell intelligens och datavetenskap till några av världens största företag.

    Bland de medverkande finns grundaren Guido van Rossum, Travis Oliphant, Barry Warsaw, Armin Ronacher, Mariatta Wijaya och flera andra profiler som haft betydelse för språkets utveckling.

    Dokumentären lyfter inte bara Python i sig, utan ger också en inblick i den bredare historien om öppen källkod – kryddad med den humor som ofta förknippas med open source-gemenskapen.

    Filmen har möjliggjorts med stöd från Anaconda, Dropbox, Meta, OpenTeams, JetBrains’ PyCharm och Quansight.

    “Python: The Documentary” finns nu tillgänglig för alla som vill ta del av berättelsen bakom världens mest inflytelserika programmeringsspråk.

  • 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 .

Etikett: programmeringsspråk

  • KernelScript 0.1: nytt språk vill göra eBPF enklare för Linuxutvecklare

    KernelScript 0.1 är ett nytt experimentellt programmeringsspråk som vill göra avancerad Linuxutveckling enklare. Genom att samla eBPF-program, användarprogram och kernelintegration i en och samma kodbas kan utvecklare slippa mycket av den manuella C-kod och libbpf-hantering som annars krävs. Resultatet är ett lovande, men ännu omoget, verktyg för den som vill arbeta närmare Linuxkärnan utan att…

  • Rust 1.94 gör språket mer uttrycksfullt och kraftfullt

    Programmeringsspråket Rust fortsätter att utvecklas i snabb takt. Den nya versionen Rust 1.94 introducerar flera förbättringar som gör språket både mer ergonomiskt och mer kraftfullt. Bland nyheterna finns en ny iterator för slice-data, förbättrad konfigurationshantering i Cargo, stöd för den senaste versionen av TOML-formatet och flera stabiliserade API:er i standardbiblioteket. Tillsammans innebär förändringarna att utvecklare…

  • Ruby 4.0 – ett stort steg framåt för ett klassiskt språk

    Ruby 4.0 markerar ett av de största kliven i språkets historia, där fokus ligger på isolering, parallellism och prestanda utan att kompromissa med Rubys välkända läsbarhet. Med ny teknik som Ruby Box, en helt ny JIT-kompilator och ett kraftigt förbättrat stöd för parallell exekvering visar Ruby att språket är redo att möta moderna krav –…

  • Ny dokumentärfilm berättar historien om Python

    Ny dokumentärfilm berättar historien om Python Programmeringsspråket Python har fått sin egen film. Dokumentären “Python: The Documentary” är 90 minuter lång och skildrar resan från Guido van Rossums sidoprojekt i Amsterdam på 1990-talet till dagens globala dominans. Python är idag världens mest använda programmeringsspråk, enligt det senaste TIOBE-indexet (augusti 2025). Filmen visar hur språket, som…

  • 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…