Pols Grehems par Java un "hakeru" programmēŔanas valodām (2001)

Pols Grehems par Java un "hakeru" programmēŔanas valodām (2001)

Šī eseja ir sarunu ar vairākiem izstrādātājiem rezultāts par neobjektīvo attieksmi pret Java. Tā nav Java kritika, bet gan spilgts "hakeru radara" piemērs.

Laika gaitā hakeri attÄ«sta asu izpratni par to, kas ir laba vai slikta tehnoloÄ£ija. Es nodomāju, ka varētu bÅ«t interesanti mēģināt izklāstÄ«t iemeslus, kāpēc es uzskatu, ka Java ir apÅ”aubāma.

Daži lasÄ«tāji uzskatÄ«ja Å”o par vērtÄ«gu mēģinājumu rakstÄ«t par kaut ko tādu, par ko neviens iepriekÅ” nebija rakstÄ«jis. Citi brÄ«dināja, ka es rakstu par lietām, par kurām neko nezinu. Tāpēc, ja nu kas, es vēlētos precizēt, ka es nerakstu par Java (ko nekad neesmu lietojis), bet gan par "hakeru radaru" (par ko esmu daudz domājis).

Teiciens "nespried par grāmatu pēc vāka" radies laikos, kad grāmatas tika pārdotas tukÅ”os kartona vākos, kurus pircējs varēja iesiet pēc savas patikas. Tajos laikos par grāmatu neko nevarēja pateikt pēc tās vāka. Tomēr kopÅ” tā laika izdevējdarbÄ«ba ir ievērojami attÄ«stÄ«jusies, un mÅ«sdienu izdevēji pieliek lielas pÅ«les, lai nodroÅ”inātu, ka vāks runā pats par sevi.

Esmu pavadījis diezgan daudz laika grāmatnīcās un domāju, ka esmu iemācījies saprast visu, ko izdevēji vēlas man pateikt, un varbūt nedaudz vairāk. Lielāko daļu laika, ko esmu pavadījis ārpus grāmatnīcām, esmu pavadījis pie datoru ekrāniem, un domāju, ka zināmā mērā esmu iemācījies spriest par tehnoloģijām pēc to vākiem. Varbūt tā ir tīra veiksme, bet man ir izdevies izvairīties no dažām tehnoloģijām, kas izrādījās patiesi sliktas.

Viena no Ŕādām tehnoloÄ£ijām man bija Java. Es neesmu rakstÄ«jis nevienu programmu Java valodā un esmu tikai pārlaidis acis dokumentācijai, taču man ir sajÅ«ta, ka tai nav lemts kļūt par Ä«paÅ”i veiksmÄ«gu valodu. Es varētu kļūdÄ«ties — tehnoloÄ£iju prognozēŔana ir bÄ«stama nodarbe. Tomēr Ŕī ir sava veida laikmeta liecÄ«ba — lÅ«k, kāpēc man nepatÄ«k Java:

  1. PārmērÄ«ga entuziasma. Patiesi standarti nav jāuzspiež. Neviens nav mēģinājis reklamēt C, Unix vai HTML. Patiesi standarti tiek noteikti ilgi pirms vairums cilvēku par tiem pat dzird. Hakeru acÄ«s Perl ne mazāk lÄ«dzinās Java, tikai pēc savām priekÅ”rocÄ«bām.
  2. Java netiecas augstu. Sākotnējā Java aprakstā Goslings skaidri norāda, ka Java tika izveidota, lai to bÅ«tu viegli lietot programmētājiem, kas pieraduÅ”i pie C. Tā tika veidota kā cita C++ valoda: C valoda ar dažām idejām, kas aizgÅ«tas no sarežģītākām valodām. Tāpat kā situāciju komēdiju, ātrās ēdināŔanas vai ceļojumu pakeÅ”u veidotāji, Java veidotāji apzināti izstrādāja produktu cilvēkiem, kas ir mazāk inteliÄ£enti nekā viņi paÅ”i. Vēsturiski valodas, kas izstrādātas citu lietoÅ”anai, ir cietuÅ”as neveiksmi: Cobol, PL/1, Pascal, Ada, C++. Tomēr veiksmÄ«gākās ir bijuÅ”as tās, ko to veidotāji izstrādāja paÅ”i sev: C, Perl, Smalltalk, Lisp.
  3. Slēptie motÄ«vi. Kāds reiz teica, ka pasaule bÅ«tu labāka vieta, ja cilvēki rakstÄ«tu grāmatas tikai tad, kad viņiem ir ko teikt, nevis tad, kad viņiem gribas rakstÄ«t. LÄ«dzÄ«gi, iemesls, kāpēc mēs visu laiku dzirdam par Java, nav tāpēc, ka viņi cenÅ”as mums kaut ko pastāstÄ«t par programmēŔanas valodām. Mēs dzirdam par Java kā daļu no Sun plāna pretoties Microsoft.
  4. Nevienam tas nepatīk. Programmētāji, kas raksta C, Perl, Python, Smalltalk vai Lisp, mīl savas valodas. Es nekad neesmu dzirdējis, ka kāds atzītos mīlestībā pret Java.
  5. Cilvēki ir spiesti to lietot. Daudzi no cilvēkiem, kurus es pazÄ«stu un kuri lieto Java, to dara nepiecieÅ”amÄ«bas dēļ. Viņi domā, ka tas palÄ«dzēs viņiem iegÅ«t finansējumu, vai arÄ« viņi domā, ka klientiem tas patiks, vai arÄ« tas ir vadÄ«bas lēmums. Å ie ir gudri cilvēki; ja tehnoloÄ£ija bÅ«tu laba, viņi to lietotu brÄ«vprātÄ«gi.
  6. Tas ir ēdiens, ko gatavo daudzi pavāri. Labākās programmēŔanas valodas ir izstrādājuÅ”as nelielas komandas. Java pārvalda komiteja. Ja tā izrādÄ«sies veiksmÄ«ga, tā bÅ«s pirmā reize vēsturē, kad komiteja ir izveidojusi Ŕādu valodu.
  7. Tā ir birokrātiska. No tā mazumiņa, ko es zinu par Java, Ŕķiet, ka ir milzum daudz protokolu jebkuras darbÄ«bas veikÅ”anai. Patiesi labas valodas tādas nav. Tās ļauj darÄ«t visu, ko vēlies, un netraucē.
  8. MākslÄ«ga ažiotāža. Sun paÅ”laik cenÅ”as izlikties, ka Java ir kopienas vadÄ«ta, ka tas ir atvērtā koda projekts, tāpat kā Perl vai Python. Tomēr izstrādi kontrolē milzÄ«gs uzņēmums. Tāpēc valoda riskē kļūt par tādu paÅ”u garlaicÄ«gu vraku, kāds rodas no liela uzņēmuma.
  9. Tas ir paredzēts lielām organizācijām. Lieliem uzņēmumiem ir citi mērÄ·i nekā hakeriem. Uzņēmumi vēlas valodas, kas ir pazÄ«stamas ar piemērotÄ«bu lielām viduvēju programmētāju komandām. Valodas ar tādām Ä«paŔībām kā ātruma ierobežotāji U-Haul kravas automaŔīnās, kas attur muļķus no pārāk liela kaitējuma nodarīŔanas. Hakeriem nepatÄ«k valodas, kas viņiem runā no augÅ”as. Hakeri vēlas varu. Vēsturiski valodas, kas paredzētas lielām organizācijām (PL/1, Ada), ir zaudējuÅ”as, savukārt hakeru izstrādātas valodas (C, Perl) ir uzvarējuÅ”as. Iemesls: Å”odienas nepilngadÄ«gais hakeris ir rÄ«tdienas CTO.
  10. Tas uzrunā nepareizos cilvēkus. Programmētāji, kurus es visvairāk apbrÄ«noju, parasti nav sajÅ«smā par Java. Kam tas patÄ«k? PielÅ«dzējiem, tiem, kas neredz atŔķirÄ«bu starp valodām, bet pastāvÄ«gi dzird par Java presē; programmētājiem lielos uzņēmumos, kas apsēsti ar to, lai atrastu kaut ko labāku pat par C++; visēdājiem absolventiem, kuriem patiks viss, kas viņiem nodroÅ”inās darbu (vai ieradÄ«sies eksāmenā). Å o cilvēku viedokļi mainās lÄ«dzi vējam.
  11. Viņas vecāki piedzÄ«vo grÅ«tus laikus. Sun biznesa modelis tiek kritizēts divās frontēs. Lēti Intel procesori, ko izmanto galddatoros, ir kļuvuÅ”i pietiekami ātri, lai serveriemUn Ŕķiet, ka FreeBSD kļūst par tikpat labu operētājsistēmu serveriem kā Solaris. Sun reklāma liek domāt, ka uzņēmuma lÄ«meņa lietojumprogrammām bÅ«s nepiecieÅ”ami Sun serveri. Ja tā bÅ«tu taisnÄ«ba, Yahoo bÅ«tu pirmais rindā, kas iegādātos Sun. Bet, kad es tur strādāju, viņi izmantoja Intel serverus un FreeBSD. Tas Sun ir drÅ«ms vēstnesis. Un, ja Sun sabruks, problēmas varētu lÄ«dzi pavilkt arÄ« Java.
  12. AizsardzÄ«bas departamenta mÄ«las dēka. AizsardzÄ«bas departaments mudina izstrādātājus izmantot Java. Un Ŕī Ŕķiet vissliktākā zÄ«me no visām. AizsardzÄ«bas departaments veic brÄ«niŔķīgu (lai arÄ« dārgu) darbu, aizsargājot valsti; viņi dievina plānus, procedÅ«ras un protokolus. Viņu kultÅ«ra ir pilnÄ«gi pretēja hakeru kultÅ«rai; runājot par programmatÅ«ru, viņi mēdz izdarÄ«t nepareizas likmes. Pēdējā programmēŔanas valoda, kurā AizsardzÄ«bas departaments iemÄ«lējās, bija Ada.

LÅ«dzu, ņemiet vērā, ka Ŕī nav Java kritika, bet gan tās iepakojuma kritika. Es nepārzinu Java pietiekami labi, lai man tā patiktu vai nepatiktu. Es vienkārÅ”i cenÅ”os izskaidrot, kāpēc man nepatÄ«k apgÅ«t Java.

Varētu Ŕķist pārsteidzÄ«gi atmest valodu, pat nemēģinot tajā programmēt. Taču tieÅ”i tā ir jādara visiem programmētājiem. Ir pārāk daudz tehnoloÄ£iju, lai tās visas apgÅ«tu. Jums jāiemācās pēc izskata spriest, vai kaut kas ir jÅ«su laika vērts. Es tikpat pārsteidzÄ«gi atmetu Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET protokolu, VMS, Novell Netware un CORBA — kā arÄ« citas. Tās mani vienkārÅ”i neuzrunāja.

VarbÅ«t es kļūdos par Java. VarbÅ«t valoda, ko reklamē viens liels uzņēmums, lai konkurētu ar citu, ko izstrādājusi komiteja masām, ar lielu ažiotāžu un iemīļojusi AizsardzÄ«bas ministrija, tomēr izrādÄ«sies glÄ«ta, skaista un spēcÄ«ga valoda, kurā es labprāt programmēŔu. VarbÅ«t. Bet tas ir ļoti maz ticams.

Paldies par tulkojumu: Deniss Mitropoļskis

PS

Avots: www.habr.com

Pievieno komentāru