Limbaje de programare: James Gosling, fondatorul Java, dezvăluie mai multe despre Java și Android

, Author

Popularitatea limbajelor de programare: Python învinge Java și Rust continuă să urce

James Gosling, părintele Java, unul dintre cele mai utilizate limbaje de programare din lume, a discutat cu cercetătorul Lex Fridman despre originile Java și motivațiile sale pentru crearea unui limbaj care avea să fie utilizat pe zeci de miliarde de dispozitive și să devină esențial pentru dezvoltarea Android la Google.

Gosling a conceput Java în urmă cu 25 de ani, pe când lucra la Sun Microsystems. În 2009, Java avea să fie unul dintre motivele principale pentru care Oracle a achiziționat Sun. Potrivit Oracle, în prezent există 51 de miliarde de mașini virtuale Java (JVM) active implementate la nivel global.

Dar cu mult timp înainte de achiziționarea Sun de către Oracle, Gosling a declarat că el și o echipă de la Sun „erau oarecum îngrijorați că în universul informatic se întâmplă lucruri pe care industria informatică le pierde” – ceea ce avea să devină astăzi Internetul Lucrurilor.

VEZI: Hiring Kit: Dezvoltator Python (TechRepublic Premium)

„Totul se referea la ceea ce se întâmpla în ceea ce privește hardware-ul de calcul, procesoarele și rețelele care se aflau în afara industriei de calcul”, a spus el.

„Era vorba de orice, de la primele licăriri ale telefoanelor mobile care se întâmplau atunci până la – vă uitați la lifturi și locomotive și sisteme de control al proceselor din fabrici și tot felul de echipamente audio și video.

„Toate aveau procesoare în ele, toate făceau lucruri cu ele și am simțit că se întâmplă ceva acolo pe care trebuie să îl înțelegem.”

În acea etapă, C și C++ „dețineau absolut tot universul” și totul era scris în aceste limbaje.

Gosling spune că echipa sa a făcut mai multe „călătorii epice” în jurul anului 1990 pentru a vizita Toshiba, Sharp, Mitsubishi și Sony în Japonia, Samsung și alte câteva companii sud-coreene, și a mers „peste tot în Europa” pentru a vizita companii precum Philips, Siemens și Thomson.

„Unul dintre lucrurile care au sărit în ochi a fost că făceau toate lucrurile obișnuite legate de calculatoare pe care oamenii le făcuseră cu 20 de ani înainte”, își amintește el.

„Reinventau rețelele de calculatoare și făceau toate greșelile pe care le făcuseră oamenii din industria calculatoarelor.

„Din moment ce am lucrat mult în domeniul rețelelor, mergeam și vizitam compania X care descria acest lucru de rețea pe care îl făceau și, pur și simplu, fără nimic, puteam să le spun cam 25 de lucruri care urmau să fie dezastre complete.”

Descoperirea faptului că industria din afara lumii tradiționale de calculatoare repeta acum greșelile anterioare a fost unul dintre motivele cheie pentru care Gosling și colegii săi au crezut că pot oferi ceva util în Java.

Cu toate acestea, el și-a dat seama, de asemenea, că industria electronicelor de consum și cea a calculatoarelor aveau o viziune foarte diferită asupra clienților, ceea ce l-a ajutat să informeze modul în care va proiecta Java.

„În fruntea listei se afla faptul că vedeau relația lor cu clientul ca fiind sacră. Nu erau niciodată și niciodată dispuși să facă compromisuri pentru siguranță. Unul dintre lucrurile care m-au enervat întotdeauna în industria calculatoarelor a fost faptul că oamenii erau dispuși să facă compromisuri în ceea ce privește fiabilitatea pentru a obține performanță”, a spus Gosling.

„Doar să ne dăm seama … cum să ne asigurăm că, dacă pui o bucată de pâine prăjită în prăjitor, aceasta nu va ucide clientul. Nu va izbucni în flăcări și nu va da foc casei”, a adăugat el.

După aceste călătorii pe șosea, Gosling și compania au construit un prototip de sistem de control în cod C și C++ pentru bunuri electronice de uz casnic, cum ar fi un televizor și un videorecorder. Securitatea a fost un considerent cheie în obiectivele sale pentru ceea ce avea să devină Java.

„La începutul anilor ’90 se înțelegea foarte bine că sursa numărul unu a vulnerabilităților de securitate erau doar pointeri, erau doar bug-uri, cam 50% până la 60% până la 70% erau bug-uri și marea majoritate erau de genul buffer overflows. Trebuie să ne asigurăm că acest lucru nu se poate întâmpla. Și acesta a fost lucrul inițial pentru mine: „Acest lucru nu mai poate continua”.”

Dar la începutul acestui an, Gosling a citit o știre despre faptul că echipa Chromium a descoperit că 70% dintre bug-urile de securitate din baza de cod Chrome erau bug-uri de gestionare a memoriei și de siguranță.

„Chrome este ca o bucată uriașă de cod C++. Și 60% până la 70% din toate vulnerabilitățile de securitate erau trucuri stupide de pointer. Și m-am gândit că au trecut 30 de ani și suntem încă acolo”, a spus Gosling.

Dincolo de considerentele de siguranță și securitate pentru Java, el a vrut să asigure „viteza de dezvoltare”.

„Am devenit foarte religios în această privință pentru că mi-am petrecut o cantitate nebună de timp din viața mea vânând misterioasele erori de pointer. Bug-urile de pointer misterioase tind să fie cele mai greu de găsit pentru că … cele care fac rău sunt o șansă la un milion”, notează el.

„Când faci un miliard de operații pe secundă, înseamnă că se va întâmpla. Am devenit religios în ceea ce privește faptul că dacă ceva eșuează, se întâmplă imediat și vizibil. Unul dintre lucrurile care a fost o adevărată atracție a Java pentru o mulțime de ateliere de dezvoltare a fost faptul că știm că ne punem codul în funcțiune de două ori mai repede.”

VEZI: Stephen Hawking s-a înșelat cu privire la inteligența artificială care ucide oamenii (spune robotul)

Programarea orientată pe obiecte a fost, de asemenea, un concept important pentru Java, potrivit lui Gosling.

„Unul dintre lucrurile pe care le obții din programarea orientată pe obiecte este o metodologie strictă cu privire la care sunt interfețele dintre lucruri și să fii foarte clar cu privire la modul în care părțile se raportează unele la altele.”

Acest lucru ajută la rezolvarea situațiilor în care un dezvoltator încearcă să se „strecoare pe lângă” și sparge codul pentru un alt utilizator.

El recunoaște că a supărat unele persoane prin faptul că a împiedicat dezvoltatorii să folosească backdoors. A fost o chestie de „inginerie socială”, dar spune că oamenii au descoperit că restricția a făcut o diferență atunci când se construiesc bucăți mari și complexe de software cu mulți colaboratori din mai multe organizații. A oferit acestor echipe claritate cu privire la modul în care acele lucruri sunt structurate și „îți salvează viața”.

A oferit o scurtă critică la adresa modului în care fostul șef al Android, Andy Rubin, a gestionat Java în dezvoltarea Android. Gosling, în 2011, a avut o scurtă perioadă de timp la Google în urma achiziției Sun de către Oracle. Procesul intentat de Oracle împotriva Google cu privire la utilizarea API-urilor Java nu a fost încă complet soluționat după un deceniu de audieri în instanță.

„Mă bucur că a făcut-o”, a declarat Gosling, referindu-se la utilizarea de către acesta a Java în Android. „Java a funcționat pe telefoanele mobile timp de câțiva ani și a funcționat foarte, foarte bine. Au fost lucruri legate de modul în care au făcut-o, în special diverse moduri în care au cam încălcat tot felul de contracte.”

„Tipul care a condus-o, Andy Rubin, a depășit o mulțime de limite. Au fost depășite linii care de atunci s-au transformat în procese uriașe în instanță. nu era nevoie să facă asta și, de fapt, ar fi fost mult mai ieftin pentru ei să nu depășească liniile”, a adăugat el.

„Am ajuns să cred că nu conta ce făcea Android, urma să explodeze. Am început să mă gândesc ca la un fel de producător de bombe.”

jamesgoslingusergroupsatgoogleyoutubeb.jpg

James Gosling: „Oamenii erau dispuși să facă compromisuri în ceea ce privește fiabilitatea pentru a obține performanță.”

Imagine: James Gosling/UserGroupsAtGoogle/YouTube

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.