Her er de 9 programmeringssprog der rykker i 2011

Lua, R og Clojure er de 'undergrunds-sprog' med mest fremgang lige nu. Det viser en ny top ni-liste, dannet ud fra en analyse af amerikanske it-jobopslag.

Vil du være med forrest i bussen, når der skal hyres kodekarle til nye projekter? Så var det måske værd at kaste sig over sprog som Lua, R og Clojure.

Det er nemlig de tre mindre programmeringssprog, som lige nu oplever mest vækst i efterspørgslen på jobmarkedet, fremgår det af et indlæg af Robert Diana på Java-delen af webstedet Dzone.com.

Han har blandt andet trukket data ud fra den amerikanske it-job-webside Indeed.com for at se, hvilke sprog-kundskaber som arbejdsgiverne efterspørger nu. Alle de store, kendte sprog som Java, C++ og C# er fjernet for at se, hvilke af de mindre brugte sprog, der rykker.

Ved at køre tallene sammen med andre data, for eksempel en årlig liste over programmeringstrends fra Tiobe Software, endte han til sidst med følgende rangorden:

  1. Lua
  2. R
  3. Clojure
  4. Go
  5. Erlang
  6. Scala
  7. Groovy
  8. Scheme
  9. Actionscript

Lua, der er havnet øverst, er et relativt simpelt scriptingsprog, med rødder i Brasilien, som især bliver brugt til computerspil. På andenpladsen ligger R, som bliver brugt til statistiske analyser.

Af de ni på listen er Actionscript, der bliver brugt i Flash-sammenhæng, klart det mest efterspurgte, men med en nedadgående tendens, hvilket sender den nederst på listen. Blandt de sprog, der er sorteret fra som 'store sprog', nævner Robert Diana også Python og Objective-C som kandidater til sprog, der rykker.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (14)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Anonym

Vil du være med forrest i bussen, når der skal hyres kodekarle til nye projekter?

Nej. Jeg er ingeniør. Hvis jeg var en kodekarl, ville jeg flytte til Indien.

  • 1
  • 0
#2 Daniel Madsen

Hvis man skal vurdere det i forhold til ens egne jobmuligheder, så er det måske netop de store og kendte sprog der giver mest mening at fokusere på, som meget belejliget er fjernet fra listen.

Hvis 90% af alle jobansøgninger ligger indenfor de store kendte sprog (hvilket nok ikke er helt urealistiskt) og de sidste 10% ligger fordelt på de der minoritets-sprog og man antager at virksomhedens sprogvalg ikke er eneste faktor man interesserer sig for som jobansøger - så svinder udvalget altså hurtigt ind, hvis man føler for at satse på et af de der sprog.

Derudover skal man nok ikke tro at denne liste gør sig gældende for danske forhold. Så jeg håber da at arbejdsløse udviklere lige vil tænke sig om 2 gange inden de hopper på indholdet af den her artikel :-)

  • 0
  • 0
#3 Anonym

Man kunne også lære dem for sjov :-) og hvis det så kan resultere i noget der kan give point på CV'et er det jo bonus.

Hvis jeg ikke havde taget sprog op for sjov kunne jeg kun det java, som jeg havde lært på studiet, og det ville jeg syntes ville være kedeligt :-) Det er jo dumt at låse sig selv fast. (Ligesom det er i mange andre hensener også)

  • 0
  • 0
#4 Daniel Madsen

Det skader aldrig at lære noget, men hvis man sidder som arbejdsløs er der måske nogle ting der kunne give mere mening at få noget erfaring indenfor end andet :)

Og jeg vil mene at det er oplagt at kigge på hvad virksomhederne generelt søger efter.

Der søges f.eks. forholdsvis mange C#/ASP.NET udviklere løbende, så kan man f.eks. C# men ikke er så meget inde i ASP.NET eller webudvikling generelt - så var det måske bedrer at bruge tiden på det og kunne skrive de kompetencer på CV'et fremfor Lua, R eller Clojure. Det ville ihvertfald være mit råd :-)

  • 0
  • 0
#5 Anonym

Et andet argument er at sige: "Der er så mange af dem der kan <indsæt noget stort her>" derfor er det bedre at jeg også lærer mig <indsæt småt her>."

så man fx. samtidig med c# lærer sig erlang eller sådan noget.

  • 0
  • 0
#6 Daniel Madsen

Problemet er så lige hvor mange virksomheder i Danmark der reelt har brug for kompetencer indenfor eks. kombinationen C# og Erlang, hvis vi skal tage udgangspunkt i den - mit gæt er at hvis sådanne eksisterer, så kan de tælles på én hånd og hvis de kræver så specielle kompetencer, så vil de have folk med min. 5+ års erfaring i begge sprog.

Det vil næppe være nok at man har leget lidt med erlang ved siden af mens man var på dagpenge.

Ergo, jeg tror det er en dårlig strategi som arbejdsløs.

  • 0
  • 0
#7 Jesper Louis Andersen

Naturligvis er tallene misvisende. Grundliggende set kan man ikke bruge antallet af jobopslag til noget som helst, da de i nogen grad udgør tallet

D - S

hvor D er efterspørgslen (Demand) blandt virksomheder og S er udbuddet (Supply) af programmører med de nødvendige erfaringer. Hvis et sprog er "mættet" hvad angår jobopslag, så er tallet tæt på 0. Det ses f.eks. for Erlang, hvor jeg ved det er traditionen at snuppe de bedste via headhunting i stedet for at slå et jobopslag op. Typisk trækker man udvikleren fra et C# eller Java-job fra en anden virksomhed, eller ved at pille de bedste fra en universitetsårgang. Det samme vil formentlig gøre sig gældende for R eller Clojure. Med andre ord er disse job slet ikke repræsenteret på en jobbørs.

Dertil kommer at mange virksomheder af en hvis størrelse laver spredehaglsjobopslag. Tag f.eks. de store banker i Danmark, der næsten altid har et jobtilbud ude. Det handler om at få fingre i udvikleren først, og så finde ud af hvad vedkommende skal lave bagefter. Naturligvis påvirker dette tallene.

Til sidst men ikke mindst, så er Java eller C#-programmering temmeligt mainstream og dermed det første Indien og Kina vil kaste sig over (Bortset fra det lille firma i Shanghai jeg kender som laver Erlang-serverede reklamer til Flash-computerspil og tjener godt på det :). Det er altså der hvor outsourcing slår igennem først.

Sidst men ikke mindst, så er der god grund til at have en sprogmæssig horisont. Hvis du kun kan et programmeringssprog, så er det svært at sadle om. En god udvikler kan skrive programmer i hvadsomhelst - hvadenten det er Prolog, C eller COBOL.

  • 0
  • 0
#8 Jesper Louis Andersen

Problemet er så lige hvor mange virksomheder i Danmark der reelt har brug for kompetencer indenfor eks. kombinationen C# og Erlang, hvis vi skal tage udgangspunkt i den(..)

Rigtigt mange virksomheder kunne have brug for det. De ved det bare ikke selv og derfor slår de ikke stillinger op. Heldigvis er det sådan i den globale verden at du ikke behøver at arbejde i Danmark - så et nichesprog har stadigt gode kår selvom udviklerne er sporadisk spredt.

Lua har f.eks. indfundet sig som defacto-standarden for embedding i computerspil, mere eller mindre. Mange mange regelsæt til moderne computerspil er skrevet i Lua og det er fordi det så er meget nemmere at pille i reglerne og hurtigt se konsekvensen af ændringen.

  • 0
  • 0
#9 Daniel Madsen

Jesper: Jeg er principielt enig i din beskrivelse af hvordan virksomhederne typisk finder medarbejdere og dygtige udviklere skal da nok finde sig et job på den ene eller anden måde - folk der er dygtige nok til at blive headhuntede er denne artikel nok næppe så interessant for :-)

Men hvis du skulle give et råd til folk der er kommet ud af et studie uden at blive headhuntet og som er gået direkte på dagpenge og gerne vil pynte på CV'et i håb om at få en fod indenfor et sted, hvad skulle det så være? Ville det være at kaste sig over et af de nævnte sprog i artiklen?

Og selvfølgelig kan man flytte ud af landet, men det er nok lidt nemmere at sige end at gøre i praksis - det kunne jo også være man havde kone og børn der komplicerede det :-)

  • 0
  • 0
#10 Lasse Lindgård

Jeg har set de her artikler med kilderef. til Tiobe i flere år. Det skurer altså i ørene ud fra min personlige opfattelse af hvad der er "cool".

Lad os prøve at holde deres resulater op mod en jobsøgning på monster.com i USA:

Java: 1000+ jobs C#: 1000+ jobs C++: 1000+ jobs Perl: 1000+ jobs Javascript: 1000+ jobs PHP: 1000+ jobs C: Svært at sige, for meget støj Python: 890 Ruby: 617 XSLT: 488 Objective C: 453 ActionScript: 355 BASH: 236 COBOL: 236 RPG: 79 Fortran: 77 Delphi: 69 Groovy: 60 Scala: 20 Erlang: 16 Lua: 15 R: Svært at sige, for meget støj (fandt ingen ved stikprøver i søgeresultat)

Ovenstående svarer mere til min mavefornemmelse af hvad der sker i verden. TIOBE er altså lidt mystisk.

Her er nogle google trends grafer http://www.google.com/trends?q=java+programming,+php++programming,+c%2B%...

http://www.google.com/trends?q=lua+programming,+r+programming,+scala+pro...

I Tiobes definition, er de meget glade for at søge efter navnet på sproget + programming. http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm

Man kan overbevise sig selv om at det er helt galt ved at se på resultaterne for hhv. clojure og programming clojure på google trends.

Mit råd: Ignorer alt fra Tiobe - det er gætværk.

  • 0
  • 0
#11 Jesper Louis Andersen

Men hvis du skulle give et råd til folk der er kommet ud af et studie uden at blive headhuntet og som er gået direkte på dagpenge og gerne vil pynte på CV'et i håb om at få en fod indenfor et sted, hvad skulle det så være? Ville det være at kaste sig over et af de nævnte sprog i artiklen?

Hvis du vil pynte dit CV så er det værd at skaffe sig nogen af de støttekompetancer der nu engang er omkring udvikling: Lær noget om versionskontrol, noget om test og noget om produktion. En rigtig god måde at lære det på er at kaste sig over et Open Source Project på "for sjov" basis et par timer om ugen og så ellers suge til sig af hvordan det køres. Studier har det ikke med at lære dig nogen af disse nok-så-vigtige færdigheder.

Naturligvis kan de lege med udbuddet og så ellers dygtiggøre dig i Java eller C#-teknologierne. Som regel er der massive frameworks som bliver benyttet af virksomhederne, så sæt dig ind i dem og hav en mening om dem. Men pas også på: Nogen gange har et job ligget i lang tid fordi ingen vil røre det med en ildtang. Så bare fordi udbuddet er stort er det ikke nødvendigvis en fryd.

Hvis målet er at få et job, nu, så kan du som regel altid, med en uddannelse i hånden, skrue på jobbets niveau, jobbets løn, hvor spændende jobbet er, hvad arbejdsmiljøet er og så videre. Det ændrer dine chancer, men hav også for øje at du måske helst vil bruge det job som en trædesten for at komme over åen.

Hvis man slet ikke kan programmere, så er Python eller Ruby ikke helt tossede valg. Du kan hurtigt komme igang og der går ikke lang tid før det begynder at give nytteværdi, selv om du ikke bruger dem direkte (småscripts er altid værd at kunne kværne ud).

Hvis du allerede kan Java, så er Scala, Groovy og Clojure fra listen interessante fordi de allerede kører på JVMen og du derfor umiddelbart kan drage fordel af den nye viden du lærer - samtidig med at du kan retrofitte den ind i din Javakunnen.

R og Scheme ville jeg nok mest kun røre for "sjov".

Lua er enormt nemt at embedde. Hvis du kan noget C++ er det bestemt værd at sætte sig lidt ind i hvad det kan.

Go og Erlang er begge bud på systemsprog for at skrive massiv-concurrency applikationer. Du kan godt få job på dem, men som regel vil de firmaer helst have folk med en masse erfaring, også udenfor de nævnte sprog. (Disclaimer: Jeg er temmeligt meget rodet ind i Erlang, semi-professionelt og noget i Ocaml).

  • 0
  • 0
#12 Deleted User

Tiobe afgør popularitet af programmeringssprog alene ud fra antal "hits" i forskellige søgemaskiner, altså webpræsens, og ikke ud fra antal jobopslag e. lign. De beskriver deres metode: der er ikke tale om gætværk. Mere problematisk er det, at de har ændret metoden over tid, så det er visse tidspunkter på deres oversigter, hvor man ikke kan sammenligne før og efter.

Popularitet har så mere at gøre med, hvad der er en vogue, end hvad der rent faktisk bliver programmeret mest i, eller eventuelt, hvad en bestemt branche-niche bruger mest.

  • 0
  • 0
#13 Morten Hattesen

Selvom de små obskure sprog har stor vækst, er det ikke ensbetydende med at "det er der, det sker i 2011". En vækst fra 0,1% til 0,2% markedsandel er stor, men ikke lige der, jeg ville investere mine efteruddannelsespenge.

Jeg mener det er vigtigt som programmør (gammeldags ord, men nok det mest beskrivende), at have sit metodeapparat i orden, og at kende de libraries/API'er der hører til platformen. Sprog og værktøjer er, om ikke underordnede, så mindre betydende for produktiviteten.

Mennesker kan gøre en faktor 10 forskel, sprog og værktøjer en faktor 2. Så det gælder om at vælge de rette mennesker, fremfor de rette værktøjer - lidt forenklet sagt.

Men udviklingen i programmeringssprog leder hen imod mere funktionelle sprog simpelthen fordi det med disse sprog skalerer lettere til at udnytte det stigende antal processorkerner som er til rådighed. De store ikke-funtionelle sprog arbejder også på højtryk for at inkludere funktionelle elementer i sproget.

Så mit råd til efteruddannelsesbudgettet: Læs "Seven Languages in Seven Weeks" http://goo.gl/W90xU

Det at lære nye sprog med nye paradigmer gør, at du bliver bedre til at kode i de sprog, du allerede benytter.

Se i øvrigt denne glimrende paneldiskussion "The Future of Programming Languages" http://goo.gl/krKKJ (Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate)

Og de vigtigste budskaber for programmører i de traditionelle sprog "Java, C++, C#) er: 1. Don't share mutable state between threads. Share immutable state, or keep mutable state localized. 2. If you feel you have to: Reconsider. 3. If you have no option: Choose existing well-tested libraries and techniques for sharing mutable state, locking, synchronizing, ...

  • 0
  • 0
#14 Morten Juhl-Johansen Zölde-Fejér

Jeg er enig med Jesper Louis Andersen - det er rigtigt, at man naturligvis har skullet lave noget konkret, før programmeringskompetancerne er anvendelige. Det burde være argumentet for at checke nogle af open source-projekterne - at finde noget på Sourceforge, som ikke er gået i sig selv igen, men er vel i gang.

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