Ruby

Ruby, ett av de många språken i den heta språkstriden. Foto: Elliott Cable.
En artikel nyligen i Computer Sweden om tre språkval för utvecklare blev uppmärksammad. Det finns definitivt ännu fler språkval som är strategiskt viktiga för många utvecklare. Här är tre att fundera över.

C# eller Visual Basic?
Visual Basic har varit ett mycket strategiskt språk för Microsoft sedan början av 90-talet. Men sedan lanseringen av Dotnetplattformen 2002 har det fått maka på sig till förmån för det Javaliknande C#. Båda är första klassens medborgare i Dotnetlandet, men det är ingen tvekan om att C# har högre status internt på Microsoft, och även bland världens alla Dotnetutvecklare. Framtiden tillhör C# i högre utsträckning än Visual Basic.

– Båda språken vidareutvecklas av Microsoft, men jag kan inte komma på något tillfälle när Visual Basic skulle vara det bättre valet. I stort sett alla kodexempel från Microsoft skrivs i C#, säger Magnus Mårtensson, egenkonsult på Martensson Consulting med många utnämningar, till exempel Microsoft Azure Most Valuable Professional.

Det som talar till Visual Basics fördel är att enormt många utvecklare kan språket och att väldigt många applikationer utvecklats med det. Ytterligare en fördel är att olika varianter av Visual Basic förekommer i andra sammanhang än för ren applikationsutveckling, till exempel för att skriva Excelmakron och för systemprogrammering i Windows. För vissa utvecklare som blandar olika arbetsuppgifter är det en fördel. Visual Basic och C# har tillgång till precis samma bibliotek och de kan blandas i projekt.

Vilket av de båda språken är trevligast att arbeta med?

– Jag föredrar C#. Visual Basic känns omfångsrikt, det blir mycket text, säger Magnus Mårtensson.

Undertecknad föredrar Visual Basic. Det är mer likt vanligt språk och därför i mitt tycke enklare att begripa. Tyvärr har renheten i Visual Basic fått sig en rejäl törn när det anpassats till Dotnet. Anpassningen har lett till en del konstruktioner som inte känns lika naturliga som i motsvarigheterna i C#.

Läs mer: Knökfullt på Jfokus

Python eller Ruby?
Python och Ruby är tvillingsjälar. Båda anses vara representanter för ren, till och med ”vacker”, kod av sina förespråkare. Båda används mycket för webbutveckling tack vare populära ramverk, Django för Python och Rails för Ruby. De används ofta för att skapa likartade typer av applikationer.

Vad skiljer dem åt?

– De är väldigt lika, men Python är striktare, till exempel vad gäller indrag i koden. Django och Rails skiljer sig åt en del. Rails är mer modulärt och Django mer komplett från början i ett projekt, säger Björn Henriksson, webbutvecklare på Cyber Milkshake som har erfarenhet av båda.

Vilket av språken har vackrast syntax?

– Med risk för att bli slagpåse i debatter säger jag Python. Det tvingar programmeraren till bra struktur i högre utsträckning.

Pythonförespråkarna har dessutom ett hemligt vapen i arsenalen. Läs vidare.

Läs mer: Rubys skapare gör funktionellt språk

Python eller R?
R som är ett tämligen renodlat språk för statistik är i ropet just nu, i tider av big data och dataanalys i största allmänhet. Men Python i kombination med specialiserade bibliotek tar allt mer plats på det här området.

Mikael Huss som är forskare på Stockholms universitet och Scilifelab använder båda:

– Python tillsammans med olika bibliotek har ryckt upp sig som dataanalysspråk på senare år. Om jag ska göra mycket stränghantering använder jag Python eftersom det är snabbare på det, säger Mikael Huss som jobbar mycket med dna-analyser.

Men han ser fördelar med R också:

– Det finns otroligt många statistikbibliotek till R och nya metoder presenteras ofta tillsammans med R-bibliotek. Fast det är inte så kul att skriva mer generella program med R, även om det går.

Här finns nog den största fördelen för Python, det passar kanske bättre för programmerare som blandar beräkningsintensiva tillämpningar med andra typer. Det finns också skillnader för datraanalystillämpningar:

– Min erfarenhet är att R passar bra för måttliga datamängder, men inte lika bra för storskalig distribuerad databehandling, säger Johan Pettersson, konsult på Big Data AB.