Paul Graham oor Java en "hacker"-programmeertale (2001)

Paul Graham oor Java en "hacker"-programmeertale (2001)

Hierdie opstel het ontstaan ​​uit gesprekke wat ek met verskeie ontwikkelaars gehad het oor die onderwerp van vooroordeel teen Java. Dit is nie 'n kritiek op Java nie, maar eerder 'n duidelike voorbeeld van die "hacker-radar".

Met verloop van tyd ontwikkel kuberkrakers 'n neus vir goeie—of slegte—tegnologie. Ek het gedink dit kan interessant wees om die redes te probeer uiteensit waarom ek Java twyfelagtig vind.

Sommige wat dit gelees het, het dit beskou as 'n noemenswaardige poging om oor iets te skryf waaroor nog nooit voorheen geskryf is nie. Ander het gewaarsku dat ek skryf oor dinge waarvan ek niks weet nie. So net vir ingeval, wil ek graag verduidelik dat ek nie oor Java skryf nie (waarmee ek nog nooit gewerk het nie), maar oor "hacker radar" (waaroor ek baie gedink het).

Die uitdrukking “moenie 'n boek aan sy omslag beoordeel nie” het ontstaan ​​uit 'n tyd toe boeke in leë kartonomslae verkoop is wat die koper na sy smaak gebind het. In daardie dae kon jy nie 'n boek aan sy omslag onderskei nie. Sedertdien het die uitgewersbedryf egter baie gevorder, en moderne uitgewers doen baie moeite om te verseker dat die voorblad baie sê.

Ek het baie tyd in boekwinkels deurgebring, en ek dink ek het geleer om alles te verstaan ​​wat die uitgewers vir my wil vertel, en waarskynlik nog meer. Die meeste van die tyd wat ek buite boekwinkels deurgebring het, is voor rekenaarskerms deurgebring, en ek veronderstel ek het tot 'n mate geleer om tegnologie volgens sy omslae te beoordeel. Dit is dalk blinde geluk, maar ek het daarin geslaag om 'n paar tegnologieë te vermy wat baie sleg blyk te wees.

Een van hierdie tegnologieë blyk vir my Java te wees. Ek het nie 'n enkele program in Java geskryf nie, en het net die dokumentasie deurgekyk, maar ek het 'n gevoel dit is nie bestem om 'n baie suksesvolle taal te word nie. Ek kan verkeerd wees - om voorspellings oor tegnologie te maak is 'n gevaarlike besigheid. En tog, soort van 'n bewys van die era, hier is hoekom ek nie van Java hou nie:

  1. Oormatige entoesiasme. Hierdie standaarde hoef nie opgelê te word nie. Niemand het probeer om C, Unix of HTML te bevorder nie. Ware standaarde word gestel lank voordat die meeste mense eers daarvan hoor. Op 'n hacker se radar lyk Perl nie minder as Java nie, uitsluitlik weens sy meriete.
  2. Java mik nie hoog nie. In die oorspronklike beskrywing van Java, sê Gosling uitdruklik dat Java ontwerp is om maklik te wees vir programmeerders wat gewoond is aan C. Dit is ontwerp om nog 'n C++:C te wees met 'n paar idees wat uit meer gevorderde tale geleen is. Soos die skeppers van sitcoms, kitskos of reistoere, het die skeppers van Java bewustelik 'n produk ontwerp vir mense wat nie so slim soos hulleself was nie. Histories het tale wat ontwerp is vir ander mense om te gebruik, misluk: Cobol, PL/1, Pascal, Ada, C++. Die suksesvolles was egter dié wat die skeppers vir hulself ontwikkel het: C, Perl, Smalltalk, Lisp.
  3. Versteekte motiewe. Iemand het eenkeer gesê die wêreld sal 'n beter plek wees as mense net boeke skryf wanneer hulle iets het om te sê, in plaas van om te skryf wanneer hulle lus is om 'n boek te skryf. Net so is die rede waarom ons aanhou hoor van Java, nie omdat hulle ons iets oor programmeertale probeer vertel nie. Ons hoor van Java as deel van Sun se plan om Microsoft aan te pak.
  4. Niemand is lief vir haar nie. C-, Perl-, Python-, Smalltalk- of Lisp-programmeerders is verlief op hul tale. Ek het nog nooit iemand gehoor hul liefde vir Java verklaar nie.
  5. Mense word gedwing om dit te gebruik. Baie mense wat ek ken wat Java gebruik, doen dit uit nood. Hulle dink dit sal vir hulle befondsing kry, of hulle dink dit sal by kliënte aanklank vind, of dit is 'n bestuursbesluit. Dit is slim mense; as die tegnologie goed was, sou hulle dit vrywillig gebruik.
  6. Dit is 'n gereg van baie sjefs. Die beste programmeertale is deur klein spanne ontwikkel. Java word deur komitee gedryf. As dit 'n suksesvolle taal blyk te wees, sal dit die eerste keer in die geskiedenis wees dat 'n komitee so 'n taal skep.
  7. Sy is burokraties. Van die min wat ek van Java weet, lyk dit of daar baie protokolle is om enigiets te doen. Regtig goeie tale is nie so nie. Hulle laat jou doen wat jy wil en staan ​​nie in jou pad nie.
  8. Kunsmatige hype. Nou probeer Sun voorgee dat Java gemeenskapsgedrewe is, dat dit 'n oopbronprojek soos Perl of Python is. En tog word ontwikkeling deur 'n groot maatskappy beheer. Die taal loop dus die gevaar om dieselfde dowwe onheil te wees as alles wat uit die ingewande van 'n groot maatskappy kom.
  9. Dit is geskep vir groot organisasies. Groot maatskappye het verskillende doelwitte met hackers. Maatskappye benodig tale wat 'n reputasie het om geskik te wees vir groot spanne middelmatige programmeerders. Tale met kenmerke soos die spoedbeperkers op U-Haul-vragmotors, waarsku dwase om te veel skade aan te rig. Kuberkrakers hou nie van tale wat tot hulle praat nie. Hackers het krag nodig. Histories het tale wat vir groot organisasies (PL/1, Ada) geskep is, verloor, terwyl tale wat deur kuberkrakers (C, Perl) geskep is, gewen het. Rede: Vandag se jeugdige hacker is môre se CTO.
  10. Die verkeerde mense hou van haar. Die programmeerders wat ek die meeste bewonder, is oor die algemeen nie mal oor Java nie. Wie hou van haar? Suits, diegene wat nie die verskil tussen tale sien nie, maar voortdurend van Java in die pers hoor; programmeerders in groot maatskappye, obsessief om iets beter as selfs C++ te vind; omnivore voorgraadse studente wat van enigiets sal hou wat vir hulle werk sal kry (of in 'n eksamen sal beland). Die opinies van hierdie mense verander met die rigting van die wind.
  11. Haar ouer kry dit moeilik. Sun se sakemodel word op twee fronte aangeval. Goedkoop Intel-verwerkers wat in tafelrekenaars gebruik word, het vinnig genoeg geword vir bedieners. En dit lyk asof FreeBSD 'n goeie bedienerbedryfstelsel word soos Solaris. Sun se advertensies impliseer dat jy Sun-bedieners sal benodig vir produksiegraadtoepassings. As dit waar was, sou Yahoo eerste in die ry wees om Sun te koop. Maar toe ek daar gewerk het, het hulle Intel- en FreeBSD-bedieners gebruik. Dit voorspel goed vir Sun se toekoms. En as Son ondergaan, kan Java ook in die moeilikheid wees.
  12. Liefde van die Ministerie van Verdediging. Die Departement van Verdediging moedig ontwikkelaars aan om Java te gebruik. En dit lyk na die ergste teken van almal. Die departement van verdediging doen 'n uitstekende (indien duur) werk om die land te beskerm, hulle hou van planne, prosedures en protokolle. Hul kultuur is heeltemal teenstrydig met hackerkultuur; wanneer dit by sagteware kom, is hulle geneig om die verkeerde weddenskappe te maak. Die laaste programmeertaal waarop die departement van verdediging verlief geraak het, was Ada.

Neem asseblief kennis, dit is nie 'n kritiek op Java nie, maar 'n kritiek op die omslag daarvan. Ek ken nie Java goed genoeg sodat ek daarvan hou of nie daarvan hou nie. Ek probeer net verduidelik hoekom ek nie daarin belangstel om Java te leer nie.

Dit lyk dalk haastig om 'n taal af te wys sonder om eers te probeer om daarin te programmeer. Maar dit is waarmee alle programmeerders te doen het. Daar is te veel tegnologieë om hulle almal te verken. Jy moet leer om aan eksterne tekens te oordeel of dit jou tyd werd sal wees. Met ewe vinnige haas het ek onder andere Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware en CORBA weggegooi. Hulle het my net nie aangespreek nie.

Miskien is ek verkeerd in die geval van Java. Miskien sal 'n taal wat deur een groot maatskappy bevorder word om met 'n ander te kompeteer, ontwikkel deur komitee vir die massas, met baie ophef, en geliefd deur die Departement van Verdediging tog 'n netjiese, pragtige en kragtige taal wees wat ek met graagte program in. Kan wees. Maar dit is baie twyfelagtig.

Dankie vir die vertaling: Denis Mitropolsky

PS

Bron: will.com

Voeg 'n opmerking