Julia får bedre muligheder med tråde.
Det er et sprog til statistik og dataanalyse, ligesom R og Python, men med vægt på ydelse i selve sproget, hvor f.eks. Python opnår god ydelse via hurtige biblioteker skrevet i C og udnyttelse af vektorberegninger på grafikkort.
Når ydelsen i selve sproget skal øges, er det centralt at et program kan paralliseres over flere kerner. Derfor behovet for nemmere brug af tråde – samtidig udførelse af programdele – i Julia.
Version 1.7 er på gaden, og her er en række 'race conditions', hvor flere tråde kan spænde ben for hinanden, blevet fjernet fra Julias kørselsmiljø. Det skriver udviklerbloggen Infoq.
Sproget har også fået en ny makro, @atomic
, som kan angives ved variabler og udtryk, der kan ændres samtidigt fra flere tråde.
Man kan f.eks. skrive:
y = @atomic a.b.x += 1
– for på atomisk vis at tilgå og inkrementere a.b.x, hvilket vil sige, at kun én tråd af gangen kan udføre sætningen.
Det indebærer, at to tråde kan bruge udtrykket uden at være bange for at skabe en grumset tilstand. Samme mulighed findes i andre sprog, som eksempelvis Javas AtomicInteger. Der er flere makroer i samme genre i den nye udgave, såsom @atomicswap
og @atomicreplace.
Blandt andre nyheder er forbedret typeinferens, hvor compileren gætter typen. Det gælder visse slags typeindsnævringer på tværs af funktionskald.
Julias pakkeværktøj kan nu selv finde ud af at downloade og installere pakker, man benytter i sprogets interaktive miljø. Og så er det første udgivelse med understøttelse af Apples M1-processorer, dog foreløbig i en eksperimentel udgave.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.