Den vanligste kategorien spørsmål på dette forumet her er den som forsøker å få svar på hvilket programmeringsspråk man bør begynne med, eventuelt hvilket språk som er best egnet til ditt og datt.
Det vanligste svaret man får her er Python, deretter en blanding av Java, C og C++, etterfulgt av C# og VB.NET i omtrent den rekkefølgen. Selv har jeg slengt inn Ruby som et forslag et par ganger, men føler jeg ble møtt med nokså tomme blikk.
Jeg tror dette forumet representerer en litt uvanlig blanding utviklere, og vil anbefale dem som ber om råd å vurdere kilden nøye. For å sjekke edrueligheten av disse rådene sammenlignet jeg dem med ThoughtWorks' Technology Radar for januar 2011, for å se hvilke anbefalinger de gjør i forhold til språk.
Språk som har bevist sin styrke, som fortsatt har en fremtid, og som utviklere bør bruke i dag er:
Språk som det er på høy tid å eksperimentere med er:
I tillegg har de en liste med språk man kan begynne å vurdere - språk de har tro på for fremtiden:
Så hva skal vi trekke ut av dette? La meg foreslå følgende observasjoner:
Det finnes mange ulike kriterier for å velge språk. Men som nybegynner er man ofte interessert i noe som er velbrukt, språk som gir størt mulig muligheter for fremtiden. Basert på dette vil jeg komme med følgende anbefaling for nybegynnere:
Oppdatering:
At disse rådene sammenfaller med "mine egne språk" gjør ikke argumentasjonen subjektiv. Men for ordens skyld, jeg koder først og fremst i C#, Ruby og Clojure.
8D
Det vanligste svaret man får her er Python, deretter en blanding av Java, C og C++, etterfulgt av C# og VB.NET i omtrent den rekkefølgen. Selv har jeg slengt inn Ruby som et forslag et par ganger, men føler jeg ble møtt med nokså tomme blikk.
Jeg tror dette forumet representerer en litt uvanlig blanding utviklere, og vil anbefale dem som ber om råd å vurdere kilden nøye. For å sjekke edrueligheten av disse rådene sammenlignet jeg dem med ThoughtWorks' Technology Radar for januar 2011, for å se hvilke anbefalinger de gjør i forhold til språk.
Språk som har bevist sin styrke, som fortsatt har en fremtid, og som utviklere bør bruke i dag er:
- Ruby (og JRuby, dvs Ruby på JVM)
- C# 4.0
- JavaScript som et fullverdig språk
Språk som det er på høy tid å eksperimentere med er:
- Groovy
- Scala
I tillegg har de en liste med språk man kan begynne å vurdere - språk de har tro på for fremtiden:
- Clojure
- F#
Så hva skal vi trekke ut av dette? La meg foreslå følgende observasjoner:
- Python er ikke på lista. Det betraktes ikke som et seriøst språk i enterprise-verden, Ruby har tatt den posisjonen som Python kunne hatt..
- C/C++ er ikke på lista. Dette er i dag nesten for special-purpose språk å regne, for dem som har behov for low-level systemprogrammering, utvikling av drivere, high perf etc. Og også på disse områdene mister C/C++ stadig mer grep.
- Java er ikke blant språkene ThoughtWorks anbefaler lengre. De sier tvert om at Java har utspilt sin rolle, og er i ferd med å avgå med døden.
- Det betyr derimot ikke at JVM er en død plattform, noe de andre språkene på listen viser (JRuby, Groovy, Scala og Clojure).
- Bransjen tror vi vil benytte mer funksjonell programmering i fremtiden, og kanskje spesielt i en hybrid form (Scala, Clojure, F#)
Det finnes mange ulike kriterier for å velge språk. Men som nybegynner er man ofte interessert i noe som er velbrukt, språk som gir størt mulig muligheter for fremtiden. Basert på dette vil jeg komme med følgende anbefaling for nybegynnere:
- Det finnes to språk du kan vurdere: C# og Ruby. De representerer to ulike kategorier språk, henhoildsvis statisk typet vs. dynamisk typet. Som utvikler bør du beherske begge, men du kan begynne med ett av dem
- Vil du ha et forsprang på andre utviklere bør du i tillegg lære deg et funksjonelt språk. Språkene bransjen har mest tro på er Scala, Clojure og F#.
Oppdatering:
At disse rådene sammenfaller med "mine egne språk" gjør ikke argumentasjonen subjektiv. Men for ordens skyld, jeg koder først og fremst i C#, Ruby og Clojure.
8D