Paul Graham despre Java și limbajele de programare „hacker” (2001)

Paul Graham despre Java și limbajele de programare „hacker” (2001)

Acest eseu a apărut din conversațiile pe care le-am avut cu mai mulți dezvoltatori despre subiectul părtinirii împotriva Java. Aceasta nu este o critică la adresa Java, ci mai degrabă un exemplu clar de „radar hacker”.

De-a lungul timpului, hackerii dezvoltă un nas pentru tehnologia bună sau rea. M-am gândit că ar putea fi interesant să încerc să subliniez motivele pentru care mi se pare Java discutabil.

Unii care l-au citit au considerat-o ca pe o încercare demnă de remarcat de a scrie despre ceva despre care nu s-a scris niciodată până acum. Alții au avertizat că scriu despre lucruri despre care nu știam nimic. Deci, pentru orice eventualitate, aș dori să clarific că nu scriu despre Java (cu care nu am lucrat niciodată), ci despre „radarul hacker” (la care m-am gândit mult).

Expresia „nu judeca o carte după coperta” provine dintr-o perioadă în care cărțile erau vândute în coperți goale de carton pe care cumpărătorul le lega după bunul său plac. În acele zile, nu puteai distinge o carte după coperta ei. De atunci, însă, industria editorială a avansat foarte mult, iar editorii moderni fac tot posibilul pentru a se asigura că coperta spune multe.

Am petrecut mult timp în librării și cred că am învățat să înțeleg tot ce vor editorii să-mi spună și, probabil, încă ceva. Majoritatea timpului petrecut în afara librăriilor a fost petrecut în fața ecranelor computerelor și presupun că am învățat, într-o oarecare măsură, să judec tehnologia după coperți. Poate fi un noroc orb, dar am reușit să evit câteva tehnologii care s-au dovedit a fi foarte proaste.

Una dintre aceste tehnologii s-a dovedit a fi Java pentru mine. Nu am scris un singur program în Java și am uitat doar documentația, dar am senzația că nu este destinat să devină un limbaj de mare succes. S-ar putea să mă înșel — a face predicții despre tehnologie este o afacere periculoasă. Și totuși, un fel de mărturie a epocii, iată de ce nu-mi place Java:

  1. Entuziasm excesiv. Aceste standarde nu trebuie impuse. Nimeni nu a încercat să promoveze C, Unix sau HTML. Adevăratele standarde sunt stabilite cu mult înainte ca majoritatea oamenilor să audă despre ele. Pe radarul unui hacker, Perl arată nu mai puțin decât Java doar datorită meritelor sale.
  2. Java nu țintește sus. În descrierea originală a Java, Gosling afirmă în mod explicit că Java a fost conceput pentru a fi ușor pentru programatorii obișnuiți cu C. A fost conceput pentru a fi un alt C++:C cu câteva idei împrumutate din limbaje mai avansate. Asemenea creatorilor de sitcom-uri, fast-food sau tururi de călătorie, creatorii Java au conceput în mod conștient un produs pentru oameni care nu erau la fel de deștepți ca ei. Din punct de vedere istoric, limbajele dezvoltate pentru ca alți oameni să le folosească au eșuat: Cobol, PL/1, Pascal, Ada, C++. Cei de succes au fost însă cei pe care creatorii i-au dezvoltat pentru ei înșiși: C, Perl, Smalltalk, Lisp.
  3. Motive ascunse. Cineva a spus odată că lumea ar fi un loc mai bun dacă oamenii ar scrie cărți doar când au ceva de spus, în loc să scrie atunci când au chef să scrie o carte. De asemenea, motivul pentru care tot auzim despre Java nu este pentru că încearcă să ne spună ceva despre limbajele de programare. Auzim despre Java ca parte a planului Sun de a lupta cu Microsoft.
  4. Nimeni nu o iubește. Programatorii C, Perl, Python, Smalltalk sau Lisp sunt îndrăgostiți de limbajele lor. Nu am auzit pe nimeni declarându-și dragostea pentru Java.
  5. Oamenii sunt forțați să-l folosească. Mulți oameni pe care îi cunosc care folosesc Java fac acest lucru din necesitate. Ei cred că le va obține finanțare, sau cred că va atrage clienții sau este o decizie de management. Aceștia sunt oameni deștepți; dacă tehnologia ar fi bună, ar folosi-o în mod voluntar.
  6. Acesta este un fel de mâncare al multor bucătari. Cele mai bune limbaje de programare au fost dezvoltate de echipe mici. Java este condus de un comitet. Dacă se dovedește a fi o limbă de succes, va fi pentru prima dată în istorie când un comitet a creat o astfel de limbă.
  7. Ea este birocratică. Din câte puține știu despre Java, se pare că există multe protocoale pentru a face orice. Limbile cu adevărat bune nu sunt așa. Te lasă să faci tot ce vrei și nu îți stau în cale.
  8. hype artificială. Acum Sun încearcă să pretindă că Java este condus de comunitate, că este un proiect open source precum Perl sau Python. Și totuși, dezvoltarea este controlată de o companie imensă. Așa că limbajul riscă să se dovedească a fi aceeași mizerie plictisitoare ca tot ceea ce iese din măruntaiele unei companii mari.
  9. Este creat pentru organizații mari. Companiile mari au obiective diferite cu hackerii. Companiile au nevoie de limbaje care au reputația de a fi potrivite pentru echipe mari de programatori mediocri. Limbi cu caracteristici precum limitatoarele de viteză de pe camioanele U-Haul, care îi avertizează pe proști să nu provoace prea multe daune. Hackerilor nu le plac limbile care le vorbesc. Hackerii au nevoie de putere. Din punct de vedere istoric, limbajele create pentru organizații mari (PL/1, Ada) au pierdut, în timp ce limbajele create de hackeri (C, Perl) au câștigat. Motiv: Hackerul minor de astăzi este CTO de mâine.
  10. Oamenii greșiți ca ea. Programatorii pe care îi admir cel mai mult nu sunt în general înnebuniți după Java. Cui îi place de ea? Costume, cei care nu văd diferența dintre limbi, dar aud constant despre Java în presă; programatori din companii mari, obsedați să găsească ceva mai bun chiar și decât C++; studenți omnivori care vor iubi orice le va aduce un loc de muncă (sau vor ajunge la un examen). Părerile acestor oameni se schimbă odată cu direcția vântului.
  11. Părintele ei are dificultăți. Modelul de afaceri al Sun este atacat pe două fronturi. Procesoarele Intel ieftine folosite în computerele desktop au devenit suficient de rapide pentru servere. Și FreeBSD pare să devină un sistem de operare pentru server la fel de bun ca Solaris. Publicitatea Sun implică faptul că veți avea nevoie de servere Sun pentru aplicații de nivel de producție. Dacă acest lucru ar fi adevărat, Yahoo ar fi primul la rând să cumpere Sun. Dar când am lucrat acolo, au folosit servere Intel și FreeBSD. Acest lucru este de bun augur pentru viitorul lui Sun. Și dacă Soarele coboară, problemele pot trage Java în jos.
  12. Dragostea Ministerului Apărării. Departamentul Apărării încurajează dezvoltatorii să folosească Java. Și acesta pare cel mai rău semn dintre toate. Departamentul Apărării face o treabă excelentă (dacă este costisitoare) de a proteja țara, îi plac planurile, procedurile și protocoalele. Cultura lor este complet opusă culturii hackerilor; când vine vorba de software, ei tind să facă pariuri greșite. Ultimul limbaj de programare de care s-a îndrăgostit Departamentul Apărării a fost Ada.

Vă rugăm să rețineți că aceasta nu este o critică la adresa Java, ci o critică a copertei sale. Nu cunosc Java suficient de bine ca să-mi placă sau să nu-mi placă. Încerc doar să explic de ce nu sunt interesat să învăț Java.

Poate părea grăbit să renunți la o limbă fără a încerca măcar să o programezi. Dar cu asta trebuie să se ocupe toți programatorii. Există prea multe tehnologii pentru a le explora pe toate. Trebuie să înveți să judeci după semne externe dacă va merita timpul tău. Cu aceeași grabă, am renunțat la Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware și CORBA, printre altele. Pur și simplu nu m-au atras.

Poate că greșesc în cazul Java. Poate că o limbă promovată de o companie mare pentru a concura cu alta, dezvoltată de un comitet pentru mase, cu mult hype și iubită de Departamentul Apărării se va dovedi totuși a fi o limbă îngrijită, frumoasă și puternică pe care o voi programa cu plăcere în . Pot fi. Dar este foarte îndoielnic.

Mulțumesc pentru traducere: Denis Mitropolsky

PS

Sursa: www.habr.com

Adauga un comentariu