Een computer kan niet functioneren zonder dat software hem vertelt welke actie hij moet ondernemen.
Computersoftware bestaat uit een reeks instructies in een programmeertaal; de programmeur voert die uitspraken uit in een vorm die een computerprocessor kan begrijpen. Het bouwen van software vereist kennis van computertalen, syntaxis en logica om het proces van begin tot eind te voltooien. Naast de vereiste technische kennis, moet een programmeur bekend zijn met de gespecialiseerde softwaretools die nodig zijn in de vorm van een editor, een compiler en een debugger.
Controleverklaringen
Het bouwen van computersoftware begint met de keuze van de programmeur uit de drie klassen van controleverklaringen. Controleverklaringen verwerken gegevens, nemen beslissingen en herhalen groepen instructies. De sequentiestructuur beschrijft programma-instructies die na elkaar worden uitgevoerd. De programmeur voegt vertakkingsinstructies in een programma in waar het programma twee of meer uitvoeringscursussen moet volgen op basis van de evaluatie van een stuk gegevens. De laatste groep controlestructuren herhaalt een statement of een groep statements een bepaald aantal keren of totdat een bepaalde gebeurtenis plaatsvindt.
Video van de dag
Programmeerinstructies:
Een sleutelconcept dat een programmeur moet begrijpen, is dat de computer alleen doet wat zij hem opdraagt. Alle programma-instructies moeten een taak stapsgewijs uitvoeren. Het optellen van bijvoorbeeld twee getallen vereist een aantal stappen: pak het ene getal en pak dan het andere, tel het eerste getal op bij het tweede en plaats deze som op een nieuwe geheugenlocatie. De programmeur kan geen enkel deel van de rekenkundige verklaring aannemen.
Om dit optelprobleem te herhalen, moet de programmeur het in een constructie plaatsen die een lus wordt genoemd. De lus voegt enkele nieuwe variabelen toe aan het probleem, zoals hoe vaak de optelinstructies moeten worden herhaald. Zonder deze vereiste in overweging te nemen, kan het programma een oneindige lus ingaan die de computer doet crashen.
Veel programmeerbewerkingen zullen één reeks instructies volgen als een voorwaarde waar is (bijvoorbeeld "Is het buiten winderig?") en een andere reeks als deze onwaar is. Vertakkende besturingsstructuren maken deze mogelijkheid binnen een programma mogelijk.
Een programmeertaal kiezen
Programmeurs moeten een taal kiezen om te werken uit de honderden beschikbare talen. Vanaf 2010 zijn de meest populaire talen C++, Visual Basic en Java. Als de ontwikkelaar haar software wil richten op de internetomgeving, maken PHP en Ruby uitstekende keuzes. Elk van deze talen is relatief complex, en de programmeur moet van plan zijn enige tijd te besteden aan het leren van de specifieke syntaxis van de gekozen taal voordat hij een stukje software gaat bouwen.
Het belangrijkste hulpmiddel dat de programmeur moet selecteren om software te bouwen, is de compiler. Moderne ontwikkelomgevingen combineren alle softwaretools die nodig zijn om een programma te ontwikkelen tot één suite. De programmeur gebruikt een editor om de programmaverklaringen te schrijven en op te slaan in een bestand. Een compiler leest dit bestand, controleert de syntaxis en zet de programmeerinstructies vervolgens om in instructies die een specifieke computerprocessor en besturingssysteem kunnen begrijpen. Het resultaat is een uitvoerbaar bestand dat de programmeur kan gebruiken of verkopen. Programmeurs kunnen individuele tools gebruiken (editor, compiler, enz.), maar de alles-in-één suite maakt het proces veel handiger.
Voorbereiden om te programmeren
Het bouwen van computersoftware vereist de juiste hulpmiddelen, een begrip van een computertaal en het vermogen om logisch te denken. Software werkt met harde logische beperkingen zonder grijze gebieden; de computerprocessor zal niet zelf raden of beslissingen nemen. De programmeur moet zich voorbereiden om na te denken over wat hij met zijn ontwerp wil bereiken voordat hij achter het toetsenbord gaat zitten om een softwaremeesterwerk te maken.