20 cele mai mari invenții în programarea calculatoarelor
Într-una din conversațiile pe care le-am avut cu editorul meu senior, mi sa pus întrebarea, “Cum au programat primii programatori?” Acest lucru a condus la o discuție despre Babbage și Ada Lovelace, la sfârșitul căreia am fost însărcinată să cercetez Cum aceasta toate au început - fiind multe premiere în istoria computerelor.
Am săpat în cărți și pe site-uri web și am fost întâmpinat cu multe revelații: Babbage nu este din punct de vedere tehnic inventator a calculatorului, FORTRAN nu a fost primul limbaj de programare la nivel înalt și am folosit stylus-uri pentru ecrane CRT (într-adevăr).
De asemenea, am fost surprins să aflu ce războaie esențiale au fost în alimentarea progresului rapid al dezvoltării computerelor, plus contribuția multor femei pe care manualele noastre au ales să le neglijeze. Prin urmare, pentru a umple golurile din istoria computerelor și programelor, am pus împreună 20 de premiere în lumea calculatoarelor, de la mingi de bowling la WW2 și tot ce se află între.
1. Primul computer: “Diferență motor” (1821)
“Diferența motorului” a fost un calculator mecanic propus pentru a fi folosit la ieșirea tabelelor matematice. Comandat de guvernul britanic, Charles Babbage (alias Father of Computer) a început să lucreze la acest lucru, dar din cauza costului său ridicat de producție, finanțarea a fost oprită și mașina nu a fost niciodată finalizată.
2. Primul computer cu scop general: “Motor analitic” (1834)
“Motor analitic” a fost, de asemenea, un calculator mecanic propus, a cărui intrare ar fi trebuit să fie perforate, cu programe și date perforate pe ele. Un alt creator al lui Charles Babbage, această mașină nu a fost de asemenea finalizată.
3. Primul program de calculator: algoritm pentru a calcula numerele Bernoulli (1841 - 1842)
Ada Lovelace (primul programator de calculator din lume) a început să traducă înregistrările matematicianului italian Luigi Menabrea pe motorul analitic al lui Babbage în 1841. În timpul traducerii, ea a devenit interesată de mașină și a lăsat note cu traducerea ei. Una dintre note - nota G, conține algoritmul pentru a calcula numerele Bernoulli de către motorul analitic, considerat a fi primul program de calculator.
4. Primul calculator programabil de lucru: Z3 (1941)
Konrad Zuse (inventatorul computerelor) a avut deja un calculator mecanic de lucru Z1, dar a lucrat doar câteva minute la un moment dat. Utilizarea unei tehnologii diferite - relee, a condus la Z2 și eventual la Z3. Z3 a fost un calculator electromagnetic pentru care programul și datele au fost stocate pe benzi externe perforate. A fost un proiect secret al guvernului german și a fost pus în aplicare de către Institutul German de Cercetare a Avioanelor. Masina originală a fost distrusă în bombardarea Berlinului în 1943.
5. Primul computer electronic: Atanasoff-Berry Computer (ABC) (1942)
Creat de John Vincent Atanasoff & Clifford Berry, numit, prin urmare, Atanasoff-Berry Computer sau ABC a fost folosit pentru a găsi soluția pentru ecuațiile liniare simultane. A fost primul computer care a folosit binar pentru a reprezenta datele și comutatoarele electronice în loc de mecanice. Totuși, computerul nu era programabil.
6. Primul computer electronic programabil: Colossus (1943)
Colosul creat de Tommy Flowers a fost o mașină creată pentru a ajuta britanicii să decripteze mesajele germane care au fost criptate de cifrul Lorenz, înapoi în cel de-al doilea război mondial. A fost programat prin comutatoare electronice și prize. Colossus a adus timp să descifreze mesajele criptate de la săptămâni la câteva ore.
7. Primul computer electronic programabil general: ENIAC (1946)
Finanțat de armata SUA, ENIAC sau Integrator numeric electronic și calculator a fost dezvoltat în cadrul Școlii de Inginerie Electrică din Moore, de la Universitatea din Pennsylvania, de John Mauchly și J. Presper Eckert. ENIAC avea o lățime de 150 de picioare și putea fi programat să efectueze operații complexe cum ar fi buclele; programarea sa făcut prin modificarea comutatoarelor electronice și a cablurilor. A folosit cititoarele de carduri pentru introducerea și loviturile de carduri pentru ieșire. A ajutat la calcularea fezabilității primei bombe cu hidrogen din lume.
8. First Trackball: (1946/1952)
De ce doi ani pentru primul trackball? Permiteți-mi să vă explic.
Primul an a fost anul dat de un Ralph Benjamin, care a pretins că a creat primul trackball din lume când a lucrat la un sistem de monitorizare a aeronavelor cu zbor scăzut în 1946. Invenția pe care a descris-o a folosit o minge pentru a controla coordonatele XY a unui cursor pe ecran. Designul a fost brevetat în 1947, dar nu a fost eliberat niciodată pentru că este considerat a “secretul militar”. Armata a optat pentru joystick în schimb.
Cel de-al doilea concurent pentru primul trackball din lume, utilizat în sistemul DATAR al Canadei Marinei din 1952, a fost inventat de Tom Cranston și co. Acest design de trackball avea o machetă în sus, care folosea o minge canadiană de bowling “rulmenți de aer” (vezi imaginea de mai jos).
9. Primul computer cu program memorat: SSEM (1948)
Pentru a depăși neajunsurile memoriei de întârziere, Frederic C. Williams și Tom Kilburn au dezvoltat primul dispozitiv de stocare digitală cu acces aleator, bazat pe CRT standard. SSEM (Manchester Masina experimentala pe scara larga) a fost utilizat pentru a implementa dispozitivul de stocare pentru utilizare practică. Programele au fost introduse în formă binară folosind 32 întrerupătoare, iar ieșirea a fost un CRT.
10. Primul limbaj de programare la nivel înalt: Plankalkül (1948)
Deși Konrad Zuse a început să lucreze la Plankalkül din 1943, doar în 1948 a publicat o lucrare despre el. Din păcate, nu a atras prea multă atenție. Trebuia să dureze aproape trei decenii mai târziu pentru ca un compilator să fie implementat pentru el, unul creat de un Joachim Hohmann într-o disertație.
11. Primul asamblator: “Ordinul inițial” pentru EDSAC (1949)
Assembler este un program care convertește mnemonic (low-level) în reprezentare numerică (cod mașină). Comenzile inițiale din EDSAC (Calculator automat de stocare cu întârziere automată) a fost primul dintr-un astfel de sistem. Acesta a fost folosit pentru a asambla programele din introducerea benzii de hârtie în memorie și a rula intrarea. Programele erau în coduri mnemonice în loc de coduri de mașini, făcând “codul inițial” primul asamblor vreodată, procesând un cod de program simbolic de nivel scăzut în codul mașinii.
12. Primul calculator personal: “Simon” (1950)
“Simon” de Edmund Berkeley a fost primul calculator digital accesibil care putea efectua patru operațiuni: plus, negație, mai mare și selecție. Intrarea a fost hârtie perforată, iar programul a rulat pe bandă de hârtie. Singura ieșire a fost prin intermediul a cinci lumini.
13. Primul compilator: A-0 pentru UNIVAC 1 (1952)
Un compilator este un program care convertește limba de nivel înalt în codul mașinii. Sistemul A-0 a fost un program creat de legendarul Grace Hopper pentru a converti un program specificat ca o succesiune de subrutine și argumente în codul mașinii. Modelul A-0 a evoluat ulterior în A-2 și a fost lansat clienților cu codul sursă, făcându-l posibil primul software open source.
14. Primul autocod: Autocodul lui Glennie (1952)
Un Autocode este un limbaj de programare la nivel înalt care utilizează un compilator. Primul autocod și compilatorul său au apărut la Universitatea din Manchester pentru a face programarea mașinii Mark 1 mai inteligibilă. A fost creat de Alick Glennie, de aici și Autocodul lui Glennie.
15. Primul computer de afișare grafică în timp real: AN / FSQ-7 de către IBM (1951)
AN / FSQ-7 sa bazat pe una dintre primele computere care au prezentat o producție în timp real, Whirlwind. A devenit linia de salvare pentru sistemul de apărare din SUA cunoscut sub numele de Mediu Semiautomat Automat (SAGE). Computerele au prezentat piste pentru ținte și au arătat automat ce defecțiuni erau în raza de acțiune. AN / FSQ-7 a avut 100 de console de sistem; aici este unul (imaginea de mai jos), OA-1008 Situație Display (SD), cu un pistol de lumină folosit pentru a selecta obiectivele pe ecran pentru informații suplimentare.
16. Primul limbaj de programare folosit pe scară largă: FORTRAN (1957)
Dacă verificați manualele, veți găsi FORTRAN enumerate ca primul limbaj de programare la nivel înalt. Gândit de John W. Backus, care nu a dorit să scrie programe și a decis să creeze un sistem de programare care să ușureze procesul, utilizarea FORTRAN a redus foarte mult numărul de instrucțiuni de programare necesare pentru a rula o mașină. Până în 1963, mai mult de 40 de compilatoare FORTRAN erau deja disponibile.
17. Prima Mouse (1964)
În timp ce ședea într-o sesiune de conferințe pe grafica computerizată, ideea unui șoarece a venit la Douglas Engelbart în 1964. El a gândit un dispozitiv cu o pereche de roți mici (una se întoarce orizontal pe cealaltă pe verticală) care poate fi folosită pentru a muta cursorul pe ecran. Un prototip (a se vedea mai jos) a fost creat de inginerul său principal, Bill English, dar Engleza și Engelbart nu au primit nicio redevență pentru proiect, deoarece din punct de vedere tehnic a aparținut SRI, angajatorul lui Engelbert.
18. Primul computer de birou comercial: Programma 101 (1965)
De asemenea, cunoscut sub numele de Perottina, Programma 101 a fost primul PC comercial din lume. Ar putea efectua adăugarea, scăderea, înmulțirea, diviziunea, rădăcina pătrată, valoarea absolută și fracțiunea. Pentru tot ceea ce putea face, prețul a fost de 3.200 de dolari (a fost un timp foarte diferit) și a reușit să vândă 44.000 de unități. Perottina a fost inventat de Pier Giorgio Perotto și produs de Olivetti, producător italian.
19. Primul ecran tactil (1965)
Nu pare prea mult, dar acesta a fost primul touchscreen pe care lumea la cunoscut vreodată. Este un panou touchscreen capacitiv, fără sensibilitate la presiune (există nici un contact, nici un contact) și înregistrează doar un singur punct de contact (spre deosebire de multitouch). Conceptul a fost adoptat pentru utilizare de către controlorii de trafic aerian în Regatul Unit până în anii 1990.
20. Limba de programare orientată pe obiecte: Simula (1967)
Bazat pe conceptul de construcție de clasă al lui C. A. R. Hoare, Ole-Johan Dahl și Kristen Nygaard și-au actualizat “SIMULA I” limbaj de programare cu obiecte, clase și subclase. Acest lucru a dus la crearea SIMULA 67 care a devenit primul limbaj de programare orientat pe obiect.
Gânduri finale
La fel de mult ca acest post despre ceea ce am putea învăța despre multe premise în istoria computerelor, este greu să ne scufundăm în istoria însăși. Ca rezultat, cel puțin pentru mine, noi să devină mai apreciativ cu privire la munca făcută de generații înaintea noastră, și putem înțelege mai bine ce conduce numeroasele schimbări care modelează lumea în care trăim astăzi.
Sper că acest post te inspiră la fel de mult cum ma inspirat. Împărtășiți-vă gândurile pe aceste prime, și dacă mi-ar fi ratat orice, ceea ce sunt sigur că am făcut, adăugați-le în comentarii.