Ada Lovelace Biography – De eerste computerprogrammeur

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


Augusta Ada King-Noel, gravin van Lovelace – was een beroemde schrijver en wiskundige die vooral bekend was vanwege haar werk met Charles Babbage aan de analytische engine.

In de wereld van veel minder complexe namen van tegenwoordig wordt ze vaker Ada Lovelace genoemd.

Ze wordt ook wel The Enchantress of Numbers genoemd en wordt beschouwd als de auteur van het eerste computerprogramma.

Ada Lovelace

Hoewel sommigen die bewering misschien betwisten (zie: multiple discovery theory), lijdt het geen twijfel dat ze een echte visionaire en begaafde intellectueel was die een centrale rol speelde in de ontwikkeling van moderne digitale computers.

Al in de jaren 1840 publiceerde ze gedetailleerde beschrijvingen van wat we tegenwoordig kennen als modern computergebruik: machines voor alle doeleinden die veel verschillende dingen doen, zoals muziek afspelen, afbeeldingen manipuleren en zware machines aandrijven.

Pas een eeuw later zouden haar visioenen volledig worden gerealiseerd.

Achtergrond

Ada Lovelace werd geboren op 10 december 1815 in Engeland. Ze was de dochter van Anna Isabella (Anabella) Noel Byron en Lord Byron.

Ouders

Het is geen verrassing dat ze ideeën kon verbinden die veel vooraanstaande intellectuelen van haar tijd niet zagen, aangezien ze zelf het product was van twee tegengestelde denkers.

Lord Byron was een van de meest gevierde dichters van zijn tijd. Hij was een internationale beroemdheid. Byron was ook berucht om zijn avonturen, die verhalen bevatten over het feit dat hij een beer van een huisdier bezit en uit een menselijke schedel drinkt.

Anabella Byron was precies het tegenovergestelde. Ze was een hoogopgeleide en diep religieuze vrouw. Anabella was ook een begaafd wiskundige die orde en logica belangrijker vond dan intuïtie.

Wat hun ethos betreft, konden de twee niet verder van elkaar verwijderd zijn geweest. Lord Byron stond erom bekend spottend naar Anabella te verwijzen als ‘de prinses van de parallellogrammen’. Afkomstig van Lord Byron was dit geen compliment.

Eerste jaren

Hun huwelijk was vanaf het begin rotsachtig. Het omvatte een reeks overtredingen van Lord Byron, waaronder een zeer openbare affaire met zijn eigen halfzus.

Na een tumultueus huwelijk van 12 maanden verliet Anabella Lord Byron en nam Ada mee. Een paar maanden later verbond Lord Byron, die strafrechtelijk werd vervolgd, zich in 1816 uit zijn geboorteland Engeland. Tegen de tijd dat Ada 8 was, was haar vader dood.

Opleiding

Anabella, misschien getekend door het roekeloze gedrag van Lord Byron, was bang dat Ada in zijn voetsporen zou treden.

Ze nam de controle over Ada’s onderwijs nauwlettend in handen en voerde haar een strikt dieet van wetenschap en wiskunde om haar eetlust te beteugelen voor de romantische gevoeligheden van haar vader.

Anabella’s aandringen op de opleiding van haar dochter leverde winst op. Ada kreeg eersteklas onderwijs van privéleraren.

Dit was destijds ongebruikelijk; omdat algemeen werd aangenomen dat vrouwen te intellectueel zwak waren om dergelijke esoterische concepten te bestuderen.

Toen Ada volwassen werd, zou ze verstrengeld raken met enkele van de meest prestigieuze intellectuelen van haar tijd. Ze wreef over ellebogen met mensen als David Bruster, Charles Dickens, Michael Faraday en Charles Babbage.

Babbage en de Difference Engine

Ada Lovelace PortraitCharles Babbage was een renaissanceman en wordt door velen beschouwd als de ‘vader van de informatica’.

Hij was een ervaren ingenieur, filosoof, wiskundige en econoom. Hij was de oprichter van de Analytical Society, creëerde belangrijke wiskundige tabellen en hielp bij het opzetten van het postsysteem van Engeland.

De samenwerking tussen Charles Babbage en Ada Lovelace geeft ons een kostbaar inzicht in de ontwikkeling van moderne computers.

Het was een echte intellectuele match gemaakt in de hemel toen ze elkaar ontmoetten op een bijeenkomst op 5 juni 1833, gehouden door Babbage.

Verschil motor

Tijdens de bijeenkomst sprak Babbage gepassioneerd over zijn Difference Engine – een mechanische machine die complexe wiskundige tabellen kan maken.

De machine was niets indrukwekkends volgens de huidige normen, maar destijds was het het hoogtepunt van wetenschappelijke innovatie. Bovendien vormde het de basis voor modern computergebruik.

Ada’s interesse was op zijn zachtst gezegd gewekt. Wat veel gasten zagen als een grappige nieuwsgierigheid, zag Ada als een paradigmaverschuiving.

Zoals de vrouw van een van Ada’s wiskundige docenten, Sophia Frend, in haar memoires verklaarde:

Terwijl andere bezoekers staarden naar de werking van dit prachtige instrument met het soort expressie, en ik durf het soort gevoel te zeggen, dat sommige wilden zouden hebben getoond bij het zien van een kijkglas of het horen van een pistool – als, inderdaad, ze hadden een zo sterk idee van het wonderbaarlijke ervan – juffrouw Byron, jong als ze was, begreep de werking ervan en zag de grote schoonheid van de uitvinding.

Ada’s ontmoeting met Babbage was het begin van een lange vriendschap.

Hoewel er een leeftijdsverschil van 14 jaar was tussen Babbage en Lovelace, hadden de twee veel gemeen. Ada’s vooruitziende blik en creativiteit dienden als katalysator voor zijn productieve genie.

Het eerste computerprogramma

De opvolger van de Difference Engine was een complexere machine, de Analytical Engine.

De analytische engine gebruikte een ponskaartsysteem om te werken, dezelfde technologie die destijds in het jacquared weefgetouw werd gebruikt.

Babbage gaf een presentatie over de Analytical Engine in Turijn, die een Italiaanse wetenschapper Luigi Federico Menabrea inspireerde om in 1842 een paper over zijn ideeën te publiceren.

Dit was een kernel die Ada’s genialiteit opwekte. Ada Lovelace besloot de krant te vertalen en haar eigen aantekeningen bij te voegen.

Haar ideeën overschaduwden al snel het originele papier, wat resulteerde in een manuscript dat driemaal langer was dan het origineel.

Betekenis en bijdrage

Maar Ada Lovelace is meer dan alleen een assistent en vertaler voor Babbage.

Ze zag computers en informatica voor de wereldveranderende technologie die het was.

Als Babbage de vader is van de moderne computer, is ze de moeder van moderne software.

Bernoulli-nummers

Haar genie kan echt worden opgesplitst in een paar belangrijke innovaties waarvoor ze verantwoordelijk was. Eerst de Bernoulli-nummers. Bernoulli-nummers zijn gewoon een complexe reeks getallen.

Ada Lovelace schreef een algoritme dat betekende dat de analytische machine elke keer op het juiste aantal kon komen.

De daadwerkelijke berekening is niet zo belangrijk – de echte ontwikkeling was dat je een algoritme kon schrijven dat een complexe applicatie in een reeks stappen zou kunnen opsplitsen, die stappen zou kunnen opschrijven en ze naar de machine zou kunnen voeren om elke keer hetzelfde resultaat te krijgen.

Dit was het eerste computerprogramma dat ooit is geschreven en de eerste keer dat iemand ooit overwoog om een ​​machine iets te laten berekenen dat je niet van tevoren wist.

Lovelace keek verder dan de reeks cijfers en tabellen waarvoor Babbage oorspronkelijk zijn machines had ontworpen.

Ze realiseerde zich dat als je een programma voor een computer kon schrijven om cijfers te manipuleren, je een programma zou kunnen schrijven om een ​​computer te leren symbolen te manipuleren.

We kennen dit nu als symbolische logica en het is de kern van moderne computers.

Natuurlijk, toen Lovelace aan de Analytische Machine werkte, lag die nog in de toekomst.

Maar het werd duidelijk dat je de analytische machine kon programmeren om elke abstracte wiskundige functie te berekenen, niet alleen die op basis van eenvoudige rekenkunde.

Door te beseffen dat algoritmen gebaseerd kunnen zijn op symbolische logica, zou men veel verder in de abstractie kunnen duiken, aangezien de potentiële vorm en vorm van de uiteindelijke output niet werd beperkt door werkelijke getallen.

Het is echt deze ontwikkeling van symbolische logica, in combinatie met Babbage’s hardware die de Analytical Engine tot een Turing Machine maakte, waardoor Babbage de titel ‘vader van de moderne computer’ verdiende.

Lovelace leverde nog een laatste integrale bijdrage die leidde tot de computer zoals we die nu kennen. Ze besefte dat de hele computer kon zijn.

In haar aantekeningen (waar de meeste van deze ideeën werden gerealiseerd, met name noot G), schreef Lovelace dat “de analytische motor algebraïsche patronen weeft, net zoals het jacquardweefgetouw bloemen en bladeren weeft”.

Dat was een enorme sprong voorwaarts in de jaren 1800.

Ze zegt dat je, met de juiste input, de analytische machine kunt laten doen wat je maar wilt – of je nu een patroon voor een kleed wilt, het resultaat van een vergelijking of zelfs een nieuw muziekstuk.

De uitvoer is niet relevant – zolang u de juiste instructies kunt geven, kan de computer alles produceren wat u nodig heeft.

Ada Lovelace Today

Ada Lovelace staat voor hoop, innovatie en vooruitgang.

Tot op zekere hoogte wordt het gewicht van haar prestaties en intellectuele bekwaamheid belemmerd door haar status als een icoon voor vrouwenrechten.

Maar ze was zelf een intellectuele reus, die een belangrijke rol speelde in enkele van de belangrijkste wetenschappelijke ontwikkelingen in de geschiedenis.

Alan Turing, die ooit zei: ‘Als Babbage vijfenzeventig jaar later had geleefd, had ik geen baan meer gehad’, was hij zich terdege bewust van Ada’s werk.

Hij vertrouwde op haar aantekeningen tijdens zijn ambtstermijn als codebreker voor het Britse leger tijdens de Tweede Wereldoorlog.

Codering voor kinderen

Het werk van Ada Lovelace kan als inspiratie dienen voor hongerige jonge geesten overal. Hieronder staan ​​links naar boeken en media die zijn ontworpen om informatica bij kinderen te introduceren.

  • Ada Lovelace | Draw My Life: een visueel boeiende cartoon over Ada Lovelace.

  • Ada Byron Lovelace and the Thinking Machine (2015) door Laurie Wallmark: een boek voor kinderen, cijfers 1-4.

  • Girls Think of Everything: Stories of Ingenious Inventions by Women (2002) van Catherine Thimmish: een boek voor kinderen van groep 5-8.

Meer over Ada Lovelace

Wil je meer weten over het leven en werk van Ada Lovelace? Bekijk de onderstaande bronnen.

  • Ada, A Life and a Legacy (1985) van Dorothy Stein: een biografisch boek over Ada.

  • Ada’s Algorithm (2014) van James Essinger: een boek over het leven en werk van Ada Lovelace.

  • The Difference Engine: Charles Babbage and the Quest to Build the First Computer (2002) door Doron Swade: een boek met details over de verschil-engine en het werk.

Ada: de programmeertaal vernoemd naar haar

Oorspronkelijk ontwikkeld voor het ministerie van Defensie, is de programmeertaal Ada ontworpen voor kritieke systemen waar beveiliging en betrouwbaarheid essentieel zijn.

Ada is een gestructureerde, objectgeoriënteerde programmeertaal op hoog niveau, met ingebouwde ondersteuning voor gelijktijdigheid, synchrone berichtoverdracht, beveiligde objecten en contractprogrammering.

Naast het voortdurende militaire gebruik, wordt Ada veel gebruikt voor bedrijfskritische projecten, zoals luchtverkeersleiding, satellieten, commerciële vliegtuigen, medische apparatuur, openbaarvervoersystemen – waaronder verschillende metrosystemen en de TGV-hogesnelheidstrein – en het bankwezen industrie.

Ontwerp van Ada Code

Omdat het speciaal is ontworpen voor omgevingen die afhankelijk zijn van een hoog beveiligingsniveau en die altijd operationeel moeten zijn, is Ada-code zowel veiliger als minder flexibel dan veel andere programmeertalen.

Het is een sterk getypeerde taal, wat betekent dat de compiler veel rigide is over de argumenten die aan functies worden doorgegeven en dat het eerder een fout rapporteert.

Het gebruikt ook een compiler om potentiële runtime-fouten te identificeren, voor een hogere mate van codeveiligheid.

Ada is een ALGOL-achtige programmeertaal, wat betekent dat het veel van de concepten van een algoritmische taal bevat, zoals het opnemen van gereserveerde woorden voor logische uitspraken zoals of en dan.

Ada bevat ook een aantal niet-ALGOL-functies, zoals typedefinities, aanwijzers en opsommingen.

Andere mogelijkheden

Enkele andere opvallende kenmerken van Ada zijn:

  • Modulaire programmering, waardoor afzonderlijke delen van het programma als onafhankelijke modules kunnen worden uitgevoerd, wat het onderhoud en de betrouwbaarheid van de code verbetert.

  • Behandeling van uitzonderingen, waardoor Ada-programma’s hun eigen runtime-fouten kunnen aanpakken.

  • Scalaire bereiken, waardoor programmeurs een reeks acceptabele waarden voor variabelen expliciet kunnen instellen.

  • Systeemprogrammering, waarmee programmeurs computers op hardwareniveau kunnen manipuleren, inclusief de mogelijkheid om bitlay-out voor recordvelden op te geven en een specifiek adres voor gegevensplaatsing toe te wijzen.

  • De mogelijkheid om taalfuncties bij het compileren te beperken om te voldoen aan veiligheidsnormen en certificeringsvereisten.

  • Een nadruk op leesbaarheid en beperkingen op dubbelzinnige codering, waardoor het een gemakkelijke taal is om te beoordelen, problemen op te lossen en opnieuw te gebruiken.

  • Strenge taaldefinities en standaardisatie maken Ada zeer draagbaar, omdat compilers zich op slechts enkele uitzonderingen na moeten houden aan deze definities. Dit maakt het gemakkelijk om Ada-code van de ene compiler naar de andere en zelfs van het ene platform naar het andere over te dragen.

Voorbeeldprogramma

Dit eenvoudige programma vraagt ​​gebruikersinvoer en gebruikt het om de leeftijd van de gebruiker in maanden te berekenen.

Het is geschreven voor de gratis GNAT-compiler. Het maakt gebruik van de GNAT IO-bibliotheek. Het programma demonstreert veel basisfuncties van de Ada-syntaxis.

met Gnat.Io; gebruik Gnat.Io;
procedure Month_Age is
Jaren: Integer;
Maanden: Integer;

beginnen
Zetten ("Voer uw leeftijd in jaren in: ");
Krijg (jaren);
Maanden: = 12 * jaar;

Zetten ("u bent ");
Put (maanden);
Zetten (" maanden oud.");
einde Month_Age;

Discussie

Na het laden van de IO-bibliotheek, maakt het programma een nieuwe procedure, Month_Age, en wijst vervolgens twee variabelen toe: de feitelijke procedure is vervat in de opdrachten “begin” en “einde”.

Het “Put” commando voert tekst uit naar het scherm. De opdracht “Get” verzamelt gebruikersinvoer en wijst deze in het bovenstaande geval toe aan de variabele Years.

Na toekenning wordt de waarde voor Jaar vermenigvuldigd met 12 om een ​​waarde voor Maanden vast te stellen.

De laatste drie regels van de procedure geven tekst weer aan de gebruiker, samen met de nieuwe waarde van Maanden (hun leeftijd in maanden).

Geschiedenis

Ada is eind jaren zeventig ontworpen door Jean Ichbiah, naar aanleiding van een verzoek om een ​​voorstel van het Amerikaanse Ministerie van Defensie (DoD).

De DoD probeerde het grote aantal programmeertalen (meer dan 450) te consolideren die werden gebruikt in hun embedded computerprojecten, waarvan er vele verouderd waren of afhankelijk waren van verouderde hardware.

Het vormde de High Order Language Working Group, een verzameling van branchedeskundigen, om de huidige talen te herzien en de beste te bepalen om in de behoeften van de DoD te voorzien; maar de groep stelde uiteindelijk vast dat geen bestaande taal aan hun vereisten voldeed.

Na verschillende voorstellen te hebben ontvangen, selecteerde de groep het voorstel van CII Honeywell Bull, geleid door Ichbiah.

Hun voorgestelde taal, Ada, werd sterk beïnvloed door een andere programmeertaal die het team eerder dat decennium ontwikkelde, LIS.

Ondanks aanvankelijke beweringen dat Ada snel zou worden overgenomen door de algemene programmeergemeenschap en heel goed de meest dominante programmeertaal ter wereld zou kunnen worden, bleek vroege implementatie te traag voor een groot publiek.

Critici noemden Ada te complex (het was tenslotte een poging om de rol van honderden ingebedde talen te vervullen) en onbetrouwbaar.

Ondanks deze tegenslagen zette Ada door en in de jaren tachtig en begin jaren negentig werd Ada-code geïmplementeerd in een aantal systemen en in 1991 eiste de DoD dat alle Ada voor al zijn software zou worden gebruikt – een vereiste die in 1997 werd verwijderd.

Hoewel Ada waarschijnlijk niet de eerste taal is die de meeste hobbyisten proberen uit te proberen, heeft het zichzelf bewezen als een cruciaal hulpmiddel voor industrieën die stabiele, betrouwbare code nodig hebben, grotendeels vanwege Ada’s inherente veiligheids- en beveiligingsfuncties.

Ada Compilers

Er zijn een aantal Ada-compilers beschikbaar:

  • GNAT: de GNU NYU Ada Translator is een gratis compiler, beschikbaar op de meeste platforms.

  • Green Hills Ada Optimizing Compilers: Ada cross-compilers voor high-end werkstations. Ze bieden ook AdaMULTI, een geïntegreerde ontwikkelomgeving.

  • PTC ObjectAda: native en cross-compilers, vooral voor embedded systemen.

Online bronnen

Ada heeft een sterke gemeenschap van gebruikers ontwikkeld, vooral diegenen die geïnteresseerd zijn in beveiliging, en er is geen gebrek aan advies, groepen en online tutorials om u op weg te helpen of uw Ada-kennis te vergroten.

Hier zijn enkele van onze favorieten:

  • Ada Information Clearinghouse: als programmeertalen hun eigen fansites zouden kunnen hebben, zou dit Ada’s zijn. Het is de plek om recent nieuws, informatie over de huidige normen, online tutorials en zelfs een zeer grondige uitleg te vinden over waarom Ada zo veel beter is dan al het andere dat er is.

  • AdaCore University: dit is een compleet trainingsprogramma voor de Ada-taal. De site bevat tientallen videogebaseerde e-learningmodules, die de basisprincipes van Ada, belangrijke functies, interactie met andere programmeertalen en gelijktijdigheid behandelen.

  • Ada-programmering door Wikibooks: deze gratis referentie biedt achtergrondinformatie over Ada, algemene kennis van de taalfuncties, basisvaardigheden en projectgebaseerde tutorials. Elk hoofdstuk bevat tutorials over belangrijke concepten en voorbeeldcode.

  • Ada2012: Ada zag enkele grote verbeteringen in 2012, en deze site legt ze allemaal vast, inclusief een zij-aan-zij vergelijking van eerdere versies. Het bevat ook referentiehandleidingen, tutorials en recent Ada-nieuws.

  • Het GNAT Academic-programma: als u een graad in informatica overweegt en u zich op Ada wilt concentreren, biedt deze site een lijst met alle universiteiten die Ada aanbieden als onderdeel van hun curriculum.

Boeken

De bibliotheek met Ada-boeken is niet zo rijk als voor sommige andere programmeertalen, en de meeste titels gaan uit van een bepaald niveau van eerdere programmeerkennis.

Bovendien zijn veel van de beste boeken die vandaag beschikbaar zijn, geschreven vóór Ada2012.

Het zijn nog steeds geweldige bronnen en bieden een uitstekende gids voor de taal, maar u moet zich ervan bewust zijn dat er enkele veranderingen zijn geweest, dus u zult deze op een gegeven moment moeten opfrissen (bekijk onze bronnensectie hierboven wanneer u ‘ opnieuw klaar).

  • Programmeren in Ada2012 door John Barnes: hoewel een inleiding tot Ada, is dit een geavanceerde tekst die ervan uitgaat dat de lezer al veel programmeerkennis heeft. Er wordt vanuit gegaan dat Ada niet zomaar een programmeertaal is, maar een tool voor geavanceerde software-engineering.

  • Parallelle, ingebedde en realtime applicaties bouwen met Ada van McCormick, Singhoff en Hugues: deze tekst is bedoeld voor niet-gegradueerde studenten en programmeurs met bestaande kennis van sequentieel programmeren en heeft tot doel de kennis van de lezer te verbreden met geavanceerde concepten van parallel en gedistribueerd computergebruik. . Het legt sterk de nadruk op theorie, dus als je op zoek bent naar een praktische tutorial, dan is dit waarschijnlijk niet iets voor jou, maar als je je algemene begrip wilt uitbreiden, is dit een must read.

  • Programmeren en problemen oplossen met Ada 95 van Dale, Weems en McCormick: hoewel dit geen recente tekst is, hebben we deze op onze lijst gezet omdat het een van de weinige Ada-boeken is die is ontworpen voor nieuwe programmeurs. Met een zware nadruk op het aanleren van goede programmeergewoonten, leidt het boek studenten door belangrijke programmeerconcepten met praktische probleemoplossing, regelmatige tests, opwarmingsoefeningen en regelmatig geplaatste snelle controles.

  • Ada voor software-ingenieurs door Mordechai Ben-Ari: zoals de naam al doet vermoeden, is dit een andere bron voor ervaren programmeurs. Dit boek is bekritiseerd omdat het voor sommige lezers te complex is. Maar om eerlijk te zijn, Ada is ontworpen voor complexe softwareontwikkeling, dus als je dit boek niet aankan, is Ada misschien niet de beste taal voor jou. De auteur concentreert zich op essentiële concepten van de Ada-taal en gebruikt verschillende casestudy’s om hun toepassingen te demonstreren. Het bevat ook vergelijkingen met andere talen, waaronder C en Java, om de overgang te vergemakkelijken.

Moet je Ada leren?

Ada is niet de eerste programmeertaal van de meeste mensen en het zal waarschijnlijk nooit worden gebruikt voor leuke, snelle programmering zoals webapplicaties of mobiele apps.

Voor serieuze programmeurs die zich willen concentreren op zeer veilige, missiekritieke applicaties, moet Ada bovenaan uw lijst staan ​​voor programma’s die u hierna kunt leren, vooral als u geïnteresseerd bent in openbaar vervoer, luchtvaartelektronica, financiën of een bijdrage levert naar het volgende grote ding in ruimteverkenning.

Ada Lovelace: de eerste programmeur

Ada Lovelace is geen symbolische vrouw die we in de geschiedenis van computers proppen. Ze was de eerste programmeur, en zoals we tegenwoordig weten, zijn het meestal de softwaremensen en niet de hardwaremensen die de meeste aandacht krijgen.

Bovendien is ze niet de enige vrouwelijke torenhoge figuur in de geschiedenis van computers en technologie. Ze is een inspiratie voor ons allemaal – maar vooral voor vrouwen die nog steeds ondergewaardeerd zijn in de wereld van hightech.

Andere interessante dingen

We hebben meer handleidingen, tutorials en infographics met betrekking tot computers:

  • De geschiedenis van zoekmachines: het hele verhaal van langzame ontwikkeling van bibliotheekdatabases tot de moderne engine.

  • Geschiedenis van het World Wide Web: leer over de reis van ARPANET helemaal naar het internet der dingen en verder.

  • Ada Programmering Introductie en bronnen: leer alles over de programmeertaal genoemd naar Ada Lovelace.

Leuke manieren waarop kinderen kunnen leren coderen

Je kind hoeft geen professionele programmeur te willen worden om geweldige vaardigheden op te doen en veel plezier te hebben bij het leren programmeren. Daarom hebben we de infographic Fun Ways Kids Can Learn to Code gemaakt. Er zijn speciale talen speciaal voor kinderen om de concepten te leren. En wie weet? Misschien groeien ze op tot tech miljardair.

Leuke manieren waarop kinderen kunnen leren coderen
Leuke manieren waarop kinderen kunnen leren coderen

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map