Hamilton, Margaret

Margaret Hamilton stående vid en trave handskriven programkod. Traven är lika hög som hon själv.
Margaret Hamilton 1969 med källkoden till Apolloprojektets datasystem. Foto: Nasa.

(1936) – amerikansk systemutvecklare, chef för program­utveck­lingen för Apollo­projektets dator­system för månlandaren. (Det var Apollo­projektet som genom­förde månlandning­arna 1969—1972.) Hamilton arbetade då på MIT. Hennes program gjorde att den första mån­landaren kunde full­följa landningen på månen, trots att dator­systemet i sista minuten krånglade på grund av överbelastning. Den amerikanska rymdflygstyrelsen Nasa har senare skrivit att ”be­greppen som hon och hennes med­arbetare skapade har blivit byggstenarna för modern programvaruutveckling”. – Pro­gram­koden för månlandarens dator, Apollo guidance computer, lades 2016 ut på nätet. – Senare startade Margaret Hamilton företaget Hamilton Tech­nologies (se htius.com). – Innan hon började arbeta för Nasa programmerade Margaret Hamilton den dator som Edward Lorenz använde när han upptäckte kaosteorin. Margaret Hamilton lär vara den som myntade termen software engineering. Hon har också utvecklat arbetssättet ”Develop­ment before the fact” (länk). – Hon har bland annat mot­tagit utmärkelsen Ada Lovelace award. 2003 fick hon Nasas Exceptional space act award, se press­med­delande med motivering: länk. 2016 fick hon USA:s Presidential medal of freedom (länk). – Läs också artikel i Wired (länk). – Margaret Hamilton finns som Legofigur, se denna länk.

[it-historia] [margaret hamilton] [personer] [programmering] [ändrad 28 maj 2019]

Turing, Alan

Alan Turing.
Alan Turing.

engelsk matematiker och datorpionjär (1912—1954). – Alan Turing beskrev 1936 en teoretisk modell av ett dator­­program och en dator, det som numera kallas för en Turingmaskin. Det gjorde han i en matematisk-logisk upp­sats om det så kallade stopproblemet. Artikeln har blivit en klassiker inom dator­veten­skapen. (Läs också om Alonzo Church och Church-Turings hypotes.) – Under andra världs­­kriget arbetade Turing på Bletchley Park med att knäcka tyskarnas kryptering. Han konstru­erade där maskinen ”The Bombe”, som de­­chiff­re­rade meddelanden som hade krypterats med tyskarnas krypteringsapparat Enigma, men han var på sin höjd inspira­tör till datorn Colossus. – Efter kriget, 1946, konstruerade han datorn ACE, och 1948 deltog han i konstruktionen av Man­chester Mark I. – 1950 beskrev han det som sedan dess kallas för Turingtestet i en artikel som blev en ban­­brytare inom området arti­ficiell intelligens. – I början av 1950‑talet studerade han också morfogenetik, det som nu kallas för fraktala former. Alan Turing var troligen också den första som programmerade en dator till att spela musik. Se denna artikel från British Museum med ljudfil (en bit ner på sidan). – 1952 dömdes Turing för homosexuella handlingar, och 1954 dog han i vad som då tolkades som själv­­mord. (Att det var själv­­mord ifråga­­sattes 2012 av professor Jack Copeland, se denna artikel.) – I september 2009 be­klagade Stor­britanniens dåvarande premiärminister Gordon Brown officiellt hur Turing hade behandlats. Han er­kände att utan Turings insatser kunde andra världskrigets förlopp ha blivit mycket annorlunda. På jul­afton 2013 benådades Turing postumt. – Se här och här (pdf för ner­laddning). – Turingpriset, A M Turing Award, är upp­kallat efter Alan Turing. – Standard­­biografin över Alan Turing är Alan Turing: The Enigma (1983) av Andrew Hodges (länk). David Lager­­crantz har skrivit en roman om Alan Turing, Synda­fall i Wilmslow (2009, se intervju i Computer Sweden). Filmen Breaking the code från 1996 handlar om Turings liv, liksom The imitation game från 2014 – se IMdB (länk). – Se också The Turing digital archive och Andrew Hodges webb­plats Alan Turing: the enigma. – En av Turings anteckningsböcker såldes i april 2015 på auktion i New York för 1 025 000 dollar.

[alan turing] [datorvetenskap] [it-historia] [matematik och logik] [personer] [ändrad 26 april 2019]

stopproblemet

Tecknad bild av superdatorn Deep Thought från Liftarens guide till galaxen.
Datorn Deep Thought som behövde 7,5 miljoner år för att räkna ut svaret.

(the halting problem) – frågan om det på förhand går att räkna ut ifall en körning av ett datorprogram kommer till ett slut någon gång, eller om beräkningen fortsätter i all evighet. – Alan Turing bevisade i sin berömda artikel ”On computable numbers with an application to the Entscheidungsproblem” (länk) från 1936 att uppgiften är olöslig. – Observera att detta gäller när frågan ska besvaras enbart med mekaniska metoder och för varje tänk­bar beräkning. En matematiskt kunnig mänsklig bedömare kan ofta avgöra ifall en beräkning kommer att fortsätta i evighet eller om den tar slut någon gång, men stopproblemet gäller ifall man kan programmera en dator så att den avgör saken i alla tänkbara fall och utan mänsklig hjälp. – Vi vet till exempel att om vi sätter en dator att räkna ut det exakta värdet på pi så kommer den aldrig att bli klar, men det ”vet” inte datorn. Att det är så har mänskliga matematiker räknat ut, och det har de inte gjort genom att räkna på pi oändligt länge. Hur länge man än räknar på värdet av pi så får man nämligen inte, enbart genom att fortsätta räkna, någon in­for­ma­tion om ifall räknearbetet tar slut någon gång, eller aldrig tar slut. – I uppsatsen ”On computable numbers…” beskrev Turing också det som senare blev känt som Turing­maskinen. – Några månader före Turing hade Alonzo Church bevisat samma sak, fast utan att beskriva en maskin. – Stopproblemet är besläktat med avgörbarhetsproblemet (das Entscheidungsproblem), men också med Kurt Gödels ofullständig­hets­sats. – Läs också om omega (Chaitins konstant).

[datorvetenskap] [matematik och logik] [ändrad 6 juni 2017]

Turingmaskin

En riktig Turingmaskin, byggd av amerikanen Mike Davis.
En riktig Turingmaskin, byggd av amerikanen Mike Davey.

en teoretisk dator som beskrevs 1936 av Alan Turing. Det var en ren tankekonstruktion. (1936 fanns inga datorer.) – En Turingmaskin mot­svarar ett modernt datorprogram, men när man talar om Turingmaskiner menar man ofta universella Turingmaskiner, som kan sägas mot­svara datorer. – Alan Turing beskrev maskinen i artikeln ”On computable numbers with an application to the Entscheidungsproblem (länk). Artikeln handlade om ett matematiskt problem, stopproblemet, inte om datorer. Turing beskrev det som senare fick heta Turingmaskin enbart för att göra ett matematiskt bevis åskådligt. Det var inte en beskrivning av något som Turing verkligen tänkte bygga. – Turingmaskinen har en pappersremsa som matas fram och tillbaka genom ett läs- och skrivhuvud enligt bestämda regler. Det finns flera uppsättningar regler som kallas för tillstånd, och i reglerna ingår övergångar från ett tillstånd till ett annat. Skrivhuvudet kan läsa, radera och skriva tecken på remsan. Man programmerar Turingmaskinen med tecken på remsan, och Turingmaskinen matar sedan, enligt reglerna, remsan fram och tillbaka, läser, raderar och skriver samt växlar tillstånd tills den kommer till en regel som säger ”stopp”. Då stannar maskinen och lösningen på problemet kan avläsas på remsan. Detta är helt genomförbart, bortsett från de praktiska problemen med pappersremsan, pennan och radergummit. – I princip kan varje pro­blem som kan lösas med ett modernt datorprogram också lösas av en motsvarande Turingmaskin, men naturligt­vis är det ogörligt att använda en maskin med pappers­remsa. Man brukar därför simulera Turing­maskiner i datorer. (Se här.) Det är nämligen bra att öva sig på program för Turingmaskiner när man ska lära sig programmera. – Se också finit tillståndsmaskin. – Efter andra världskriget konstruerade Alan Turing en dator, ACE som till stor del baserades på de principer som Turing beskrev i sin artikel. – Turingmaskinen införde idén om lagrade program i datortekniken. Idén togs upp av John von Neumann i hans arkitektur för datorer, von Neumann‑arkitekturen. Den är mindre sofistikerad än Turings modell, men mer över­skådlig, och blev allenarådande i dator­tekniken. – Professor Bernard Hodson (länk) i Kanada har ut­vecklat en modern programmeringsteknik baserad på Turings principer. – Matematikern Stephen Wolfram arrangerade 2007 en tävling om Turingmaskiner, se här. – Mike Davey beskriver hur han byggde en riktig Turingmaskin (se bilden) i denna artikel. – Richard Ridel har byggt en Turingmaskin av trä, se denna video.

[it-historia] [matematik och logik] [ändrad 12 mars 2018]

Santa Cruz Operation

(SCO) – uppköpt amerikanskt företag som tidigare sålde Unix för persondatorer; numera del av Oracle. Santa Cruz Ope­ration ska inte förväxlas med The SCO Group†: det var ett annat företag som hade tagit över förkort­ningen SCO. – Santa Cruz Ope­ration grundades 1979 och var det första företag som på allvar satsade på Unix för person­­datorer. Före­taget marknads­­­förde först Xenix, utveck­lat av Micro­­soft. 1989 bytte operativsystemet namn till SCO Unix. 1995 köpte SCO rätten att förvalta och ut­veckla Unix System V (men inte rätten till varu­märket Unix, se X/Open†) från Novell†. Novell hade i sin tur köpt det från AT&T, som hade utvecklat Unix. Under några år försökte SCO ena branschen kring ett en­het­ligt Unix. 1998 lan­se­ra­des därför en ny version av SCO:s operativ­system under namnet SCO Unix­ware. Men sam­tidigt hade Linux blivit en svår kon­kurrent på Intel‑platt­formen. SCO började därför att också mark­nads­föra Linux. – Under åren 2000 och 2001 sålde SCO större delen av sina till­gångar, inklusive Unix­ware, till företaget Caldera, som 2002 bytte namn till The SCO Group och gick en turbulent fram­tid till mötes. Det som fanns kvar av gamla SCO bytte först namn till Tarantella, men köptes 2005 av Sun†, som i sin tur har köpts av Oracle. Varumärket används inte. – Svensken Lars Turndal (1936—1999) var vd för SCO 1993—1995.

[företag] [it-historia] [unix] [uppköpt] [ändrad 10 mars 2020]

Church, Alonzo

(1903—1995) – amerikansk matematiker. Han bevisade 1936 i artikeln ”A note on the Entscheidungsproblem” (se avgörbarhetsproblemet) att det finns mate­matiska problem som det inte går att lösa på med mekaniska metoder. Det var samma sak som Churchs studie­­kamrat Alan Turing bevisade senare samma år i sin upp­sats om stopproblemet. Turing visade senare att de två bevisen var likvärdiga. Båda bevisen byggde på Kurt Gödels ofullständighetssats. – Church‑Turings hypotes säger att alla matematiska beräkningar som kan beskrivas i ett ändligt antal steg (med en algoritm) kan lösas av en maskin. Om en nog­­grann men fantasi­lös människa med papper och penna (givet obegränsat med tid) kan räkna ut lösningen (lösa problemet mekaniskt) kan en maskin också göra det. Men: beräkningen kan pågå i all evighet. Till exempel är det lätt att beskriva divisionen 2 delat med 3, men det tar en evig­het att räkna ut svaret med decimala siffror (0,6666666……) om man inte sätter stopp. För att inte tala om sådant som att räkna ut värdet på pi. – Det som både Church och Turing bevisade var att även om en maskin kan utföra alla beräkningar som kan uttryckas som algoritmer, så kan maskinen inte avgöra ifall beräkningen tar slut någon gång, eller om den fort­sätter i all evighet. – En artikel på engelska om vanliga missuppfatt­ningar av Church‑Turings hypotes finns här.

[alonzo church] [datorvetenskap] [för- och bihistoria] [personer] [ändrad 6 november 2019]