Digitale revolutieDe revolutie van software en applicatie De ontstaansgeschiedenis van software

I.

De ontstaansgeschiedenis van software

Software is een verbazingwekkende innovatie die we gebruiken telkens we een computer, smartphone, videospelconsole of vele andere elektronische toestellen gebruiken. De ene software is vrij eenvoudig en is ontworpen om slechts een paar dingen te doen, terwijl andere zeer ingewikkeld is en immense hoeveelheden gegevens beheert.

Waarom hebben we in de eerste plaats software?

Het korte antwoord is dat computers geen menselijke taal begrijpen, en programmeurs willen computers bouwen die voor ons gemakkelijk te gebruiken zijn. Maar het is duidelijk dat mensen en computers niet dezelfde taal spreken. Daarom hebben we software, de interface tussen de hardware en de gebruiker, die ons helpt om taken uit te voeren met onze computers. Laten we hier eens wat dieper op ingaan.

Welke taal begrijpen computers?

Computers begrijpen alleen binaire informatie, hoofdzakelijk weergegeven in de vorm van elektrische signalen die AAN (hoogspanning) of UIT (laagspanning) zijn, en zij moeten alles weergegeven zien als een opeenvolging van de cijfers 1 en 0 (AAN en UIT). Over het algemeen vertegenwoordigt een logische ‘1’ een hogere spanning, zoals 5 volt, die gewoonlijk een HOGE waarde wordt genoemd, terwijl een logische ‘0’ staat voor een lage spanning, zoals 0 volt of aarde, en gewoonlijk een LAGE waarde wordt genoemd. Deze opeenvolging (reeks) van cijfers 1 en 0 staat bekend als binair formaat/code.

Aangezien computers onze taal, foto's, video's, teksten, programma's of muziek niet begrijpen zoals wij, moeten alle gegevens worden omgezet in binaire code zodat de computer ze kan verwerken.

In moderne computers hebben we coderingssystemen die fungeren als vertaallagen om onze input om te zetten in machinecode. Een heel eenvoudig voorbeeld: wanneer je de letter A op een toetsenbord typt, wordt deze door het UTF-8 tekencoderingssysteem omgezet in de machinecode met de waarde 01000001.

Een voorbeeld van de vertaling van binaire code in actie

Stel je nu eens voor hoeveel enen en nullen we nodig zouden hebben om een boek in binaire code weer te geven. Stel je eens voor hoeveel enen en nullen we nodig zouden hebben om een foto of liedje in binaire code weer te geven. Het kan dus behoorlijk ingewikkeld en vervelend zijn om elke afbeelding of tekst, elk programma of alle muziek in binaire code weer te geven, in die verzameling enen en nullen. Onze moderne computers doen dit automatisch en dit is een onzichtbaar proces voor de meeste gebruikers.

Probeer je eens voor te stellen hoe dit proces vroeger verliep, toen onze eerste programmeurs alles met de hand in binaire code moesten uitdrukken!

Wat is de rol van programmeurs in de evolutie van software?

Welke taal of welk soort taal we ook gebruiken om onze programma's te schrijven, ze moeten in machinetaal staan om door de computer uitgevoerd te kunnen worden.

Toen de eerste ‘moderne’ elektrisch aangedreven computers werden gemaakt, realiseerden programmeurs zich dat de beperkte snelheid en geheugencapaciteit van die apparaten een beperking vormden voor hun verbeelding, en ook een beperking voor de ervaring van niet-gespecialiseerde gebruikers.

Dit dwong hen ertoe ‘taalvertalers’ te schrijven om hun taak van het schrijven van machinetaal te vereenvoudigen. Er zijn drie hoofdcategorieën van taalvertalers die in onze computers worden gebruikt: assemblers, compilers en interpreters. Wij zullen ze in het volgende onderdeel bestuderen.

Wat programmeurs gebruiken om software te maken zijn programmeertalen; er zijn er vele, en ze zijn in de loop der jaren geëvolueerd. In de literatuur worden soms vijf generaties programmeertalen onderscheiden.

Programmeertalen worden ingedeeld in twee niveaus: een laag en een hoog. De eerste twee generaties behoren tot de lage talen en de volgende drie generaties behoren tot de hoge talen.

Nu we klaar staan voor het volgende onderdeel, gaan we leren over de moderne lage en hoge talen en over programmeren.

Next section
II. Programmeertalen en software creëren