Taler du C#?
Helt overordnet kan man inddele programmering i fire kategorier: Web, desktop, mobil og embedded (også kendt som indlejret programmering). Hvor man skal starte afhænger i høj grad af ens interesser. Her tager vi et kig på nogle af de mest populære sprog til forskellige formål.
web
\ Det letteste sted at starte er webprogrammering. Det mest basale kan laves uden dyre eller besværlige programmer. Koder man på en webserver, kan man se resultatet med det samme. Der er dog lige en enkelt faldgruppe, man skal passe på. Hvis man giver sig i kast med HTML-programmering, og derefter tror at man er klar til PHP eller noget endnu mere avanceret, kan man hurtigt blive skuffet. HTML er sproget, der ligger rammen om alt andet indhold på et website. Med HTML5 får man en lang række muligheder for at tilføje funktionalitet direkte i HTML-koden. Desværre er der lange udsigter til færdiggørelsen af HTML5-standarden, og man vil stadig være afhængig af andre sprog til en lange række avancerede funktioner på web.
Desktop
\ Den største forskel fra webprogrammering og til mere konventionel programmering er behovet for en compiler. Compileren er det program man skriver koden i, om som herefter omsætter – kompilerer – koden til noget CPU’en kan arbejde med. Altså fra while-løkker og if-statements til ettaller og nuller. Groft sagt.
Man skelner også mellem to typer programmeringssprog. Objektorienterede og traditionelle. De objektorienterede anvender funktionsklasser, der eksempelvis tillader en specifik funktion at blive brugt forskellige steder på tværs af programmet. Traditionel programmering kræver som udgangspunkt at al koden skrives for hver gang en funktion skal anvendes.
Mobil
\ Mobile enheder er allestedsnærværende og spås en fremtid som den vigtigste platform overhovedet i kommende år. Selvom der findes adskillige populære mobile hardwareplatforme og styresystemer, er sprogene der anvendes til at undertvinge sig maskinerne de samme. Der har længe været kamp mellem Objective-C og HTML5 om at være det mest populære sprog til mobile enheder. HTML5 er et websprog, der fungerer på mobil, fordi det skalerer godt – også grafisk. HTML5-apps er typisk webafviklede, og ofte begrænsede af hvad styresystemet vil tillade web-apps at afvikle og få adgang til.
Embedded
\ Lige før det bliver nuller og ettaller ligger maskinkoden. Når en computer sidder inde i en maskine kaldes den embedded, eller indlejret på dansk. Typisk er det tale om computere, der har en begrænset mængde faste opgaver, og derfor og ofte er begrænset i sin hardware, eksempelvis CPU-ahstighed, hukommelse og lagerplads. Derfor er sprog til indlejret programmering for det meste også begrænsede. Enten i størrelse eller funktionalitet. Selvom moderne styresystemer ofte eliminerer behovet for at tale direkte med elektronikken, er der ingen grund til at tro at maskinkode er på vej ud. Mængden af apparater, der skal have specialtilpassede styresystemer er stadigt stigende.
PHP
Platform: Web
Når tingene bliver komplicerede på internettet er der sjældent ét programmeringssprog, der kan gøre alt det du har brug for. PHP er et programmeringssprog, der er særligt egnet til websider, som skal hente og behandle indhold fra databaser – navnlig MySQL. PHP er Open Source, men bærer en række ligheder med Microsofts ASP.NET.
Hvorfor skal du lære PHP?
Det er en fremragende introduktion til programmering, og du behøver ikke at kunne sætte din egen server op, men blot leje dig ind på et webhotel, hvor du kan teste løs. PHP og MySQL er gratis at bruge, så når du bliver fortrolig med dem, kan du nemt selv sætte en server op. PHP læner sig syntaksmæssigt op ad C/C++, så hvis du senere vil give dig i kast med mere avanceret desktopprogrammering, er du godt på vej.
Populære alternativer til PHP: ASP.NET, Ruby on Rails.
JavaScript
Platform: Web
Scriptsprog findes i hobetal, hvoraf JavaScript stadig er det mest kendte og anvendte. Det giver er et kraftfuldt supplement til PHP og HTML på web, men kan ikke stå alene. Typisk anvendes JavaScript til at lave avancerede funktioner på hjemmesider af både visuel og funktionel karakter.
Hvorfor skal du lære JavaScript?
Hvis du vil arbejde med web og lave fede og moderne hjemmesider og funktioner er JavaScript umuligt at komme udenom. Helt grundlæggende gør JavaScript og lignende sprog dine websider levende. Med scripts kan du tilføje store mængder funktionalitet og interaktivitet, uden at tvinge serveren til at opdatere hele websiden på én gang.
Populære alternativer til JavaScript: ActionScript, JQuery, Dart, TypeScript
C
Platform: Embedded, desktop
Et af de helt grundlæggende – og traditionelle – sprog i moderne programmering, og måske det allermest anvendte programmeringssprog i verden overhovedet. Selvom det i dag nok er de færreste, der bruger det aktivt i dagligdagen, er sproget stadig en stor del af softwareverdenen. Det meste af Unix-styresystemet er eksempelvis skrevet i C.
Hvorfor skal du lære C?
C tilbyder en – i vore dage – ret unik indsigt i hvordan program og maskine fungerer sammen. Samtidig er det et sprog, der giver en række værdifulde erfaringer i arbejdet med de nyere og mere avancerede objektorienterede sprog som C++ og C#.
C++
Platform: Embedded, desktop
C-videreudviklingen C++ adskiller sig væsentligst fra forgængeren ved at være objektorienteret, hvilket giver en lang række avancerede muligheder.
Hvorfor skal du lære C++?
De fleste programmører er enige om, at C++ er et af de svære sprog at mestre. Til gengæld giver det et solidt udgangspunkt for at arbejde med stort set alle andre objektorienterede sprog. Til spiludvikling med 3D-grafik er C++ svært at komme udenom, da de fleste 3D-motorer er skrevet i C++
C#/Java
Platform: Desktop
At vælge mellem C# og Java kan være svært. Sprogene ligner hinanden og tilbyder en lang række af de samme muligheder, hvoraf den måske vigtigste er hukommelsesstyring, der giver dig mulighed for at programmere uden at være nervøs for de såkaldte memory leaks.
Hvorfor skal du lære C# eller Java?
Til programmering af større computerprogrammer især til Windows-miljøer, er det svært at komme udenom disse programmeringssprog. Javas fordel over C# er platformsuafhængighed, men C# er bredt anerkendt for at være det mere effektive af de to. Samtidig er C# vævet ind i Microsofts .NET-framework, hvilket gør det muligt at lave lækre og avancerede applikationer tilgængelige via webinterfaces.
Python
Platform: Desktop
Python er lidt af et modesprog i nogle kredse. Først og fremmest fordi man kommer langt med få linjer Python-kode i forhold til eksempelvis C++. Det er let at gå til og sproget er platformsuafhængigt, hvilket har givet det et stærkt fodfæste i Open Source-verdenen, hvor især hacker-/makermiljøerne har taget det til sig.
Hvorfor skal du lære Python?
Både for nybegyndere og erfarne programmører kan der være masser af værdi i Python. Sproget gør det nemt at få ting til at ske hurtigt, og er derfor rigtigt godt til at lave softwareprototyper med. Skal du programmere applikationer til flere styresystemer, er Python også et godt bud.
Objective-C
Platform: Mobil
En overbygning på det klassiske C med blandt andet tilføjelse af objekter. Da det er en variant af C er sproget er specielt anvendeligt til mobile enheder med få hardwarelag.
Hvorfor skal du lære Objective-C?
Vil du have det fulde udbytte af en telefons hardware, skal du igennem Objective-C. Sproget giver dig mulighed for at udnytte den mobile enheds hardware og sensorer fuldt ud. Objective-C kan også anvendes til andre situationer, hvor der er behov for både at lave program- og til dels maskinkode.
Assembly
Platform: Embedded
Klassisk C er måske tilstrækkeligt tæt på maskinen for mange, men der findes et endnu mere grundlæggende sprog, der nærmest bringer dig i direkte kontakt med loddeøerne på bundkortet.
Hvorfor skal du lære Assembly?
Assembly-kode er næsten en-til-en oversætteligt med maskinkode. Det er relativt nemt at gå i gang med sproget, der vil lære dig begrænsningens svære, men også ædle kunst inden for programmering. Hvis du skal have elektronik til at arbejde for dig, kan Assembly gøre dig klog på de helt grundlæggende mekanismer.
Er du klar til at lære?
De fleste programmøruddannelser som datamatiker, datalog eller it-ingeniør tilbyder undervisning i C++ og C#, men herudover kan udbuddet variere rigtig meget Det er en god idé at undersøge de forskellige fagudbud grundigt, før man vælger sin uddannelse. Har man programmeringserfaring og leder efter undervisning i et specifikt sprog, er det værd at kigge nærmere på private kurser, og enkeltfag udbudt gennem erhvervsskoler og universiteter.
\