Ada Lovelace Biografi – Den første dataprogrammereren

Formidling: Din støtte hjelper med å holde nettstedet i gang! Vi tjener et henvisningsgebyr for noen av tjenestene vi anbefaler på denne siden.


Augusta Ada King-Noel, grevinne av Lovelace – var en kjent forfatter og matematiker kjent mest for sitt arbeid med Charles Babbage på den analytiske motoren.

I dagens verden med langt mindre sammensatte navn, blir hun oftere kalt Ada Lovelace.

Hun har også blitt kalt “The Enchantress of Numbers” og regnes for å være forfatteren av det første dataprogrammet.

Ada Lovelace

Mens noen kan bestride påstanden (se: multiple discovery theory), er det ingen tvil om at hun var en sann visjonær og begavet intellektuell som spilte en sentral rolle i utviklingen av moderne digitale datamaskiner.

Allerede på 1840-tallet hadde hun publisert detaljerte beskrivelser av det vi i dag kjenner som moderne databehandling: maskiner til alle formål som gjør mange forskjellige ting som å spille musikk, manipulere grafikk og tunge maskiner.

Det var først et århundre senere at visjonene hennes ble fullstendig realisert.

Bakgrunn

Ada Lovelace ble født 10. desember 1815, i England. Hun var datter av Anna Isabella (Anabella) Noel Byron, og Lord Byron.

Foreldre

Det er ingen overraskelse at hun klarte å koble ideer som mange ledende intellektuelle i hennes tid ikke kunne se, gitt at hun selv var et produkt av to polære motsatte tenkere.

Lord Byron var en av de mest berømte dikterne i sin tid. Han var en internasjonal kjendis. Byron var også beryktet for sine eventyr, som innebærer historier om ham som eier en kjæledyrbjørn og drakk ut av en menneskeskalle.

Anabella Byron var helt motsatt. Hun var en høyt utdannet og dypt religiøs kvinne. Anabella var også en begavet matematiker som prioriterte orden og logikk fremfor intuisjon.

Så langt som deres etos, kunne de to ikke ha vært lenger fra hverandre. Lord Byron var kjent for å hånlig referere til Anabella som “prinsessen for parallellogrammer.” Kommer fra Lord Byron, var dette ikke et kompliment.

Første år

Ekteskapet deres var steinete fra starten av. Det inkluderte en serie overtredelser fra Lord Byron, inkludert en veldig offentlig affære med sin egen halvsøster.

Etter et voldsomt 12 måneders ekteskap forlot Anabella Lord Byron og tok Ada med seg. Noen måneder senere, eksploderte Lord Byron – som sto overfor straffeskyld, seg fra sitt hjemland England i 1816. Da Ada var 8 år, var faren hennes død.

utdanning

Anabella, kanskje arret av den uforsiktige oppførselen til Lord Byron, var bekymret for at Ada ville følge i hans fotspor.

Hun tok tett kontroll over Adas utdanning, og gav henne en streng diett av naturfag og matematikk for å dempe all appetitt hun måtte ha for farens romantiske følsomhet.

Anabellas insistering på datterens utdanning betalte utbytte. Ada fikk en førsteklasses utdanning fra private veiledere.

Dette var uvanlig den gangen; siden det generelt ble akseptert at kvinner var for intellektuelt skrøpelige til å studere slike esoteriske begreper.

Etter hvert som Ada ble gammel, ble hun sammensveiset med noen av de mest prestisjefylte intellektuelle i sin tid. Hun gned albuene med slike som David Bruster, Charles Dickens, Michael Faraday og Charles Babbage.

Babbage and the Difference Engine

Ada Lovelace PortraitCharles Babbage var en renessansemann og anses av mange for å være “datafitenskapens far.”

Han var en dyktig ingeniør, filosof, matematiker og økonom. Han var grunnleggeren av Analytical Society, laget viktige matematiske tabeller og bidro til å etablere Englands postsystem.

Samarbeidet mellom Charles Babbage og Ada Lovelace gir oss dyrebar innsikt i utviklingen av moderne databehandling.

Det var en ekte intellektuell kamp som ble gjort i himmelen da de møttes på en samling 5. juni 1833, som ble holdt av Babbage.

Forskjellen motor

Under samlingen snakket Babbage lidenskapelig om Difference Engine – en mekanisk maskin som er i stand til å lage komplekse matematiske tabeller.

Maskinen var ikke noe imponerende etter dagens standarder, men den gang var det høydepunktet av vitenskapelig innovasjon. Videre viste det grunnlaget for moderne databehandling.

Adas interesse ble mildt sagt pirket. Det mange gjester så på som en morsom nysgjerrighet, så Ada som et paradigmeskifte.

Som kona til en av Adas matematiske veiledere, Sophia Frend, uttalte i memoarene:

Mens andre besøkende så på bruken av dette vakre instrumentet med den slags uttrykk, og jeg tør si den slags følelse, som noen villmenn sies å ha vist når de først fikk se et glass eller høre en pistol – om, de hadde en like sterk ide om dens vidunderlighet – frøken Byron, ung som hun var, forsto dets virke, og så oppfinnelsens store skjønnhet.

Adas møte med Babbage var begynnelsen på et langt vennskap.

Selv om det var 14 års aldersforskjell mellom Babbage og Lovelace, hadde de to mye til felles. Adas framsyn og kreativitet tjente som en katalysator for hans produktive geni.

Det første dataprogrammet

Etterfølgeren til Difference Engine var en mer kompleks maskin kalt Analytical Engine.

Den analytiske motoren brukte et stansekortsystem for å fungere, den samme teknologien som ble brukt i Jacquared vevstolpe den gang.

Babbage holdt en presentasjon om den analytiske motoren i Torino, som inspirerte en italiensk forsker Luigi Federico Menabrea til å publisere en artikkel om ideene sine i 1842.

Dette tjente til å være en kjerne som vekket Adas geni. Ada Lovelace bestemte seg for å oversette papiret, samt legge ved egne notater.

Ideene hennes overskygget snart originaloppgaven, og resulterte i et manuskript som var tre ganger lengre enn originalen.

Betydning og bidrag

Men Ada Lovelace som mer enn bare en assistent og oversetter til Babbage.

Hun så datamaskiner og informatikk for den verdensforandrende teknologien det var.

Hvis Babbage er far til den moderne datamaskinen, er hun mor til moderne programvare.

Bernoulli Numbers

Geniet hennes kan virkelig deles inn i noen få viktige nyvinninger hun var ansvarlig for. Først Bernoulli-tallene. Bernoulli-tall er ganske enkelt en kompleks rekke med tall.

Ada Lovelace skrev en algoritme som betydde at den analytiske maskinen kunne komme frem til riktig nummer, hver eneste gang.

Den faktiske beregningen er ikke så viktig – den virkelige utviklingen var at du kunne skrive en algoritme som kunne dele ned en kompleks applikasjon i en serie trinn, skrive disse trinnene ned og mate dem til maskinen for å få samme resultat hver gang.

Dette var det første dataprogrammet som noen gang er skrevet, og første gang noen noensinne hadde vurdert å skaffe en maskin for å beregne noe du ikke allerede visste på forhånd.

Lovelace så utover serien med tall og tabeller som Babbage opprinnelig hadde designet maskinene sine for å takle.

Hun innså at hvis du kunne skrive et program for en datamaskin for å manipulere tall, kan du skrive et program for å lære en datamaskin å manipulere symboler i stedet.

Vi vet dette som symbolsk logikk, og det er kjernen som ligger til grunn for moderne datamaskiner.

Selvfølgelig, tilbake da Lovelace jobbet med den analytiske maskinen, som fremdeles lå i fremtiden.

Men det ble klart at du kunne programmere den analytiske maskinen til å beregne enhver abstrakt matematisk funksjon, ikke bare den som er basert på enkel aritmetikk.

Ved å innse at algoritmer kunne være basert på symbolsk logikk, kunne man fordype seg mye lenger inn i abstraksjon siden den potensielle formen og formen til den endelige utdata ikke var avgrenset av faktiske tall.

Det er virkelig denne utviklingen av symbolsk logikk, sammen med Babbages maskinvare som gjorde Analytical Engine til en Turing Machine, og dermed tjente Babbage tittelen “far til den moderne datamaskinen.”

Lovelace ga et siste integrert bidrag som førte til datamaskinen slik vi kjenner den i dag. Hun skjønte at all datamaskinen kunne være.

I notatene sine (der de fleste av disse ideene ble realisert, spesielt notat G), skrev Lovelace at “den analytiske motoren vever algebraiske mønstre akkurat som Jacquard-vevstolen vever blomster og blader.”

Noe som var et enormt sprang å gjøre på 1800-tallet.

Hun sier at med de rette innspillene, kan du få den analytiske maskinen til å gjøre hva du vil – enten du vil ha et mønster for et teppe, resultatet til en ligning, eller til og med et nytt stykke musikk.

Outputen er uten betydning – så lenge du kan gi de riktige instruksjonene, kan datamaskinen produsere hva du måtte trenge.

Ada Lovelace i dag

Ada Lovelace representerer håp, innovasjon og fremgang.

Til en viss grad blir vekten av hennes prestasjoner og intellektuelle dyktighet hindret av hennes status som et ikon for kvinners rettigheter.

Men hun var en intellektuell gigant i seg selv, som spilte en viktig rolle i noen av de viktigste vitenskapelige utviklingene i historien.

Alan Turing som en gang sa: “Hvis Babbage hadde levd syttifem år senere, ville jeg vært ute av en jobb,” var vel klar over Adas arbeid.

Han stolte på hennes notater i løpet av hans periode som codebreaker for det britiske militæret under andre verdenskrig.

Koding for barn

Arbeidet til Ada Lovelace kan tjene som en inspirasjon for sultne unge sinn overalt. Nedenfor er lenker til bøker og medier designet for å introdusere informatikk for barn.

  • Ada Lovelace | Draw My Life: en visuelt engasjerende tegneserie om Ada Lovelace.

  • Ada Byron Lovelace and the Thinking Machine (2015) av Laurie Wallmark: en bok for barn klasse 1-4.

  • Girls Think of Everything: Stories of Ingenious Inventions by Women (2002) av Catherine Thimmish: en bok for barn i klasse 5-8.

Mer om Ada Lovelace

Vil du lære mer om livet og arbeidet til Ada Lovelace? Sjekk ut ressursene nedenfor.

  • Ada, A Life and a Legacy (1985) av Dorothy Stein: en biografisk bok om Ada.

  • Adas algoritme (2014) av James Essinger: en bok om Ada Lovelasses liv og virke.

  • The Difference Engine: Charles Babbage and the Quest to Build the First Computer (2002) av Doron Swade: en bok som beskriver forskjellsmotoren og arbeidet.

Ada: Programmeringsspråket oppkalt etter henne

Ada-programmeringsspråket, som opprinnelig ble utviklet for Department of Defense, ble designet for kritiske systemer der sikkerhet og pålitelighet er avgjørende.

Ada er et strukturert, objektorientert programmeringsspråk på høyt nivå, med innebygd støtte for samtidighet, synkron meldingsoverføring, beskyttede objekter og kontraktsprogrammering..

I tillegg til fortsatt militær bruk, er Ada mye brukt for operasjonskritiske prosjekter, som flytrafikkontroll, satellitter, kommersielt fly, medisinsk utstyr, offentlig transportsystemer – inkludert flere metrosystemer og TGV-høyhastighetsbanen – og bank industri.

Design av Ada-kode

Fordi den er designet spesielt for miljøer som er avhengige av et høyt sikkerhetsnivå og trenger å være i drift til enhver tid, er Ada-koden både sikrere og fleksibel enn mange andre programmeringsspråk..

Det er et sterkt typisk språk, noe som betyr at kompilatoren er mye mer stiv når det gjelder argumentene som blir sendt til funksjoner, og mer sannsynlig at de rapporterer en feil.

Den bruker også en kompilator for å identifisere potensielle kjøretidsfeil, for en høyere grad av kodesikkerhet.

Ada er et ALGOL-lignende programmeringsspråk, og betyr at det inneholder mange av begrepene til et algoritmisk språk, for eksempel inkludering av reserverte ord for logiske utsagn som hvis og da.

Ada inkluderer også en rekke funksjoner som ikke er ALGOL, for eksempel typedefinisjoner, pekere og oppregninger.

Andre funksjoner

Noen andre viktige funksjoner i Ada inkluderer:

  • Modulær programmering, slik at separate deler av programmet kan kjøres som uavhengige moduler, noe som forbedrer kodevedlikehold og pålitelighet.

  • Unntakshåndtering, som lar Ada-programmer adressere sine egne kjøretidsfeil.

  • Skalare områder, slik at programmerere eksplisitt kan angi et område av akseptable verdier for variabler.

  • Systemprogrammering, som lar programmerere manipulere datamaskiner på maskinvarenivå, inkludert muligheten til å spesifisere bitlayout for postfelt og tildele en spesifikk adresse for dataplassering.

  • Evnen til å begrense språkfunksjonene på kompilering for å oppfylle sikkerhetsstandarder og sertifiseringskrav.

  • En vektlegging av lesbarhet og begrensninger på tvetydig koding, noe som gjør det til et enkelt språk å gjennomgå, feilsøke og bruke på nytt.

  • Strenge språkdefinisjoner og standardisering gjør Ada svært bærbar, fordi kompilatorer må følge disse definisjonene med bare noen få unntak. Dette gjør det enkelt å porte Ada-kode fra en kompilator til en annen og til og med fra en plattform til en annen.

Eksempel på program

Dette enkle programmet ber om brukerinput og bruker det til å beregne brukerens alder i måneder.

Den er skrevet for den gratis GNAT-kompilatoren. Den bruker GNAT IO-biblioteket. Programmet demonstrerer mange grunnleggende funksjoner i Ada-syntaks.

med Gnat.Io; bruk Gnat.Io;
prosedyre Month_Age er
År: Heltall;
Måneder: Heltall;

begynne
Sette ("Angi din alder i år: ");
Få (år);
Måneder: = 12 * år;

Sette ("Du er ");
Put (måneder);
Sette (" måneder gammel.");
slutt Måned_Age;

Diskusjon

Etter å ha lastet IO-biblioteket oppretter programmet en ny prosedyre, Month_Age, og tildeler deretter to variabler: den faktiske prosedyren er inneholdt i kommandoene “start” og “slutt”..

“Put” -kommandoen sender tekst til skjermen. Kommandoen “Få” samler brukerinndata, og i tilfellet over tilordner den til variabelen, År.

Når tildelingen er tildelt multipliseres med 12 for å etablere en verdi for måneder.

De tre siste linjene i prosedyren sender tekst til brukeren, sammen med den nye verdien på Måneder (alder i måneder).

Historie

Ada ble designet av Jean Ichbiah på slutten av 1970-tallet, som svar på en forespørsel om forslag fra det amerikanske forsvarsdepartementet (DoD).

DoD forsøkte å konsolidere det store antallet programmeringsspråk (over 450) som ble brukt i sine innebygde dataprosjekter, hvorav mange var foreldet eller var avhengige av utdatert maskinvare.

Det dannet High Order Language Working Group, en samling bransjeeksperter, for å gjennomgå gjeldende språk og bestemme det beste for å imøtekomme DoDs behov; men gruppen bestemte til slutt at ikke noe eksisterende språk oppfylte kravene.

Etter å ha mottatt flere forslag valgte gruppen den som ble sendt inn av CII Honeywell Bull, ledet av Ichbiah.

Deres foreslåtte språk, Ada, var sterkt påvirket av et annet programmeringsspråk teamet utviklet tidligere det tiåret, LIS.

Til tross for innledende påstander om at Ada raskt ville bli adoptert av det generelle programmeringssamfunnet og veldig godt kunne bli verdens mest dominerende programmeringsspråk, viste tidlig implementering seg for treg for et stort publikum.

Kritikere kalte Ada altfor sammensatt (det prøvde tross alt å fylle rollen som hundrevis av innebygde språk) og upålitelige.

Til tross for disse tilbakeslagene, vedvarte Ada, og gjennom 1980- og begynnelsen av 1990-tallet ble Ada-kode implementert i en rekke systemer, og i 1991 ga mandatet mandat til at all Ada skulle brukes til all programvaren – et krav som ble fjernet i 1997.

Selv om Ada sannsynligvis ikke er det første språket de fleste hobbyister bestemmer seg for å prøve seg på, har det etablert seg som et kritisk verktøy for bransjer som krever stabil, pålitelig kode, hovedsakelig på grunn av Adas iboende sikkerhets- og sikkerhetsfunksjoner.

Ada Compilers

Det er flere Ada-kompilatorer tilgjengelig:

  • GNAT: GNU NYU Ada Translator er gratis kompilator, tilgjengelig på de fleste plattformer.

  • Green Hills Ada Optimizing Compilers: Ada cross compilers for high-end arbeidsstasjoner. De tilbyr også AdaMULTI, et integrert utviklingsmiljø.

  • PTC ObjectAda: native og cross compilers, spesielt for innebygde systemer.

Online ressurser

Ada har utviklet et sterkt fellesskap av brukere, spesielt de som er interessert i sikkerhet, og det er ingen mangel på råd, grupper og online tutorials som kan hjelpe deg med å komme i gang eller øke Ada-kunnskapen din..

Her er noen av favorittene våre:

  • Ada Information Clearinghouse: hvis programmeringsspråk kan ha egne fan-nettsteder, ville dette være Adas. Det er stedet å finne nyheter, informasjon om gjeldende standarder, online tutorials og til og med en veldig grundig gjennomgang av hvorfor Ada er så mye bedre enn alt annet der ute.

  • AdaCore University: dette er et komplett opplæringsprogram for Ada-språket. Nettstedet har dusinvis av videobaserte e-læringsmoduler som dekker grunnleggende om Ada, hovedfunksjoner, interaksjon med andre programmeringsspråk og samtid.

  • Ada-programmering av Wikibooks: denne gratis referansen gir bakgrunn for Ada, generell kunnskap om språkfunksjonene, grunnleggende ferdigheter og prosjektbaserte opplæringsprogrammer. Hvert kapittel inneholder opplæringsprogrammer om hovedbegrep og eksempelskode.

  • Ada2012: Ada så noen store forbedringer i 2012, og dette nettstedet fanger opp dem alle, inkludert en sammenligning av tidligere versjoner side om side. Den inneholder også referansehåndbøker, opplæringsprogrammer og siste Ada-nyheter.

  • Det akademiske programmet GNAT: Hvis du vurderer en grad i informatikk og vil fokusere på Ada, gir dette nettstedet en liste over alle universitetene som inneholder Ada som en del av pensum.

bøker

Biblioteket med Ada-bøker er ikke så rikt som for noen andre programmeringsspråk, og flertallet av titlene antar et visst nivå av tidligere programmeringskunnskap.

Dessuten ble mange av de beste bøkene tilgjengelig i dag skrevet før Ada2012.

De er fremdeles gode ressurser og gir en utmerket guide til språket, men du bør være klar over at det har skjedd noen endringer, så du må pusse opp de på et tidspunkt (sjekk ressursdelen ovenfor når du ‘ er klar).

  • Programmering i Ada2012 av John Barnes: selv om en introduksjon til Ada, er dette en avansert tekst som antar at leseren allerede har betydelig programmeringskunnskap. Det tar den tilnærmingen at Ada ikke bare er et annet programmeringsspråk, men et verktøy for sofistikert programvareingeniør.

  • Å bygge parallelle, innebygde og sanntidsapplikasjoner med Ada av McCormick, Singhoff og Hugues: designet for studenter og programmerere med eksisterende kunnskap om sekvensiell programmering, og denne teksten tar sikte på å utvide leserens kunnskap til å omfatte avanserte konsepter for parallell og distribuert databehandling . Det legger stor vekt på teori, så hvis du leter etter en praktisk opplæring, er dette sannsynligvis ikke noe for deg, men hvis du vil utvide den generelle forståelsen din, er dette en må-lese.

  • Programmering og problemløsning med Ada 95 av Dale, Weems og McCormick: selv om det ikke er en fersk tekst, har vi tatt med denne på listen vår, fordi den er en av få Ada-bøker designet for nye programmerere. Med stor vekt på å lære gode programmeringsvaner, vandrer boka studentene gjennom viktige programmeringskonsepter med problemløsing i den virkelige verden, regelmessige tester, oppvarmingsøvelser og raske kontroller regelmessig.

  • Ada for Software Engineers av Mordechai Ben-Ari: som navnet antyder er dette en annen ressurs for erfarne programmerere. Denne boka har blitt kritisert for å være for kompleks for noen lesere. Men for å være rettferdig, er Ada designet for kompleks programvareutvikling, så hvis du ikke kan håndtere denne boken, er Ada kanskje ikke det beste språket for deg. Forfatteren fokuserer på essensielle konsepter av Ada-språket, og bruker flere casestudier for å demonstrere bruksområdene. Det inkluderer også sammenligninger med andre språk, inkludert C og Java, for å lette overgangen.

Bør du lære Ada?

Ada er ikke de fleste sitt første programmeringsspråk, og det vil sannsynligvis aldri bli brukt til morsomme, raske programmeringer som webapplikasjoner eller mobilapper.

For seriøse programmerere som ønsker å fokusere på svært sikre, oppdragskritiske applikasjoner, bør Ada imidlertid være øverst på listen din for programmer å lære videre, spesielt hvis du er interessert i offentlig transport, luftfart, finans eller å bidra til den neste store tingen innen romutforskning.

Ada Lovelace: Den første programmereren

Ada Lovelace er ikke en symbolsk kvinne som vi stapper inn i datamaskinens historie. Hun var den første programmereren, og som vi vet i dag, er det vanligvis programvarepersonene snarere enn maskinvarepersonene som får mest mulig av oppmerksomheten.

Dessuten er hun neppe den eneste kvinnelige ruvende skikkelsen i datamaskinens og teknologiens historie. Hun står som en inspirasjon for oss alle – men spesielt kvinner som fremdeles er underrepresentert i verden av høyteknologisk.

Andre interessante ting

Vi har flere guider, veiledninger og infografikk relatert til datamaskiner:

  • Historien om søkemotorer: hele historien om treg utvikling fra bibliotekdatabaser til den moderne motoren.

  • World of Wide Web: lær om reisen fra ARPANET helt til tingenes internett og utover.

  • Ada-programmering Introduksjon og ressurser: lære alt om programmeringsspråket oppkalt etter Ada Lovelace.

Morsomme måter barn kan lære å kode

Barnet ditt trenger ikke å ønske å bli en profesjonell programmerer for å få gode ferdigheter og ha en god tid på å lære seg å programmere. Derfor opprettet vi de infografiske morsomme måtene barn kan lære å kode. Det er spesielle språk bare for barn å lære konseptene. Og hvem vet? Kanskje de vil vokse opp til å bli en teknologisk milliardær.

Morsomme måter barn kan lære å kode
Morsomme måter barn kan lære å kode

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