Nytt språk?

Hvilket programmeringsspråk er du mest nyskjerrig på, og hvorfor?

For min del har jeg lyst til å teste ut et rent funksjonelt programmingsspråk. I sommer gjorde jeg en 2 timers workshop i Elm hvor jeg fikk helt bakoversveis over hvor hjelpesløs jeg følte meg.
For en som har blitt introdusert til programmering gjennom objektorienteringer var det en helt ny verden. Men da jeg kom over sjokket var det veldig gøy at noe var så anderledes enn det jeg var vant til. For meg tror jeg det kan være mye spennende lærdom her, kanskje spesielt mtp. verdien av immutabilitet og “pure” funksjoner.

Så mitt valg: Elm eller Haskell.

3 Likes

Rust!

Rust virker som et språk som har ekstremt bra miljø og har gjort noen veldig kule ting på kompilator-nivå som nesten virker for godt til å være sant, blant annet kan man garantere correctness og minne-sikkerhet. Det er også basert på immutability, men er ikke primært et funksjonelt språk som haskell eller elm, selvom jeg har inntrykk av at det er godt støttet.

Det som også er veldig kult er at man kan binde rust til webassembly, og kan kompileres til mange andre platformer også.

Rust er mer lavnivå, man har mer kontroll over minnet, men det har en slags garbage-collector, men veldig ulik tradisjonell gc.

Venter egentlig bare på et prosjekt hvor jeg har behov for performancen til Rust :stuck_out_tongue:

3 Likes

Enig i at et rent funksjonelt programmeringsspråk hadde vært veldig interresant å prøve =)
Har en tendens til å falle tilbake til et objektorientert tankesett når jeg bruker “multiparadigme-språk” som python/javascript osv.
Ellers er jeg vell i grunn åpen for hvilket som helst språk som tvinger meg til å lære det riktige tankesettet/fremgangsmåten :grinning:

Ellers hadde det vært gøy å prøvd ut TLA+ i en virkelig usecase! (er ikke et programmeringsspråk, men heller et spesifikasjonsspråk, men trur det kan være veldig nyttig)

3 Likes

Jeg var interessert i funksjonelle språk en periode, men nå synes jeg egentlig at javascript/typescript er funksjonelt nok. I Haskell er alt “pure”, men i praksis blir det ikke så stor forskjell fra javascript synes jeg. Du bruker IO-monads for å gjøre ting som ikke er pure på en pure måte, men du slipper ikke unna å håndtere alle de tingene som du også måtte håndtert i javascript. Jeg har kommet til konklusjonen om at det er bedre å separere det som er pure så mye som mulig fra det som ikke er det. På den måten får du mesteparten av logikken pure, og det som står igjen er stort sett plumbing. Dette funker i de fleste språk, men krever selvsagt at de som programmerer gjør det på den måten.

Det som skiller Haskell er typesystemet og syntaksen. Der er det mye snacks som også blir plukka opp i andre språk, sakte men sikkert. Så det språket jeg har lyst på er egentlig bare en fremtidig versjon av typescript som støtter funksjonell programmering bedre. Det hadde vært kult hvis de klarte å legge inn noe hvor du kan vite helt sikkert at en funksjon er pure, men det vet jeg ikke om er mulig. Det er en issue på det faktisk: https://github.com/microsoft/TypeScript/issues/7770

Har også lyst til å test en variant av prolog. Det er et helt annet paradigme som jeg aldri har fått prøvd noe særlig.

3 Likes

Ble litt gira på å gi Lisp/Clojure en go etter at jeg leste denne

Lisp er jo et urgammelt språk, helt i sin egen paradigme, hvor kode er data. Minner meg litt om et prosjekt vi jobbet sammen på @mrloba :grinning:

1 Like