Nim-Conf 2021
Det senaste året har jag mer och mer fastnat för ett nytt programmeringsspråk vid namn Nim. Det kombinerar det bästa av två världar: det är behagligt att skriva (Python-inspirerad syntax) samtidigt som det är snabbt (kompilerat). Men den största fördelen det har jämfört med andra språk är meta-programmering, alltså att man kan skicka in en bit kod in en makro och modifiera den. Detta gör att man ganska enkelt kan skapa sina egna små mini-språk (DSL) inuti Nim som kan användas till lite allt möjligt. Ett exempel är npeg som är ett kompakt sätt att parse:a text med hjälp av ett sådant mini-språk. Något annat meta-programmeringen öppnar upp är att det inte behövs stöd från kompilatorn för att lägga till nya funktioner till Nim, det är så flexibelt redan. Ett exempel på detta är pattern matching som helt enkelt kunde implementeras i sitt eget bibliotek med en makro, medan i t.ex. Python behövde dom implementera det direkt i interpretern.
Nu till vad jag kom hit för, om du tycker att det här låter intressant hölls igår Nim-Conf 2021 och presentationerna finns på Youtube och går att nå via den här länken: Nim-Conf 2021. Där kan ni se exempel på vad som händer just nu i community:t. Mina rekommendationer är:
Zen of Nim - En bra introduktion till vad Nim är av Nim's grundare.
Pixie - A full-featured 2D graphics library for Nim - En av flitigaste Nim-utvecklarna har skapat ett alternativ till Cairo och Skia i Nim och berättar om hur det var att utveckla det och hur det fungerar.
Making a Platformer in NICO with Nim - Nim kan användas för att göra spel och här ett ett litet exempel på hur lätt det är.
Share your Nim adventures with Nimib - Det här projektet har jag själv varit involverad i. Det handlar om ett bibliotek för att skriva tutorials och bloggar i Nim med hjälp av meta-programmering. Här är ett exempel: SciNim (om det känns bekant använder vi samma tema som mdBook på den där sidan)