Progresul software este o muncă de echipă
Istoria programării nu poate fi redusă la câteva nume. Fiecare limbaj, sistem de operare sau instrument important a fost construit și îmbunătățit de comunități întregi.
Cei zece pionieri de mai jos oferă însă repere utile pentru a înțelege cum au evoluat ideile fundamentale din software. Ordinea este cronologică și nu exprimă o ierarhie a contribuțiilor.
Algoritmi
Ada Lovelace 1815–1852
În notele publicate în 1843 despre Mașina Analitică a lui Charles Babbage, Lovelace a descris o metodă de calcul pentru numerele Bernoulli. Contribuția ei este un reper timpuriu pentru ideea unei mașini care execută instrucțiuni generale.
Compilatoare
Grace Hopper 1906–1992
Hopper a dezvoltat unul dintre primele compilatoare și a avut un rol important în definirea COBOL. Munca ei a apropiat programarea de limbajul uman și a contribuit la răspândirea software-ului în organizații.
Software critic
Margaret Hamilton n. 1936
A condus divizia de software de la MIT Instrumentation Laboratory care a lucrat la sistemul de ghidaj Apollo. Echipa sa a demonstrat cât de riguroasă trebuie să fie dezvoltarea software-ului critic.
Algoritmi
Donald Knuth n. 1938
Prin analiza algoritmilor și seria The Art of Computer Programming, Knuth a oferit informaticii un limbaj riguros pentru a discuta corectitudinea, eficiența și eleganța soluțiilor.
Unix
Ken Thompson n. 1943
Thompson a creat Unix împreună cu Dennis Ritchie și a proiectat limbajul B. Ideile Unix despre instrumente mici și compozabile continuă să influențeze sistemele moderne.
C și Unix
Dennis Ritchie 1941–2011
Ritchie a creat limbajul C și, alături de Thompson, a rescris mare parte din Unix în C. Combinația a făcut sistemul mai ușor de portat și a influențat generații de platforme.
C++
Bjarne Stroustrup n. 1950
Stroustrup este proiectantul și implementatorul inițial al C++. Limbajul a dus programarea generică și orientată pe obiecte în domenii unde controlul resurselor și performanța sunt esențiale.
Java
James Gosling n. 1955
Gosling a condus proiectarea inițială a Java la Sun Microsystems. Portabilitatea oferită de mașina virtuală și ecosistemul limbajului au schimbat dezvoltarea aplicațiilor enterprise și web.
Python
Guido van Rossum n. 1956
Van Rossum a creat Python la CWI. Accentul pus pe lizibilitate și o sintaxă accesibilă a ajutat limbajul să devină important în educație, automatizare, web, date și inteligență artificială.
Linux și Git
Linus Torvalds n. 1969
Torvalds a inițiat nucleul Linux și a creat Git. Ambele proiecte au crescut prin contribuții comunitare și stau astăzi la baza unei părți importante din infrastructura software.
Ce putem învăța din aceste contribuții
- Ideile durabile rezolvă probleme reale și pot fi folosite de alți oameni.
- Lizibilitatea, portabilitatea, testarea și colaborarea sunt la fel de importante ca performanța.
- Software-ul evoluează prin comunități, standarde și iterații, nu prin efort individual izolat.