Fem utraditionelle råd til nybegynderprogrammører
Måske er du ung og kigger frem mod studievalget, eller måske vil du gerne lære et nyt fag. Eller måske er du bare nysgerrig. Der findes mange gode lærebøger og online-vejledninger, der kan hjælpe nybegyndere i gang med at lære at programmere, men især for dem, der går i gang på egen hånd uden en mentor, så her er en håndfuld råd, som du ikke finder i lærebøgerne.
Hvad skal jeg programmere?
Du har skrevet 'Hello world' og har måske også gennemført et par programmeringsøvelser. Nu har du styr på grundlæggende syntaks og kender dit udviklingsværktøj, men føler måske, at du har brug for at lave noget, der kan noget rigtigt, før du bare øver videre.
Her er det let at gå i stå, fordi du tænker, at dit program skal kunne ét eller andet nyt. Men det behøver det slet ikke. Som dette blogindlæg påpeger, så er det helt i orden at genopfinde den dybe tallerken, hvis man er ved at øve sig på at blive keramiker.
Denne journalist, som selv er i færd med at genopfriske sine særdeles rustne programmeringsfærdigheder, skriver eksempelvis forskellige udgaver af en simpel terningrulsapplikation, hver gang et nyt sprog skal læres. En simpel lommeregner er også et godt eksempel.
Ingen af disse applikationer er noget, verden har brug for, men det er enkle projekter, der giver mulighed for at prøve sine spæde færdigheder af på at bygge en færdig applikation, der er et vigtigt skridt videre fra programmeringsøvelserne.
Sprog bliver forældede
Valget af programmeringssprog er nærmest religion blandt udviklere, og det gælder ikke mindst, når spørgsmålet lyder, hvilket sprog der egner sig til nybegyndere. Men det er vigtigt at være opmærksom på, at der kan være mange forskellige grunde til, at man begynder at programmere.
Ligesom nogle kaster sig over faget, fordi de gerne vil have et job som softwareudvikler, så ender andre med at blive selvlærte programmører, fordi programmering er et nødvendigt gør-det-selv-redskab i et andet projekt - som eksempelvis at få en hjemmeside op at stå.
Det vigtigste er imidlertid ikke, om du begynder med C++ eller PHP, men at du lærer de grundlæggende principper, for hvis du står foran 30-40 års softwareudvikling, så skal du være klar til at sadle om undervejs.
Sprog og værktøjer bliver nemlig forældede eller går af mode, som det påpeges i dette blogindlæg om Ruby on Rails.
Derfor er dit valg lige nu ikke så vigtigt, som at du senere er parat til at lægge sproget bag dig og gå videre med noget nyt, når det er dét, der er brug for. I gør-det-selv-verdenen kan et svingbor stadig bore fine huller, men hvis du vil være tømrer, så vil kunderne nok foretrække, at du stiller op med en elektrisk boremaskine.
Så lær hvad som helst
Af samme grund er det heller ikke vigtigt, om du vælger lige det ene eller det andet sprog. Det vigtigste er, at du vælger et sprog, hvor vejledninger, dokumentation, værktøjer og muligheden for at få hjælp passer til dit temperament.
Hvis du vil ud og arbejde med softwareudvikling, så er der nemlig ikke ét eller to gyldne programmeringssprog, der sikrer dig beskæftigelse. Det skifter hele tiden, og sprogene går ofte gennem et forløb fra up-and-coming til mainstream dominans videre til løbende vedligeholdelse og endelig til obskur 'vi håber, det virker længe nok til, at vi har noget nyt klar'.
Som sagt handler det at være udvikler ikke om at kunne C++ eller C#. Det vigtige er eksempelvis at kunne finde ud af, hvordan en problemstilling i den virkelige verden kan løses med objektorienteret programmering, og hvordan det vil se ud med et funktionelt sprog i stedet.
Læs dette blogindlæg for et godt argument for, at dit valg af sprog ikke er vigtigt, men at der selvfølgelig er sprog, der lige her og nu kan give bedre chancer for at begynde en karriere som softwareudvikler.
Selv de dårlige sprog
Bortset fra nogle få sprog, der udelukkende er skabt for at frustrere dataloger, så er der ingen sprog, der er rigtigt dårlige. I dette blogindlæg argumenteres for, at QBASIC stadig holder.
BASIC var ét af 80'ernes mest populære begyndersprog, men det er også et sprog, som virkelig indeholder nogle af de ting, der er decideret fy-fy i dag. Man kan endda argumentere for, at BASIC lærer dig at programmere på en forkert måde.
Men det vigtigste er at komme i gang og kunne holde begejstringen ved lige. Det kan være svært, hvis hver ny idé kræver et mindre slagsmål med at oprette en grafisk brugerflade. Så hvis BASIC er dét, der får dig i gang med at skrive mere end 'Hello world', så er det ikke et rigtig dårligt sprog, hvis man ser det som et skridt på en længere rejse.
Ignorér dem, der siger, dit valg er forkert
Der findes mange softwareudviklere, der er tålmodige og gerne vil lære fra sig på forummer eller code camps. Men der findes også mange, der ikke orker endnu en nybegynder, der spørger om noget, der blev besvaret i femte lektion på første semester af datalogistudiet.
På Reddits underforum for nybegynderprogrammører dukker trådene med jævne mellemrum op om tonen, visse erfarne programmører bruger over for nybegyndere. Det er især dem, der søger hjælp online på forummer som Stack Overflow, der oplever at blive irettesat på en knapt så pædagogisk vis.
Det skal man ikke tage så tungt. Ja, det er en god idé at stikke en finger i jorden og prøve at blive fortrolig med søgefunktioner på disse forummer og lige læse retningslinjerne igennem. Ofte er der særlige underforummer for spørgsmål fra begyndere. Og lad være med at bede om svaret på de opgaver, du får udleveret på studiet.
En klassisk trigger for de erfarne programmører, er valget af sprog (se ovenfor). Det er de erfarne programmører, der bør lære at tale pænt, for begynderen er slet ikke nået dertil i sin læreproces, hvor valget af sprog eller platform er baseret på erfaring, men snarere på tilfældigheder. Så til de erfarne: Bid sprogdebatten i jer og giv en hjælpende hånd eller find på en undskyldning for at lade være. Ingen får noget ud af at skræmme en begynder væk med en lang rant om, hvorfor PHP er det helt forkerte valg.
Eller lad helt vær!
Der er stor efterspørgsel på softwareudviklere, men bid mærke i, at det handler om at udvikle software, og det omfatter mere end blot at kunne implementere 10 forskellige sorteringsalgoritmer i C++. I denne artikel fra Techcrunch lyder anbefalingen, at man ikke skal lære at programmere.
Der tales ganske vist meget om, at alle burde lære programmering i skolen, og hvordan vi mangler folk til Java, eller hvad der nu lige er efterspørgsel på for tiden.
Men branchen har først og fremmest brug for folk, der - som skrevet oven for - kan omsætte virkelighedens problemer til noget, der kan løses med en computer. Det er dog noget, branchen selv kan have lidt svært ved at indse, og derfor bliver der lige nu mest spurgt efter programmører og ikke problemanalytikere.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.