Skal jeg lære flere programmeringssprog?

Som udvikler er programmeringssprog et af vores centrale værktøjer. Det kan derfor være tiltrækkende at definere sig ud fra vores programmeringssprog og med stolthed i stemmen sige "Jeg er Java-udvikler!" Når det kommer til stykket kan man jo det samme i alle sprog og det letteste er bare at bruge det samme hele tiden, ikke?

Det er det basale spørgsmål Stefan Tilkov stiller i sit foredrag Challenges & Chances in Polyglot Programming og besvare gennem en
række teser.

Første pointe er at sprog ikke er ens og at de i høj grad påvirker hvordan vi tænker. Det gøre os derfor til bedre programmører at lære forskellige sprog, fordi vi får udvidet vores horisont.

Programmeringssprog er også meget mere end bare syntaks og semantik. Det er et helt økosystem, der ud over selve sproget består af alle de omgivende libraries og communities. Hele dette økosystem påvirker hvordan sproget kan bruges og hvilke problmer der er lette at løse.

Desuden bliver det lettere og lettere at bruge forskellige sprog som en del af samme projekt. I dag bliver mange sprog baseret på virtuelle maskiner der understøtter flere forskellige sprog. For eksempel kan man med JVM køre vidt forskellige sprog som Java, JRuby og Clojure i samme applikation. Desuden lægger distribueret design i langt højere grad op til at de enkelte services ens applikation består af kan implementeres individuelt.

Så selvfølgelig skal vi ikke frygte at bruge flere sprog i et fornuftigt miks. Men der betyder ikke at der ikke er grænser. Hvis hver enkelt udvikler i et større projekt bruger hver sit sprog, gør man det umuligt at vedligeholde projekter.

Common sense applies!

Kommentarer (5)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Anonym

Kan jeg klart anbefale lisp. Det er både sjovt, og det har mange dejlige ting at man kan tage fat på.

Mange af disse features er så arvet til andre sprog, så man kan som regel finde en ting eller to fra lisp i andre sprog.

Oooog lige en sjov en: http://en.wikipedia.org/wiki/Greenspun's_tenth_rule

Opdatering: Jeg skal så sige at jeg mest koder i enten nodejs eller python hvis jeg lige skal knalde noget sammen.

  • 2
  • 0
Peter Juhl Christiansen

Er ud af en særligt udvalgt skare der har lært de geniale sprog Trine og Beta mfl som studerende i Århus. Den gang havde Daimi det som deres filosofi at man skulle være bekend med de forskellige paradigmer inden for programering (procedural, Objekt-orienteret og Funktional som minimum).

Er i bagklogskabens klare lys meget glad for at være “tvunget” til at lære forskellige sprog, og har siden lært mig selv en del nye. Kastede mig fx. over Ruby for nok ca 12 år siden, og bruger det i dag til et utal af ting som Java eller C ikke er oplagt til.

Fortiden er Clojure det jeg har valgt at kaste mig over, selvom sprog som Erlang og Haskell uden tvivl også ville kunne udvide min horisont.

For mig er der ingen tvivl at Funktional programering er et nyttigt redskab. Og at det jeg i Clojure bruger Pure Functions, High order Functions (HOF’s ...skål : ) og imutabilety, har ud over at gøre mig til Clojure programmør også har gjort mig til en bedre Java programmør.

Så til enhver derude der betragter sig selv som software udvikler vil jeg anbefale at man finder sig et nyt sprog man kan lære, også selvom det bare er fx Dart ...(that was a joke)

  • 0
  • 0
Log ind eller Opret konto for at kommentere