Her er læsernes 20 bud på programmeringssprog, de gerne vil lære

Der er både sprog fra 1960'erne og 2010'erne blandt de forslag, Version2-læserne kommer med som svar på spørgsmålet: Hvilke programmeringssprog vil du gerne lære?

Ligesom ved naturlige sprog, så har valget af programmeringssprog også stor indflydelse på slutresultatet. Det er blot ét godt argument for at lære flere forskellige typer programmeringssprog. Og når vi samler op på læsernes forslag til sprog, man bør lære, så er det også et ganske bredt spektrum.

Mine bud på fem programmeringssprog, jeg gerne ville lære, hvis jeg havde tid, var Julia, Lua, Cobol, Swift og Rust. Dem er der også flere læsere, der peger på. Men de har også nogle ganske spændende forslag, som også var boblere på min liste.

Læs også: 5 programmeringssprog jeg gerne ville lære - hvis jeg havde tid

Helt overordnet ser der ud til at være tre store grupperinger blandt læserforslagene: Sprog, der handler om at forstå programmeringssprog; sprog, der prøver en ny tilgang til et etableret sprog; og sprog, der er historisk interessante. Naturligvis er der sprog, der falder ind i flere af grupperne.

Jeg har medtaget stort set alle forslag fra kommentarerne - ingen sprog er for obskure, fjollede eller besværlige, når vi taler om at lære et sprog for at udvide sin horisont.

Af hensyn til fairness kommer forslagene her i alfabetisk rækkefølge. Bær over med mit begrænsede detailkendskab til hvert enkelt sprog:

1ML: Et sprog, der er på et meget tidligt stadie, men vil forsøge at integrere klassikeren ML's modulsystem mere i sproget.

APL: Her kan det kræve en ekstra indsats, hvis man vil helt tilbage til rødderne og bruge de matematiske tegn. Til gengæld handler det om arrays, hvilket er ret specielt.

Assembler: Vor blogger Poul-Henning Kamp bringer Assembler på banen som et sprog, alle bør prøve for at forstå, hvad der i virkeligheden foregår neden under højniveausprogene.

D: Et interessant alternativ til C++ med understøttelse for hele fem forskellige programmeringsparadigmer.

Elixir: Et af de hotte sprog til funktionel programmering, som kan køre på Erlangs virtuelle maskine.

Elm: Et funktionelt sprog til browseren, hvor Signals gør det nemt at bruge input som eksempelvis musens position.

F* Endnu et sprog i familie med ML, hvor koden også kan oversættes til F#. Det smarte ved F* er, at det giver mulighed for at vise, at funktioner fungerer korrekt.

Forth: Stakprogrammering og omvendt polsk notation? Et konkatenativt sprog? Forth er en klassisk niche i historien.

Go: Googles bud på et sprog, der kan fungere som alternativ til C++, men med en række af de funktioner, man forventer i moderne sprog som eksempelvis garbage collection og mindre komplekst.

Haskell: Et af de funktionelle sprog, der insisterer på at være funktionelt og samtidig rammer ret præcist med sine statiske typer og type inference. En nyklassiker.

Idris: Er stadig i en meget tidlig fase, men brugen af afhængige (dependent) typer er ret eksotisk.

Intercal: Når man har kigget lidt for længe på nogle af de gamle sprog, så kan det være på sin plads med en dosis Intercal. Det samme gælder, hvis man har kollegaer, der er tilbøjelige til at skrive ulæselig kode.

Kotlin: Jetbrains Kotlin-projekt giver kode, der både kan køre på Java Virtual Machine og oversættes til Javascript, så det også kan bruges i browseren. Ligesom der er flere 'et bedre C++' på denne liste, så er der også et par 'et bedre Java', og Kotlin er et godt bud.

LISP: Det kunne have været på listen blot fordi det er en absolut klassiker, der har påvirket utallige sprog. Men LISP er mere aktuel lige i øjeblikket end Fortran, Algol og Cobol, fordi mange nye sprog henter deres inspiration fra det arbejde, der har været med LISP gennem årene. Og så har LISP altid været en favorit til forskning i kunstig intelligens.

Perl 6: Perl er et sprog, der nok har haft sin guldalder, men altid har været kendt for at være godt til at behandle tekst. Mens Perl 5 stadig er standarden, så er Perl 6 skilt ud som et selvstændigt sprog og i virkeligheden ret anderledes end standard Perl.

R: Sproget for statistiknørder. Eller faktisk kan det bruges til mange matematiske formål og nyder ganske stor understøttelse til kommercielle formål.

Racket: Med Racket bliver det lidt ekstra meta, fordi det er sprog, der er beregnet til at lave sit eget sprog. Eller i hvert fald opfordres man til at skabe en dialekt.

Ruby: Et script-sprog, hvor alt er objekter, og med sin egen variant af closures.

Scala: Et af de mere etablerede sprog på listen, som kombinerer det objektorienterede og det funktionelle i applikationer, der kan køre på Java Virtual Machine.

Smalltalk: Er måske mest interessant for den indflydelse det har haft på måden, vi programmerer på, snarere end de tekniske spidsfindigheder. Og så er det endnu et eksempel på, hvor meget tak vi skylder Xerox' legendariske Palo Alto Research Center.

Følg forløbet

Kommentarer (6)

Erling Sjørlund

Henvisningen til intercal har foreløbig kostet mig to dage med ondt i maven, og jeg er ikke gennem manualen endnu. Det er første gang et indlæg fra V2 har haft fysiske virkninger på mig, når jeg ser bort fra søvnmangel.
Er det en ny variant af begrebet computer-virus?

Kjeld Flarup Christensen

Nu tror jeg at jeg har programmeret i 20-30 forskellige sprog efterhånden, så jeg har ikke de store lyster længere. Behovet kommer til at drive det.

Selvfølgelig har jeg også kodet i Assembler, det var faktisk de første sprog jeg lærte efter basic, fordi der virkeligt var noget at hente ved det hop. Så jeg kom ind på et tidspunkt hvor assembler var muligt at overskue.

Jeg har så et par enkelte gange vendt tilbage til assembler, mest for at debugge,.
Det er vel allerede 20 år siden at dommen lød, overlad assembler til compilerens optimizer. Det er den meget bedre til. Og selv de tåbeligste algoritmer kan en optimizer rette op på.

Jeg vil sige at det er sværere at lave et stykke høj niveau kode, som på assembler niveau ender i en katastrofe, end det er at skrive noget højniveaukode som afvikler effektivt.

Assembler er også blevet endnu mere uoverskueligt med CISC og RISC CPU'er og mix af disse, og dertil kommer et hav af registre. Assembler i dag er ikke designed til at programmere i.

Thorbjørn Vest Andersen

...optræder slet ikke på listen. Jeg håber ikke, det fordi py allerede er yt? (skyldes nok nærmere, at jeg ikke er 'techie', og derfor har misforstået spørgsmålet stillet til læserne)

Troels Henriksen

...optræder slet ikke på listen. Jeg håber ikke, det fordi py allerede er yt? (skyldes nok nærmere, at jeg ikke er 'techie', og derfor har misforstået spørgsmålet stillet til læserne)

Det er nok fordi Python er enormt mainstream, og de fleste kan det i større eller mindre grad. Det er ikke et sprog man lærer for at få nye spændende erkendelser (hvilket lidt var idéen med det oprindelige indlæg, så vidt jeg forstår), men derimod et sprog man lærer for at skrive et program i Python.

Jens Henrik Sandell

Hvorfor er DJØF Abstract Language ikke med på listen?
Der er forfærdelig mange bugs "derovre" som vi burde fixe. Det ville gøre verden et bedre sted at være.

Jens.

Log ind eller opret en konto for at skrive kommentarer

JobfinderJob i it-branchen