Linux - Friheden til at programmere i C: Programmering med GNU/Linux; Version 2.0.20041104 - 2020-12-31 | ||
---|---|---|
forrige | Kapitel 1. Repræsentation og modeller | næste |
Hvis du ved en masse om computere, så vil du nok finde dette afsnit overflødigt. Spring straks videre!
En computer kan bruges til tekstbehandling, styring af produktionsmaskineri, til teleudstyr, og, selvfølgelig, til den "klassiske" lommeregner. Hvor kommer denne fleksibilitet fra? Fra programmøren, eller mere korrekt: De forskellige applikationer af computerteknikken beror på muligheden for at repræsentere information af mange forskellige typer ved hjælp af elektriske spændinger.
Konstruktøren af en harddisk bestemmer f.x., at når man sætter strøm på ledning 77, så er det en besked til harddisken om, at den skal begynde en read-operation.
De, der konstruerer computeren, bestemmer, hvad de forskellige elektriske signaler skal få de forskellige dele af maskineriet til at udføre. Når han én gang har bestemt, at ledning 77 er read-request, og maskinen er bygget efter hans anvisninger, så er vi bundet af denne mening med signal 77, men det kan altså laves om - næste gang, vi konstruerer et harddisk interface.
Den ene dag repræsenterer bit nummer 1000017 en kerne i en tomat, næste sekund måske et punktum på en skærm, og næste dag kunne den være en del af en ordre til en harddisk.
Hvis du vil i dybden med forståelse af computerens virkemåde og muligheder, kan du læse for eksempel Joseph Weizenbaum's "Computer Power and Human Reason".
Datarepræsentation handler om teknikker til at repræsentere forskellige typer af objekter. For programmøren er det vigtigere at spørge, hvilke informationer, det egentlig er interessant at repræsentere. Det kan computeren ikke finde ud af uden kyndig vejledning fra programmører!
Hvordan vælger vi at repræsentere en tomat, hvad vælger vi at se? Er det prisen, der interesserer os? Vægten? Udseendet? Surhed? Arvelige egenskaber? Vi vælger ud fra en idé om, hvad vi vil med objektet.