Ibland lär man sig mest av projekten man gör för sig själv.
Ibland lär man sig mest av projekten man gör för sig själv.
För ett tag sedan behövde jag rita ut geografisk data på en karta men där källdatan kom från otaliga olika håll: DXF-filer, Shapefiles, KML, GeoJSON... och ingen av dem pratade med varandra. Istället för att lösa problemet en gång manuellt byggde jag gisformat.com. Det är ett verktyg för att snabbt och enkelt konvertera mellan GIS-format och koordinatsystem.
Men det verkliga projektet var egentligen att lära mig Rust.
Rust är ett av de mest spännande språk jag sett på år och dar. Det är snabbt, minneseffektivt och en glädje att driftsätta. Inga minnesloopar, inga oväntade kraschar i produktion, och en binär som bara fungerar. Men inlärningskurvan? Brutal. Och det säger jag som utvecklare med 15 år i branschen.
Rusts kompilator är som den där extra noggranna kodreviewern som aldrig godkänner en PR i första utkastet, ganska irriterande i stunden men du vet alltid att det som väl passerar faktiskt håller.
Lärdomen jag tog med mig är att teknisk komplexitet är inte enbart ett hinder, det är också ett filter. Rust tvingar dig att förstå vad du faktiskt gör. Det är inte snabbaste vägen till en MVP men koden du skriver håller längre, buggar mindre och skalas bättre.
Kanske precis som bra arkitektursbeslut i allmänhet? 🙂
Testa gärna verktyget om du jobbar med geodata (har inte testat alla möjliga konverteringar)!
