2008-02-22 06:10
- Computer Sweden:
Lär dig flera språk
Av
|
Utvecklarfrågan
Vilket eller vilka programmeringsspråk har framtiden för sig och är därmed värda att investera tid i och pengar på?

Tobias Fjälling är konsult på Dotway.
Svar: I dag är knappast programmeringsspråket den största barriären för utvecklare. Vi bygger i dag kod på befintlig kod som tar tid att sätta sig in i. Kunskap om ramverk, verktyg och väldesignad kod tar längre tid att lära sig än programsyntax.
Därmed inte sagt att valet av programmeringsspråk är ointressant. Faktum är att jag själv ofta reflekterat över varför vi fortfarande inte har en högre abstraktionsnivå för programmeringsspråk än dagens standard. Varför ska vi behöva skriva mycket kod för att uträtta lite?
Jag tror att svaret står att finna i orden flexibilitet och kontroll. När vi höjer abstraktionsnivån till en allt för hög övergripande nivå förlorar vi den finkorniga möjligheten att tillverka önskvärd funktionalitet. Trots att drömmen om fjärde generationens språk, 4gl, funnits i årtionden så finns alltså alltjämt
behovet av tredje generationens språk som exempelvis C++, Java och C#.
Det trevliga är att det fortfarande händer en hel del. Exempelvis har många moderna språk blivit av med den otrevliga minneshanteringen. Vidare ser vi förbättringar genom en allt enklare syntax i nya versioner av språken.
C# och Java är exempel på statiskt typade språk. Det ger stora fördelar bland annat som skydd mot kompileringsfel. En viktig egenskap i form av ett tidigt skyddsnät med tanke på att många utvecklare är unga och oerfarna.
De senaste åren har dynamiska språk som exempelvis Ruby och Python seglat upp som potentiella utmanare till statiskt typade språk. Jag är själv jätteintresserad av den utvecklingen eftersom många av dessa språk tillåter en förenklad och förkortad syntax. Det är en stor fördel eftersom vi programmerare kan bli mer produktiva.
Inget gott utan något ont, brukar det heta.
En slimmad syntax ger en mindre tydlighet vilket är ett potentiellt problem för ovana programmerare.
Dessutom kräver dynamiska språk stor disciplin på grund av det minskade typstödet. Testdriven utveckling har här en bonuseffekt i att sådana fel kan fångas tidigt.
Slutligen saknas ofta funktionen Intellisense, att utvecklingsverktyg hjälper till att skriva kommandon. Jag är dock övertygad om att stödet kommer för dynamiska språk också. Exempelvis har Microsoft lyckats att skapa Intellisensestöd för Javascript i Visual Studio 2008. Inte illa.
Det här är ett stort område som inte kan täckas in av en krönika. Vilket språk som är bäst för framtiden är självklart svårt att sia om. Jag skulle i stället vilja säga att du bör vara lite pragmatisk och lära dig flera språk. Fördela äggen i flera korgar!
OBS! Denna artikel är mer än tio dygn gammal och är därför stängd för vidare debatt.