Alfabetiseren vroeger en nu

Dicteekenner Rein Leentfaar programmeerde decennia geleden de korfbalcompetitie in zijn thuiscomputer. Hij weet dus wel hoe het zit met ASCII-codes, kilobytes en sorteringsmechanismen. Goed om te onthouden: hoofdletters kwamen altijd bovenaan in de oertijd van de computer.

IBM computer

Een advertentie voor IBM-computers in 1956.

door Rein Leentfaar

In oude tijden werden computers vooral gebruikt om te rekenen (en bijvoorbeeld te boekhouden). Midden jaren 70 van de vorige eeuw verschenen er zelfs al computers op scholen (zoals in mijn geval – in pakweg 1976 – op het JCL, het Johannes Calvijn Lyceum in Rotterdam-Zuid). Bakbeest, kon weinig, inclusief printer – 132 tekens breed – van tienduizend gulden: totaal 40 duizend gulden! Slappe floppydisks van 8 inch in het vierkant (= 20 cm!) en 16 KB (kilobytes, de hoofdletter K duidt aan dat het gaat om 1024 bytes) aan intern geheugen: te gek! Ik heb er de korfbalcompetitie mee geprogrammeerd en ermee de standen bijgehouden. Mijn leerlingen leerden erop programmeren in de programmeertaal Basic (Beginner’s All-purpose Symbolic Instruction Code): de tafels tot 10 afdrukken, de computer strafregels laten schrijven en meer van die (nu onnutte) zaken. Een knappe leerling, later hoogleraar in de VS, programmeerde er dienstregelingen voor treinen op.

Voor de bedrijven ontwikkelde IBM bureaucomputers en in de hobbysfeer waren de Commodore 64 en de minder bekende Sinclair ZX toppers. We praten over ca. 1990 als de pc op elk kantoorbureau gemeengoed begon te worden. In die tijd bestond nog het idee dat iedereen zelf zou moeten (leren) programmeren. Zo herinner ik me dat de LOI voor de cursus ‘Microcomputer en Basic’ binnen de kortste keren tienduizenden cursisten, maar geen docenten had. Dat heb ik dus ook nog gedaan, omdat ik daar toch al docent-corrector hogere wiskunde was. Op een dag bezorgde Tante Pos wel 60 (slappe) diskettes (5,25 inch in het vierkant = 13 cm) in stevige kartonnen verpakking om na te kijken. Later ging dat via pc, modem en telefoon, voorloper van internet. Ik zou daarover nog uren door kunnen vertellen, maar dat zal ik niet doen.

IBM 5150

De IBM personal computer, model 51501

De jaren 90

Goed, rond 1990 kwam via IBM ook een beginnende tekstverwerking van de grond. Waarom ik dit artikel schrijf? Wel, elders op deze site heb ik het al gehad over de Woordenlijst Nederlandse Taal (het Groene Boekje) in de Staatscourant. Over die lijst (49.329 woorden of woordgroepen; in mijn gratis op te vragen versie 494 A4’tjes, twee kolommen, vijftig items per kolom) wil ik het graag hebben. Als je ernaar kijkt, zie je dat de lijst begint met ‘k en ‘m en ‘s anderendaags, terwijl het GB (papier – pGB) begint met +-teken, 06-dealer en 06-nummer. Het oGB? Dat weten we niet, daarvoor zitten we op die bladerfunctie te wachten! Ik zag al wel, dat online na 06-dealer en 06-nummer ook nog 06-prostitutie kwam: er staat dus meer in het oGB dan in het pGB, maar dat wisten we al … De Dikke Van Dale (DVD) begint – zoals al eerder gemeld – met #, ©, ®, @, @-teken, 0 (bloedgroep, ook O natuurlijk), 06-dealer en 06-nummer, etc. en eindigt met zzz (eind januari 2019: 383.039 lemma’s). Hoe zit dat nou allemaal? Daarover gaat het hier. Een wel te noemen, maar niet verder te bespreken probleem: hoe ga je met de ij om: zet je die tussen de x en de z of bij de i? Trouwens: in NL is de ij in woordspelletjes 1 letter, in BE 2 letters (kijk maar naar Blokken op de VRT – toch, Raf?).

Alfabetiseren in de jaren 90: ASCII of de ASCII-code

Bij de computer draait alles om 0/1 (een bit). Met 8 bits (een byte) kun je 2^8 = 256 combinaties maken: 00000000 (decimaal 0) t/m 11111111 (decimaal 255). Daar hoef je gelukkig als gebruiker niets van te weten. Het wordt intern voor je geregeld. Wel nog even ter vergelijking: met 3 cijfers kun je in ons decimale stelsel de getallen 000 t/m 999 = 1000 combinaties maken. Ik geef nog een voorbeeld van een byte: 10101010 binair (in het tweetallig stelsel) = van rechts naar links: niet 1, wel 2, niet 4, wel 8, niet 16, wel 32, niet 64 en wel 128 = (decimaal) 128 + 32 + 8 + 2 = 170 decimaal. Ik zal je daar niet verder mee vermoeien, maar bedenk dat je met een byte dus 255 gevallen kunt onderscheiden. Waar nodig geef ik die gewoon decimaal aan met 0 t/m 255.

reinleentfaar

De jonge Rein sleutelt zijn eerste computer in elkaar.

IBM en de computerwereld moesten voor tekstverwerking dus een systeem bedenken waar tekens en letters werden weergegeven door (in wezen binaire maar dus ook decimaal te benoemen) getallen (hun nummer). Bedenk vast, dat bij ‘alfabetiseren’ de getalwaarde bepalend was en is … Het ei van Columbus was de ASCII-tabel (American Standard Code for Information Interchange): daarbij kregen alle tekens (van de schrijfmachine) zo’n nummer. Nog een klein detail: de oorspronkelijke ASCII-code werkte met 7 bits, het achtste was een (extra) controlebit, dat zo gekozen werd dat bijvoorbeeld het totaal aantal enen even was. Daarmee kon in ieder geval bij overseinen van zo’n byte een aantal fouten worden geconstateerd (niet verbeterd, met bv. 7 bits + 4 controlebits kon je het wel zo regelen, dat zelfs t/m bv. 2 foute bits bij de zender, de juiste code aan de ontvangkant kon worden gereconstrueerd!). Later bleken de mogelijkheden van 7 bits (2^7 = 128) onvoldoende en ging men over tot de zgn. extended ASCII-code, waarbij daadwerkelijk alle 256 mogelijkheden werden benut, maar omdat dit niet de cijfers, letters en gebruikelijke ‘leestekens’ betrof, kan dit buiten beschouwing blijven.

Een overzicht van de belangrijkste codes (van 0 t/m 127)

De spatie is 32 (laagste, die eronder zijn codes voor ‘nieuwe regel’, etc.). Dat is wel handig (er was echt over nagedacht!), dan komt die spatie in teksten eerst. 10 eurobiljet komt dus in de Staatscourant (zie later) voor 10-10-10: de spatie heeft bij voorbaat een lagere waarde dan het streepje. De volgnummers 33 t/m 47 waren gereserveerd voor ! (33), ” (34), # (35), $ (36), % (37), & (38), ‘(39), ( (40), ) (41), * (42), + (43), , (44), – (45), . (46) en / (47). De getallen liepen van 0 (48) t/m 9 (57). Op 58 t/m 64 stonden nog wat tekens, symbolen: : (58), ; (59), < (60), = (61), > (62), ? (63), @ (64). Restanten: [ (91), \ (92), ] (93), ^ (94), _ (95), { (123), | (124), } (125), ~ (126) en nummer 127 was het equivalent van de deletetoets. Maar nu de letters: A (65) t/m Z (90) en a (97) t/m z (122). Die laatste keuze was geniaal, want kleine en hoofdletters schelen dus 32 en dat is binair (2^5) 00100000. Zonder verdere details betekent dit, dat kleine en hoofdletters altijd alleen maar in 1 bit verschillen (het zesde van rechts – NB je moet in dit vak altijd met 0 beginnen: rechts 2^0 = 1, 2^5 is dus niet het 5e, maar het 6e bit van rechts. In de tijd dat de programmeurs heel zuinig moesten zijn, was het omzetten van een tekst in hoofdletters naar kleine letters of omgekeerd dus een ‘eitje’: verander overal het 6e bit van rechts van 0 in 1 (A — > a, of omgekeerd van 1 in 0: a — > A). Vast vooruitlopend op de Staatscourantlijst: hoofdletters komen dus altijd voor kleine letters, alle hoofdletters bijeen: Antwerpse, Apache en Apocalyps en pas veel later apache en apachedans en weer veel later apocalyps en apocalyptisch, best onhandig! Wel goed is, dat alle cijfers voor alle letters komen, dat is ook bij wat geavanceerder ‘alfabetten of sorteeralgoritmen’ zoals bij GB en VD zichtbaar: eerst getallen (06-nummer) en dan pas de letters, maar wel apocalyps, Apocalyps, apocalypse en Apocalypse bij elkaar: toch wel handiger! (:-))

sinclair-thuiscomputer

De Sinclair thuiscomputer

De lijst in de Staatscourant

Om te beginnen, zomaar: een apintidrum uit de lijst (wel pGB en oGB, VD heeft alleen apinti = pinti) is in het Sranantongo een zekere trommel. Houd voor de verdere uiteenzettingen de lijst bij de hand … Ik denk vrijwel zeker te weten dat de Staatscourantlijst volgens de ASCII-code gealfabetiseerd, oftewel gesorteerd is. Daarvoor geef ik een aantal argumenten:

  1. De lijst begint met ‘k, ‘m en ‘s anderendaags. Dat komt omdat de apostrof het lage ASCII-nummer 39 heeft (GB en VD negeren de apostrof  waardoor die lemma’s bij de k, de m en de s terechtkomen).
  2. In de lijst komt na die apostroffen +-teken en 06-dealer en vervolgens alles wat met een cijfer begint (de + heeft nummer 43 en de cijfers 48 t/m 57). Wel curieus dat 11 septemberherdenking voor 11-jarige komt, maar de spatie is immers 32 en het koppelteken is nummer 45! GB en VD kijken niet naar spatie en koppelteken waardoor 11-jarige wel voor 11 septemberherdenking komt.
  3. Eerst komen alle hoofdletters (lagere waarde dan kleinere letters): A-attest tot en met Zwolse en daarna de kleine letters a en a capella t/m zzp’er. Helaba, maar daarna volgt nog een extra staartje: zèta, Å, à, à gogo tot en met à-la-carterestaurant, ångström, échéance, éksito, élégance, éminence grise, öre en über-ich tot en met übersentimenteel. Hoe zit dat nou weer? Ik heb dat niet besproken, maar die ‘speciale’ letters met diakritische tekens hebben in de extended ASCII-tabel ook een nummer (hoger dan 127) en daarom komen ze achteraan. Ik zoek ze even op: Å = 143, à = 133, å = 134, é = 130, ö = 148 en ü = 129. Dat klopt dus niet: de Staatscourant gebruikte de extended ASCII-tabel dus niet. Wat dan wel? Nou, gewoon de alfabetische volgorde zonder diakritisch teken: a, e, o en u enne … hoofdletters eerst (Å) en dan de kleine letters (å) … Let ook nog even op die zèta die na zzp’er kwam: in de ‘pikorde’ komt de diakritische è na de ‘gewone’ z, 4) In de Staatscourant komt PVDA’er (BE) een heel eind voor PvdA’er (NL). GB en VD maken in feite geen onderscheid tussen kleine en hoofdletters, daardoor staat in VD de PVDA vlak voor de PvdA’er, net als PVDA’er en PvdA-voorzitter in GB!

Alfabetiseren anno Domini 2019

Sinds de begintijd van de pc zijn er met zoeken en alfabetiseren (sorteren) grote stappen gemaakt. Denk bij zoeken maar aan de ongelofelijke kracht van zoekmachines als Google, waarbij er maar weinig is, wat je niet snel kunt vinden op internet. Ook voor de taalfanaten is het grote winst, dat de woordenboeken digitaal beschikbaar zijn, Zoeken met de jokertekens (wildcards: ? voor één teken, * voor een willekeurig aantal tekens, maximaal twee stuks bij zoeken in VD) brengt je in alle uithoeken en krochten van VD). Daarzonder had ik nooit de typ(e)fouten sigarettten (lemma ‘dampwinkel’) en kwaadwilllende (lemma ‘kwetsbaar’) ontdekt. Die fouten zijn overigens inmiddels gecorrigeerd. Van GB heb ik verder geen gegevens, ik besluit met een aantal opmerkingen over VD:

  1. Diakritische tekens worden genegeerd bij alfabetiseren en zoeken, best handig, daardoor komt zèta gewoon tussen zet en zetakker.
  2. De apostrof wordt min of meer genegeerd, daarom ‘s anderendaags (geen apart lemma, wel dus in GB – bij de s!) gewoon bij anderendaags (zoekterm sanderendaags of gewoon ‘s anderendaags of *daags). Duidelijker: ‘k vind je bij de k (zoek bij GB en VD op ‘k of k).
  3. Handig: kleine en hoofdletters bij en door elkaar, dus apocalyps en Apocalyps onder elkaar (kleine letter eerst!), en PvdA en PVDA redelijk bij elkaar in de buurt.
  4. Naar koppeltekens wordt in feite niet gekeken, daarom (GB) USB vóór US-dollar (in tegenstelling tot de Staatscourant met de lage ASCII-waarde van het koppelteken) en Vlaamsgezinde voor Vlaams-nationalist (idem). Zie bijvoorbeeld mama-en-papawinkel, mama’s-kindje en mamba.
  5. VD begint de totale lijst met #, toch vast vanwege de lage ASCII-waarde (42).
  6. Ook naar spaties wordt in feite niet gekeken: daarom in VD (terecht) eerst mandatum en dan pas mandatum sine clausula, earl grey voor earlgreythee en land- en volkenkunde voor landenwedstrijd.

5 reacties

  1. Als je de Staatscourantlijst bekijkt, moet je ook eens kijken waar Arbowetgeving staat: juist, bij de a, heel raar. Oei, toch niet zo raar: in oGB heeft het inmiddels een kleine letter gekregen …

    • Beste Rein

      De vaststelling dat GB 2015 (de papieren versie) correct “arbowetgeving” vermeldt, geeft in dat er in de Staatscourantuitgave iets is misgelopen van computertechnische aard. Bijvoorbeeld: bij het omzetten van het woordenbestand waarop GB 2015 is gebaseerd naar het woordenbestand dat tot de Staatscourantuitgave heeft geleid, is er per ongeluk een omzetting naar beginhoofdletter geschied, zoals een computer dat in sommige contexten (bv. eerste woord van een nieuwe tekstregel, eerste woord van een cel in een spreadsheet etc.), afhankelijk van de instellingen, automatisch doet.

      Beste groeten
      Edward

    • Er zijn meer wijzigingen geweest sinds de Staatscourant (even geen vb. paraat maar denk bv. aan de komende toevoeging sudanrood naast soedanrood).
      Ik sluit niet uit dat het toch een correctie betreft, waarbij de oorspronkelijke Arbowetgeving wel op de plaats van de bedoelde arbowetgeving terechtgekomen is, maar per ongeluk ongewijzigd.
      Overigens was Arbowet wel met een hoofdletter, dus kon men ooit gedacht hebben dat de Arbowetgeving ook met een hoofdletter moest … (:-))

    • Hallo Rein

      Dat kan een correctie geweest zijn, wat mij betreft, met name door de illusoire gedachtegang i.v.m. -wet die je beschrijft – maar technisch gezien moet deze correctie dan ergens tussen juli 2015 en oktober 2015 (inbegrepen) doorgevoerd zijn, toch?

      Beste groeten
      Edward

  2. Hallo Rein

    Dat kan een correctie geweest zijn, wat mij betreft, met name door de illusoire gedachtegang i.v.m. -wet die je beschrijft – maar technisch gezien moet deze correctie dan ergens tussen juli 2015 en oktober 2015 (inbegrepen) doorgevoerd zijn, toch?

    Beste groeten
    Edward