differensmaskin

(differential engine) – en avancerad räkne­maskin, kon­stru­erad av Charles Babbage† i början av 1800‑talet, men aldrig färdig­byggd. (Jämför med analysmaskinen.) – Babbages idé var att maskinen skulle räkna ut matematiska tabeller och trycka dem automatiskt med ett inbyggt tryckverk, så att man slapp slarvfel och tryckfel. Idén kan ha varit inspi­re­rad av tysken Johann Müllers† aldrig förverkligade planer. – Brit­tiska rege­ringen satsade stora pengar på projektet, som pågick 1823—1833, men maskinen blev bara delvis färdig. Orsakerna var troligen dels att Babbage var perfektionist, men inte ingenjör, dels konflikter, bland annat om pengar, med den skicklige finmeka­ni­kern Joseph Clement (se Wikipedia) som skulle bygga maskinen. – Svens­karna Georg och Edvard Scheutz†, som var inspirerade av Babbage, byggde senare tre versioner av en fungerande differensmaskin, men fick ingen kom­mer­siell framgång. Svensken Martin Wiberg† till­verkade däremot på 1860‑talet en fungerande differensmaskin i behän­digt format, och lyckades också sälja den. – En förklaring till att inte ens de funge­rande differensmaskinerna blev särskilt framgångs­­rika var att det på 1800‑talet var billigare att låta människor göra beräkningarna och korrekturläsa de matema­tiska tabellerna. (Källa: Glory and Failure, 1987, av Michael Lindgren, se länk.) – Brit­tiska Science Museum byggde 1985—1991 en fungerade differens­­maskin enligt Babbages ritningar (se länk). Den fungerar som den ska. (Se boken The Difference Engine av Doron Swade, länk, 2002.) En annan nybyggd funge­rande diffe­rens­maskin finns på Computer history museum i Silicon Valley (se länk). – Namnet: Differensmaskinen har namn efter differensmetoden. – Boken The difference engine från 1990 av William Gibson och Bruce Sterling utspelar sig i ett fiktivt 1800‑tal där differensmaskiner är lika vanliga som datorer är nu.

[för- och bihistoria] [ändrad 12 augusti 2019]

von Neumann-arkitektur

den uppbyggnad av datorer som har varit standard sedan 1940‑talet. – von Neumann‑arkitektur innebär att data och program lagras i samma minne – sammanhanget avgör vad som är vad. Arki­tek­turen är uppkalla­d efter matematikern John von Neumann†, men andra forskare var med och utvecklade principerna. De första datorerna som tillämp­ade von Neumann‑arkitekturen var brittiska Small-scale experimental machine† (SSEM) från 1948 och ameri­kan­ska IAS machine† från 1952, som blev mönsterbildande. – von Neumann kände till Alan Turings† idéer, men han ville göra ett datorsystem som var mindre intellektuellt krävande för program­merarna. Prin­ciperna beskrevs först i rapporten First draft on the Edvac (länk) från 1945 (se Edvac†). – John von Neumann delade in datorn i fyra huvuddelar, nämligen (med moderna termer) pro­cessor, minne, styrning och användargränssnitt. Detta var inget nytt: samma delar ingår i alla datorer, inklusive Charles Babbages† analysmaskin, som ritades hundra år tidigare (men aldrig förverkligades). Mer specifikt för von Neumann‑arkitekturen är att den:

  • – har ett gemensamt minne för program­instruktioner och data. Vad som är vad avgörs av sammanhanget. Ett annat känne­tecken för von Neumann‑arkitekturen är:
  • – att beräkningarna sker sekventiellt. Programinstruktionerna verkställs en i taget, data och instruktioner hämtas från minnet ett i taget.

– Under 1940-talet fanns en konkurrerande arkitektur, Harvardarkitekturen, som tydligt skilde mellan instruktioner och data. Det har gjorts många försök att utveckla nya arkitekturer. Främst gäller det att komma ifrån ”von Neumann‑flaskhalsen”, den sekventiella inläsningen av data och instruktioner från minnet. Det går ju inte att läsa in instruktioner och data samtidigt, vilket gick i Harvardarkitekturen. John von Neumann insåg för­delarna med parallell databehandling, men han ansåg att det skulle bli för besvärligt att genomföra. Numera är parallellism vanligt, eftersom datorer ofta har flera processorer, eller flerkärniga processorer. Principen om gemensamt minne har också ifråga­­satts, eftersom programspråk tydligt skiljer mellan data och instruktioner. – Eftersom von Neumann‑arkitekturen hanterar instruktioner och data i samma minne skulle man kunna skriva program som för­ändrar sin egen kod, men knappast någon utnyttjar den möjlig­heten.

[datorer] [it-historia] [ändrad 23 september 2021]

Lovelace, Ada

Porträtt av Ada Lovelace.
Ada Lovelace

(1815—1851) – engelsk matematiker, utgivare av det första kända datorprogrammet. – Under några år samarbetade hon med Charles Babbage† om hans mekaniska dator, analysmaskinen, som aldrig blev byggd. – Ada Lovelaces rykte som ”den första programmeraren” bygger på hennes översättning av en artikel från 1840 av Luigi Federico Menebrea (se Wikipedia), på engelska ”Sketch of the analytical engine invented by Charles Babbage” (länk). I sina kommentarer, som tar dubbelt så mycket utrymme som Menabreas text, redovisade hon en komplett algoritm för att lösa en matematisk uppgift. Men hon föreslog också att analysmaskinen skulle kunna användas till annat än matematik, till exempel för att analysera och komponera musik. Där var hon mer än hundra år före sin tid. – Ada Lovelace gjorde också det första inlägget om vad som nu kallas för artifici­ell intelligens, se Lady Lovelaces invändning och Lovelacetestet. – Programspråket Ada är uppkallat efter Ada Lovelace, liksom utmärkelsen Love­lace medal. – Se också Ada Initiative†. – Biografiskt: Ada Love­lace föddes som Ada Byron. Hon var dotter till poeten lord Byron (se Wikipedia). Hon lärde sig matema­tik av sin mor Anna Isabella Byron, född Milbanke (se Wikipedia), som hade ett djupt intresse för matematik. Hon studerade också för Mary Somerville (se Wikipedia) – den första person som har kallats för scientist. Som gift hette Ada först Ada King efter sin make, William King. Namnet Love­lace fick hon när hennes man 1838 ärvde titeln earl av Lovelace. – Läs mer om Ada Love­lace i denna artikel av Howard Rheingold. – Ada Lovelace day firas sedan 2009, från 2012 den andra tisdagen i oktober. – Se findingada.com.

[ada lovelace] [datorpionjärer] [it-historia] [årsdagar] [ändrad 21 oktober 2020]