Computerpioniers: Charles Babbage
De moderne computer speelt een hoofdrol in onze tegenwoordige maatschappij. Aan de huidige computer gaat een lang ontwikkeltraject vooraf met vele computerpioniers die hun eigen unieke bijdrage hebben geleverd. Charles Babbage (1791-1871) bedacht het concept van de moderne computer en werkte het uit in enkele ontwerpen.
Mechanische rekenmachines van Charles Babbage
Charles Babbage (1791-1871) /
Bron: Samuel Laurence, Wikimedia Commons (Publiek domein)Charles Babbage werd eind 1791 in Groot Brittannië geboren. Hij groeide op, en ontwikkelde zich tot filosoof, wiskundige, uitvinder en werktuigbouwkundige.
Babbage kwam in het begin van de negentiende eeuw met een tweetal ontwerpen van automatisch werkende mechanische rekenmachines, die je ook nog kon programmeren. Deze machines kunnen beschouwd worden als heel vroege computers. Babbage is zijn hele leven bezig geweest de concepten verder uit te werken en te verfijnen.
Difference Engine No.1 (Differentiemachine )
Babbage ontwierp in 1821-1822 zijn eerste model, de 'Difference Engine'. Dit was een automatische, mechanische rekenmachine, die gebruikt kon worden om wiskundige tabellen te maken. In die tijd was dat een karwei door mensen gedaan moest worden, en dus foutgevoelig. Babbage was met deze machine zijn tijd ver vooruit. In de machine moest een soort ponskaarten worden ingevoerd, waarna er een resultaat uitgeprint uitkwam. De Difference Engine zou resultaten kunnen berekenen en vasthouden. De machine moest zelfs beslissingen kunnen nemen. Een model van deze machine werd in Zweden gemaakt. Een definitieve uitvoering werd echter nooit afgebouwd, omdat het Babbage ontbrak aan voldoende financiële middelen. Een andere reden voor het het niet afbouwen van de Difference Engine was, dat Babbage zijn ontwerpen steeds bijwerkte en verbeterde. Er moesten dus tijdens het bouwen van de machine regelmatig zaken gewijzigd worden. Zou de machine ooit afgebouwd zijn, dan waren 25.000 onderdelen nodig geweest, met een respectabel totaalgewicht van zo'n 15 ton.
Analytic Engine (Analytische machine)
In 1840 kwam Babbage met de eerste ontwerpen van zijn tweede machine, de Analytic Engine. Deze machine ging nog veel verder dan zijn eerste uitvinding. De Analytic Engine had al veel kenmerken die we in de moderne computer tegenkomen: Hij had een geheugen, een manier om informatie in de machine in te brengen (input-systeem), een rekeneenheid, een controle-eenheid, en er was ook voorzien in een methode om de resultaten weer te presenteren (output-systeem).
Als deze machine gebouwd zou zijn, dan was het een enorm exemplaar geweest: vele mechanische onderdelen, tandwielen en assen. Het geheel zou met behulp van een stoommachine moeten werken.
Dit ontwerp werd echter nooit gebouwd en heeft het zelfs nooit tot een model gebracht. Babbage had een voortdurend tekort aan financiële middelen, en kreeg uiteindelijk van de Britse regering niet veel medewerking. Daarnaast speelde het hem parten, dat er geen gestandaardiseerde onderdelen te koop waren: alles moest op maat gemaakt worden.
Difference Engine No.2. (De Tweede Differentieermachine)
Babbage ontwierp een tweede versie van zijn Difference Engine. Hierin had hij zoveel optimalisaties doorgevoerd, dat de machine kon werken met 4000 onderdelen, in plaats van de 25.000 van de eerste uitvoering. Het gewicht zou van 15 ton teruggebracht worden tot 'maar' 2,6 ton.
Ontwerpen
Omdat Babbage constant verbeteringen in al zijn ontwerpen aangebracht, zijn alle oorspronkelijke ontwerpen erg veranderd. Dat betekent weer, dat er geen definitief ontwerp is. Veel verschillende uitvoeringen, met verschillende specificaties. Alleen van de Difference Engine No.2. bestaat een min of meer compleet ontwerp.
Programma
Voor de Analytic Engine werd het eerste computerprogramma geschreven. Babbage laat dit doen door
Ada Lovelace. Het was uitzonderlijk dat een vrouw wiskundig werk kon doen, omdat in die tijd vrouwen van wetenschappelijk onderwijs waren uitgesloten. Maar Ada Lovelace had haar opleiding vooral aan privéleraren te danken. Omdat de Analytic Engine nooit gebouwd werd, heeft Ada haar programma nooit zien werken. Wel werd in 1980 een nieuwe programmeertaal naar haar vernoemd: de programmeertaal
Ada.
Deed-ie het, of deed-ie het niet?
Het is lang de vraag gebleven of een afgebouwd model van de machines van Babbage ook echt gewerkt zou hebben, vooral met het oog op de toenmalige technieken en vaardigheden van die mensen die de onderdelen moesten aanleveren. Ter ere van de tweehonderdste geboortedag van Charles Babbage heeft het Science Museum in Londen in de periode 1985-1991 de Difference Engine No.2 (De enige machine waar een min of meer definitief ontwerp van was) nagebouwd. Hierbij werd zoveel mogelijk technieken gebruikt, zoals die in de tijd van Babbage bekend waren. En de machine werkte!
Voorloper van onze computer?
Omdat Babbage over zijn ideeën over de ontworpen machines weinig op papier zette, bleef het grote publiek hiervan verstoken. Jammer, want de structuur van zijn ontwerpen vertoont veel gelijkenissen met de manier waarop onze moderne computers zijn opgebouwd. Door het ontbreken van publicaties raakten werk en ideeën van Babbage uit beeld. Hedendaagse ontwerpers hebben daardoor in feite veel opnieuw moeten bedenken wat Babbage al bedacht had.