Permalänk

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)

Permalänk

NimConf 2022

Imorgon är det dags för NimConf 2022 👑!

Årets schema över presentationer finner ni här: https://nim-lang.org/nimconf2022/

Jag presenterar i två av årets talks:

# Nimib goes interactive
Jag och Pietro, grundaren av nimib, går igenom dom senaste nyheterna i nimib. Däribland möjligheten att skapa interaktiva komponenter i Nim utan att skriva en endaste rad Javascript. Detta genom att utnyttja Nim's möjlighet att kompilera till Javascript.

# Make beautiful presentations in Nim using nimiSlides
Här presenterar jag mitt egna bibliotek, nimiSlides, som är ett Reveal.js tema byggt på nimib. Det ger dig möjlighet att skapa snygga presentationer i Nim där du kan inkludera kod-block som kommer att köras när dokumentet byggs.

För er som är intresserade av spelprogrammering kan följade talks vara intressanta:
# Polymorph
Polymorph är ett effektivt ECS bibliotek skrivet i Nim som utnyttjar Nim's meta-programmering för att skapa en så effektiv kod som möjligt för ditt spel.
# State of NimForUE
Unreal Engine binding för Nim

Om du tycker om att testa kod kan detta talk passa dig:
# Fuzzing with drchaos

Hoppas ni hittar något som faller er i smaken