20 Grootste uitvindingen in computerprogrammering
In een van de gesprekken die ik met onze hoofdredacteur heb gehad, kreeg ik de vraag: "Hoe hebben de eerste programmeurs het programma?" Dit leidde tot een discussie over Babbage en Ada Lovelace, aan het einde waarvan ik werd toegewezen aan onderzoek hoe het allemaal begon - het zijn de vele primeurs in de geschiedenis van het computergebruik.
Ik verdiepte me in boeken en websites en kreeg veel onthullingen te horen: Babbage is technisch gezien niet de uitvinder van de computer, FORTRAN was zeker niet de eerste programmeertaal op hoog niveau en we hadden (meestal) stylussen voor CRT-schermen.
Ik was ook verrast om te ontdekken hoe essentiële oorlogen de snelle ontwikkeling van computerontwikkeling bevorderden, plus de bijdrage van veel vrouwen die onze studieboeken verkozen te negeren. Om de hiaten in de geschiedenis van computers en programma's op te vullen, heb ik 20 primeurs in de wereld van de computerwereld samengesteld, van bowlingballen tot WW2 en alles wat daartussenin zit.
1. Eerste computer: "Difference engine" (1821)
De "Difference Engine" was een voorgestelde mechanische computer voor het uitvoeren van wiskundige tabellen. In opdracht van de Britse overheid begon Charles Babbage (ook bekend als Father of Computer) eraan te werken, maar vanwege de hoge productiekosten is de financiering gestopt en is de machine nooit voltooid .
2. Eerste computer voor algemene doeleinden: "Analytical Engine" (1834)De "Analytical Engine" was ook een voorgestelde mechanische computer, waarvan de input als geponste kaarten diende, met programma's en gegevens erop geponst. Nog een geesteskind van Charles Babbage, deze machine was ook niet voltooid.
3. Eerste computerprogramma: algoritme om Bernoulli-getallen te berekenen (1841 - 1842)Ada Lovelace ('s werelds eerste computerprogrammeur) begon met het vertalen van de records van de Italiaanse wiskundige Luigi Menabrea over de analytische engine van Babbage in 1841. Tijdens de vertaling raakte ze geïnteresseerd in de machine en liet ze met haar vertaling aantekeningen achter. Een van de aantekeningen - notitie G - bevatte het algoritme om Bernoulli-getallen te berekenen door de analytische engine, die als het allereerste computerprogramma wordt beschouwd.
4. Eerste werkende programmeerbare computer: Z3 (1941)Konrad Zuse (de uitvinder van computers) had al een werkende mechanische computer Z1, maar deze werkte maar een paar minuten tegelijk. Het gebruik van verschillende technologie - relais leidde tot Z2 en uiteindelijk tot Z3. Z3 was een elektromagnetische computer waarvoor programma en gegevens werden opgeslagen op externe geponste tapes. Het was een geheim project van de Duitse overheid en werd gebruikt door The German Aircraft Research Institute. De originele machine werd vernietigd tijdens het bombardement op Berlijn in 1943.
5. Eerste elektronische computer: Atanasoff-Berry Computer (ABC) (1942)Gemaakt door John Vincent Atanasoff en Clifford Berry, werd de hier genoemde Atanasoff-Berry Computer of ABC gebruikt om de oplossing te vinden voor simultane lineaire vergelijkingen. Het was de allereerste computer die binair werkte om gegevens en elektronische schakelaars te vertegenwoordigen in plaats van mechanisch. De computer was echter niet programmeerbaar.
6. Eerste programmeerbare elektronische computer: Colossus (1943)The Colossus gemaakt door Tommy Flowers, was een machine gemaakt om de Britten te helpen bij het ontsleutelen van Duitse berichten die gecodeerd waren door het Lorenz-cijfer, terug in de Tweede Wereldoorlog. Het was geprogrammeerd door elektronische schakelaars en stekkers. Colossus bracht de tijd om de versleutelde berichten te ontcijferen van weken tot enkele uren.
7. Eerste voor algemene doeleinden programmeerbare elektronische computer: ENIAC (1946)Gefinancierd door het Amerikaanse leger, werd ENIAC of Electronic Numerical Integrator And Computer ontwikkeld in de Moore School of Electrical Engineering, University of Pennsylvania door John Mauchly & J. Presper Eckert. ENIAC was 150 voet breed en kon worden geprogrammeerd om complexe operaties zoals loops uit te voeren; programmeren gebeurde door de elektronische schakelaars en kabels te wijzigen. Het gebruikte kaartlezers voor invoer en kaartponsen voor uitvoer. Het hielp met berekeningen voor de haalbaarheid van 's werelds eerste waterstofbom.
8. First Trackball: (1946/1952)Waarom de twee jaar voor de eerste trackball? Staat u mij toe het uit te leggen.
Het eerste jaar was het jaar dat werd gegeven door een Ralph Benjamin, die beweerde de eerste trackball ter wereld te hebben gemaakt toen hij werkte aan een monitoringsysteem voor laagvliegende vliegtuigen in 1946. De uitvinding die hij beschreef, gebruikte een bal om de XY-coördinaten te besturen. van een cursor op het scherm. Het ontwerp werd in 1947 gepatenteerd, maar werd nooit vrijgegeven omdat het als een "militair geheim" werd beschouwd. Het leger koos in plaats daarvan voor de joystick.
De tweede kandidaat voor de eerste trackball ter wereld, die in 1952 in het DATAR-systeem van de Canadese marine werd gebruikt, is uitgevonden door Tom Cranston en co. Dit trackball-ontwerp had een mock-up die gebruik maakte van een Canadese bowlingbal gesponnen op "luchtlagers" (zie afbeelding hieronder).
9. Computer met het eerste opgeslagen programma: SSEM (1948)Om de tekortkomingen van het vertragingsgeheugen te verhelpen, hadden Frederic C. Williams en Tom Kilburn het eerste digitaal opslagapparaat met willekeurige toegang ontwikkeld op basis van de standaard CRT. De SSEM (Manchester Small-Scale Experimental Machine ) werd gebruikt om dat opslagapparaat voor praktisch gebruik te implementeren. De programma's werden in binaire vorm ingevoerd met behulp van 32 schakelaars en de uitvoer ervan was een CRT.
10. Eerste programmeertaal op hoog niveau: Plankalkül (1948)Hoewel Konrad Zuse vanaf 1943 met Plankalkül begon te werken, was het pas in 1948 toen hij er een artikel over publiceerde. Het trok helaas niet veel aandacht. Het zou bijna drie decennia later duren voordat een compilator hiervoor zou worden geïmplementeerd, een die door een Joachim Hohmann in een proefschrift is gemaakt.
11. Eerste assembler: "Initiële bestellingen" voor EDSAC (1949)Assembler is een programma dat mnemonics (low-level) omzet in numerieke weergave (machinecode). De eerste bestellingen in EDSAC ( Electronic Delay Storage Automatic Calculator ) waren de eerste van een dergelijk systeem. Het werd gebruikt om programma's samen te stellen van papiertape die in het geheugen werd ingevoerd en de invoer te starten. De programma's bevonden zich in mnemonic-codes in plaats van machinecodes, waardoor de "eerste code" de eerste assembler ooit was door een symbolische programmacode op laag niveau in machinecode te verwerken.
12. Eerste personal computer: "Simon" (1950)"Simon" van Edmund Berkeley was de eerste betaalbare digitale computer die vier bewerkingen kon uitvoeren: optellen, negatie, groter dan en selectie. De invoer was gestanst papier en het programma liep op papieren rompslomp. De enige output was via vijf lichten.
13. Eerste compiler: A-0 voor UNIVAC 1 (1952)Een compiler is een programma dat taal op hoog niveau omzet in machinecode. Het A-0 systeem was een programma gemaakt door de legendarische Grace Hopper om een programma te converteren dat is gespecificeerd als een reeks van subroutines en argumenten in machinecode. De A-0 evolueerde later naar A-2 en werd vrijgegeven aan klanten met zijn broncode waardoor het mogelijk de allereerste open source software werd .
14. Eerste Autocode: Glennie's Autocode (1952)Een autocode is een programmeertaal op hoog niveau die een compiler gebruikt. De eerste autocode en de bijbehorende compiler verschenen aan de Universiteit van Manchester om de programmering van de Mark 1-machine begrijpelijker te maken. Het is gemaakt door Alick Glennie, vandaar de naam Glennie's Autocode.
15. Eerste Real-time grafische display-computer: AN / FSQ-7 door IBM (1951)AN / FSQ-7 was gebaseerd op een van de eerste computers met realtime-uitvoer, Whirlwind. Het werd de reddingslijn voor het Amerikaanse luchtverdedigingssysteem dat bekend staat als Semi-Automatic Ground Environment (SAGE). De computers toonden sporen voor de doelen en toonden automatisch aan welke verdedigingen zich binnen het bereik bevonden. AN / FSQ-7 had 100 systeemconsoles; hier is er een (afbeelding hieronder), de OA-1008 Situatie Display (SD), met een licht geweer dat wordt gebruikt om doelen op het scherm te selecteren voor meer informatie.
16. Eerste veel gebruikte programmeertaal op hoog niveau: FORTRAN (1957)Als u de tekstboeken controleert, wordt FORTRAN weergegeven als de eerste programmeertaal op hoog niveau. Gedacht door John W. Backus die het niet leuk vond om programma's te schrijven en besloot om een programmeersysteem te maken om het proces veel gemakkelijker te maken, verminderde het gebruik van FORTRAN het aantal programmeerinstructies dat nodig is om een machine te laten werken. In 1963 waren al meer dan 40 FORTRAN-compilers beschikbaar.
17. First Mouse (1964)Tijdens een conferentiesessie over computergraphics kwam het idee van een muis in 1964 naar Douglas Engelbart. Hij bedacht een apparaat met een paar kleine wielen (de een draait horizontaal verticaal in de andere) waarmee een cursor op een scherm. Een prototype (zie hieronder) werd gemaakt door zijn hoofdingenieur, Bill English, maar zowel Engels als Engelbart ontving nooit royalty's voor het ontwerp, omdat het technisch gezien toebehoorde aan SRI, de werkgever van Engelbert.
18. Eerste commerciële desktopcomputer: programma 101 (1965)Ook bekend als Perottina, was Programma 101 's werelds eerste commerciële pc. Het kan optellen, aftrekken, vermenigvuldigen, delen, vierkantswortel, absolute waarde en breuk uitvoeren. Voor alles wat het kon doen, was het geprijsd op $ 3200 (het was een heel andere tijd) en het lukte het om 44.000 eenheden te verkopen. Perottina is uitgevonden door Pier Giorgio Perotto en geproduceerd door Olivetti, een Italiaanse fabrikant.
19. Eerste touchscreen (1965)Het lijkt niet veel, maar dit was het eerste touchscreen dat de wereld ooit heeft gekend. Het is een capacitief touchscreenpaneel, zonder drukgevoeligheid (er is contact of geen contact) en het registreert slechts een enkel contactpunt (in tegenstelling tot multitouch). Het concept is tot in de jaren negentig door luchtverkeersleiders in het Verenigd Koninkrijk overgenomen.
20. Eerste object georiënteerde programmeertaal: Simula (1967)Gebaseerd op CAR Hoare's concept van klassenconstructies, hebben Ole-Johan Dahl & Kristen Nygaard hun "SIMULA I" -taal bijgewerkt met objecten, klassen en subklassen. Dit resulteerde in de creatie van SIMULA 67, die de eerste objectgeoriënteerde programmeertaal werd.
Laatste gedachtenHoezeer deze post ook ging over wat we konden leren over de vele primeurs in de geschiedenis van het computerwezen, het is moeilijk om onszelf onder te dompelen in de geschiedenis zelf. Als een resultaat, althans voor mij, worden we meer waardering voor het werk dat generaties voor ons is gedaan, en kunnen we beter begrijpen wat de vele veranderingen drijft die de wereld bepalen waarin we vandaag leven.
Ik hoop dat dit bericht je net zoveel inspireert als dat het me inspireerde. Deel uw mening over deze prime-en, als ik er een heb gemist, waarvan ik zeker weet dat ik ze heb, voeg ze dan toe in de reacties.
Lees nu: 40 mensen die het internet hebben veranderd
Windows Boot Camp installeren zonder een optisch station
Noot van de redacteur: eerder publiceerden we een bericht van Daniel Pataki over hoe Windows op Mac te installeren als al het andere faalt. Alvaro is een van de vele lezers die een opmerking over die discussie hebben achtergelaten. Hieronder is zijn versie over hoe je Windows Boot Camp, en dus Windows, op je Mac kunt krijgen
Maak spraakballonnen op de pagina met Popper.js
Iedereen weet van tooltips en er zijn tientallen gratis bronnen om u te helpen deze te maken. Bellen met aangepaste berichten of "poppers" zijn echter ook erg handig.Ze zijn niet beperkt tot zweefgebeurtenissen, dus ze kunnen consistent op de pagina worden weergegeven en andere gebruikersgedragingen omzeilen