Hvilke språk holder koken?

Hvilke språk holder koken?

Det finnes mange programmeringsspråk, men det er bare et par som kan kalle seg verdensspråk. Her er ekspertvurderingen.

- Vi ser noen tendenser. Det er et generelt fokus på språk for Java Virtual Machine, som Scala, Javascript, Groovy og JRuby. Hvilke språk som er på vei opp er drevet av ryktebørsen, sier Johannes Brodwall, Lead Software Architect i Bankenes betalingssentral.

Som i en slags skjønnhetskonkurranse presenteres programmeringsspråkene på catwalken. Noen blir veid, og funnet for lett. Andre får sitt gjennombrudd. Men det går i rolig tempo. Levetiden på et etablert programmeringsspråk er lang.

- Det er mange etablerte programmeringsspråk, og mange mener det er vanskelig for nye å etablere seg. Ingen språk dør av seg selv. De dør vel omtrent samtidig som programmererne. Cobol vil vil leve ihvertfall 40 år til, sier Brodwall.

Ruby har fått mye fokus den siste tiden, og klarte å lokke til seg rundt hundre utviklere til en brukerkonferanse i april. .Net arrangerte i juni sin første store brukerkonfereanse, med nesten tusen besøkende. Javazone er fremdeles den ubestridte ener målt i oppslutning på brukerkonferanser, med over to tusen besøkende.

- Java og .Net er omtrent like store i dag, men Java klarer å dra flere folk til konferansene.

- Hva kommer det av?

- Jeg kjenner ikke miljøet rundt .Net så godt, men det er vel riktig å si at et språk som Java i større grad klarer å skape entusiasme enn Microsofts proprietære løsninger, hevder Brodwall.

Webgrensesnitt

Det finnes mange språk der ute. Spørsmålet er om det er noen som utmerker seg. Er det enkelte språk som er på vei opp? Eller er det andre som går mot slutten av livssyklusen? Vi ringer til Institutt for informatikk ved Universitetet i Oslo.

- Nye programmer lages grovt sett i Java eller C#. Det som også har blitt populært i det siste er såkalt interpreterte språk, som Python, Perl og PHP. De er relativt langsomme, men lages mye til eksempelvis webgrensesnitt, sier Arne Maus, førsteamanuensis ved Institutt for informatikk ved Universitetet i Oslo.

Rask oversetting

Det er mange forskjeller mellom de ulike programmeringsspråkene, men det er ikke programmeringsspråket alene som utgjør forskjellen. Kompilatorene, som oversetter et program til maskinkode, er også svært viktige.

- En maskin skjønner ikke Fortran, Java, eller noe som helst, men oversetter det i cpu-en. Hvor godt et språk fungerer avhenger også av om det er investert mye penger i kompilatoren, mener Arne Maus ved Universitetet i Oslo.

Er man ute etter absolutt fart er det Fortran og C som gjelder, nettopp fordi kompilatorene er så mye bedre. Bransjen har investert mye penger i høyest mulig ytelse. På en cpu er det gjerne et par hundre enkle instruksjoner som utfører oversettingen. For å måle ytelse må man derfor vurdere hele kjeden, fra programmeringsspråk, kompilator og cpu. Det tar i tillegg et stykke tid fra en teknologisk endring i markedet, til det dekkes av både programmeringsspråk og kompilator.

- Det tok lang tid fra man fikk en 32-bits prosessor til man fikk et operativsystem og en kompilator som støttet det. Slik er det alltid. Vi ser et stort etterslep, mener Maus.

Vanskelig valg

Studenter må på et eller annet tidspunkt i utdanningen ta et valg. Hvilket språk skal man spesialisere seg på? Skal man bevege seg mot Java eller .Net? Valget er ikke enkelt. Å forutsi hvilket språk som vil dominere om 10-15 år er så godt som umulig.

- Se på min egen utdanning. Jeg er takknemlig for vi brukte Simula. Da sikret jeg meg ihvertfall å lære to programmeringsspråk. Jeg tror det viktigste er å lære flere språk. Det handler ikke bare om språket, men å lære hvordan man tenker som programmerer, mener Johannes Brodwall i BBS.

Ekspertens vurdering

Hva slags programmeringsspråk man velger avhenger av mange faktorer. Vi ba Johannes Brodwall vurdere de ulike språkene:

C: Det er mye aktivitet rundt C og C++, men ofte i avgrensede miljøer. I 2007 ble faktisk en ny brukergruppe for C++ stiftet i Oslo. Teknologieksportører som Trolltech, Opera og Tandberg har et veldig høyt fokus på C og C++. Språkene er mye brukt innen nisjeprodukter, og har alltid vært dominerende innen ytelsestunge områder. C og C++ er fremdeles det beste valget for hardwarenære problemstillinger, men lite egnet til for eksempel webapplikasjoner.

C#: Til tross for at språket er standardisert via ECMA, er det de facto et Microsoft-språk. Det er mange organisasjoner som benytter språket i dag. Spesielt har prosessindustrien alltid hatt fokus på Microsoft-teknologi. Språket brukes mye til rike klienter, men har også gode verktøy for webutvikling. Jeg oppfatter det slik at brukermiljøene er ganske dominert av selgere fra Microsoft, så miljøet mangler den samme gressrotentusiasmen som for eksempel Java.

Java: Java er nå nesten femten år gammelt og er blitt et veldig populært språk, spesielt til utvikling av webapplikasjoner. Javas største fortrinn ligger i åpenheten og entusiasmen i miljøet rundt plattformen. For eksempel organiseres JavaZone-konferansen i Oslo av fagmiljøet, ikke av Sun. Mange av de mest brukte bibliotekene til Java kommer også fra open source miljøet. Språket brukes mye innen telekom og bank/finans. Java Virtual Machine (JVM) er også en plattform som brukes til andre interessante språk, som Scala, JRuby og Groovy.

Fortran og Cobol: Jeg kjenner ingen som bruker Fortran, men det har klassisk vært et programmeringsspråk med stor utbredelse blant fysikere og andre som jobber med tungregning. Det er det eldste programmeringsspråket som finnes, og det brukes fortsatt. Det samme gjelder verdens nest eldste programmeringsspråk, COBOL, som fortsatt brukes for eksempel i mange bankers kjernesystemer. Programmeringsspråk lever like lenge som programmerende som kjenner det.

Andre språk: Høynivå scriptspråk som Ruby og Python har fått mange svært kraftige verktøy og rammeverk de siste årene. Markedet har imidlertid ikke fått øynene helt opp for potensialet til disse språkene enda. Til tross for kraften i språkene, er det fortsatt flere webapplikasjoner som er skrevet i eldre språk som Perl.

Denne artikkelen er hentet fra Computerworld-bilaget It-karriere med tema Java.

Les om:

Utvikling