Pols Grehems par Java un "hakeru" programmÄ“Å”anas valodām (2001)

Pols Grehems par Java un "hakeru" programmÄ“Å”anas valodām (2001)

Å Ä« eseja radās no sarunām, kas man bija ar vairākiem izstrādātājiem par tēmu neobjektivitāte pret Java. Tā nav Java kritika, bet gan skaidrs ā€œhakeru radaraā€ piemērs.

Laika gaitā hakeriem veidojas labas vai sliktas tehnoloÄ£ijas. Es domāju, ka varētu bÅ«t interesanti mēģināt ieskicēt iemeslus, kāpēc Java man Ŕķiet apÅ”aubāma.

Daži, kas to lasÄ«ja, uzskatÄ«ja to par ievērÄ«bas cienÄ«gu mēģinājumu rakstÄ«t par kaut ko, par ko nekad agrāk nebija rakstÄ«ts. Citi brÄ«dināja, ka es rakstu par lietām, par kurām neko nezinu. Tāpēc katram gadÄ«jumam vēlos precizēt, ka es nerakstu par Java (ar kuru nekad neesmu strādājis), bet gan par ā€œhakeru radaruā€ (par ko esmu daudz domājis).

Izteiciens ā€œnevērtē grāmatu pēc vākaā€ cēlies no laika, kad grāmatas tika pārdotas tukÅ”os kartona vākos, kurus pircējs saistÄ«ja pēc saviem ieskatiem. Tajos laikos grāmatu nevarēja atŔķirt pēc vāka. Tomēr kopÅ” tā laika izdevējdarbÄ«ba ir ievērojami attÄ«stÄ«jusies, un mÅ«sdienu izdevēji dara visu iespējamo, lai nodroÅ”inātu, ka vāks pasaka daudz.

Esmu pavadījis daudz laika grāmatnīcās un, manuprāt, esmu iemācījies saprast visu, ko izdevēji man vēlas pastāstīt, un, iespējams, vēl kādu. Lielāko daļu laika, ko pavadīju ārpus grāmatnīcām, pavadīju pie datora ekrāniem, un es domāju, ka zināmā mērā iemācījos spriest par tehnoloģiju pēc tās vākiem. Tā var būt akla veiksme, taču man ir izdevies izvairīties no dažām tehnoloģijām, kas izrādījās ļoti sliktas.

Viena no Ŕīm tehnoloÄ£ijām man izrādÄ«jās Java. Es neesmu rakstÄ«jis nevienu programmu Java valodā un esmu tikai izpētÄ«jis dokumentāciju, taču man ir sajÅ«ta, ka tai nav lemts kļūt par ļoti veiksmÄ«gu valodu. Es varu kļūdÄ«ties ā€” tehnoloÄ£iju prognozÄ“Å”ana ir bÄ«stams bizness. Un tomēr, sava veida laikmeta liecÄ«ba, lÅ«k, kāpēc man nepatÄ«k Java:

  1. PārmērÄ«gs entuziasms. Å ie standarti nav jāuzliek. Neviens nemēģināja reklamēt C, Unix vai HTML. Patiesi standarti tiek noteikti ilgi, pirms vairums cilvēku par tiem pat dzird. Hakeru radarā Perl izskatās ne mazāk kā Java tikai tā priekÅ”rocÄ«bu dēļ.
  2. Javas mērÄ·is nav augsts. Sākotnējā Java aprakstā Goslings skaidri norāda, ka Java tika izstrādāta tā, lai programmētājiem, kas pieraduÅ”i pie C. Tas tika izveidots kā vēl viens C++:C ar dažām idejām, kas aizgÅ«tas no progresÄ«vākām valodām. Tāpat kā komēdiju, ātrās ēdināŔanas vai ceļojumu ceļojumu veidotāji, arÄ« Java veidotāji apzināti izstrādāja produktu cilvēkiem, kuri nebija tik gudri kā viņi paÅ”i. Vēsturiski valodas, kas paredzētas lietoÅ”anai citiem, ir bijuÅ”as neveiksmÄ«gas: Cobol, PL/1, Pascal, Ada, C++. Tomēr veiksmÄ«gākās bija tās, kuras veidotāji izstrādāja 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 bÅ«tu ko teikt, nevis rakstÄ«tu tad, kad gribētos rakstÄ«t grāmatu. Tāpat iemesls, kāpēc mēs pastāvÄ«gi dzirdam par Java, nav tāpēc, ka viņi mēģina mums kaut ko pastāstÄ«t par programmÄ“Å”anas valodām. Mēs dzirdam par Java kā daļu no Sun plāna pārņemt Microsoft.
  4. Neviens viņu nemÄ«l. C, Perl, Python, Smalltalk vai Lisp programmētāji ir iemÄ«lējuÅ”ies savās valodās. Es nekad neesmu dzirdējis, ka kāds paziņotu par savu mÄ«lestÄ«bu pret Java.
  5. Cilvēki ir spiesti to izmantot. Daudzi man zināmi cilvēki, kuri izmanto Java, to dara nepiecieÅ”amÄ«bas dēļ. Viņi domā, ka tas iegÅ«s finansējumu, vai arÄ« viņi domā, ka tas patiks klientiem, vai arÄ« tas ir vadÄ«bas lēmums. Tie ir gudri cilvēki; ja tehnoloÄ£ija bÅ«tu laba, viņi to izmantotu brÄ«vprātÄ«gi.
  6. Å is ir daudzu pavāru ēdiens. Labākās programmÄ“Å”anas valodas izstrādāja mazas komandas. Java virza komiteja. Ja tā izrādÄ«sies veiksmÄ«ga valoda, tā bÅ«s pirmā reize vēsturē, kad komiteja Ŕādu valodu radÄ«s.
  7. Viņa ir birokrātiska. No tā, cik maz es zinu par Java, Ŕķiet, ka ir daudz protokolu, lai kaut ko darÄ«tu. PatieŔām labas valodas nav tādas. Viņi ļauj jums darÄ«t visu, ko vēlaties, un nestāv jums ceļā.
  8. MākslÄ«gā ažiotāža. Tagad Sun mēģina izlikties, ka Java ir kopienas vadÄ«ta, ka tas ir atvērtā pirmkoda projekts, piemēram, Perl vai Python. Un tomēr attÄ«stÄ«bu kontrolē milzÄ«gs uzņēmums. Tātad valoda riskē izrādÄ«ties tikpat blāvi kā viss, kas nāk no liela uzņēmuma iekŔām.
  9. Tas ir izveidots lielām organizācijām. Lielajiem uzņēmumiem ir dažādi mērÄ·i ar hakeriem. Uzņēmumiem ir vajadzÄ«gas valodas, kurām ir reputācija, jo tās ir piemērotas lielām viduvēju programmētāju komandām. Valodas ar tādām Ä«paŔībām kā U-Haul kravas automaŔīnu ātruma ierobežotāji, kas brÄ«dina muļķus par pārāk lielu bojājumu nodarÄ«Å”anu. Hakeriem nepatÄ«k valodas, kas viņus uzrunā. Hakeriem ir nepiecieÅ”ama jauda. Vēsturiski ir zaudējuÅ”as valodas, kas radÄ«tas lielām organizācijām (PL/1, Ada), savukārt uzvarējuÅ”as hakeru radÄ«tās valodas (C, Perl). Iemesls: Å”odienas nepilngadÄ«gais hakeris ir rÄ«tdienas CTO.
  10. Viņa patÄ«k nepareiziem cilvēkiem. Programmētāji, kurus es visvairāk apbrÄ«noju, parasti nav traki ar Java. Kam viņa patÄ«k? Suits, tie, kas neredz atŔķirÄ«bu starp valodām, bet pastāvÄ«gi presē dzird par Java; programmētāji lielos uzņēmumos, aizrāvuÅ”ies ar kaut ko labāku atraÅ”anu pat par C++; visēdāji pirmsskolas skolēni, kuriem patiks jebkas, kas viņiem iegÅ«s darbu (vai nonāks eksāmenā). Å o cilvēku viedokļi mainās lÄ«dz ar vēja virzienu.
  11. Viņas vecākiem ir grÅ«ti. Sun biznesa modelis tiek uzbrukts divās frontēs. Lēti Intel procesori, kas tiek izmantoti galddatoros, ir kļuvuÅ”i pietiekami ātri serveriem. Un Ŕķiet, ka FreeBSD kļūst par tikpat labu servera OS kā Solaris. Sun reklāma nozÄ«mē, ka jums bÅ«s nepiecieÅ”ami Sun serveri ražoÅ”anas lÄ«meņa lietojumprogrammām. Ja tā bÅ«tu taisnÄ«ba, Yahoo bÅ«tu pirmais, kas iegādātos Sun. Bet, kad es tur strādāju, viņi izmantoja Intel un FreeBSD serverus. Tas sola labu Saules nākotni. Un, ja saule noriet, nepatikÅ”anas var novilkt Java lÄ«dz apakÅ”ai.
  12. AizsardzÄ«bas ministrijas mÄ«lestÄ«ba. AizsardzÄ«bas departaments mudina izstrādātājus izmantot Java. Un tā izskatās kā vissliktākā zÄ«me. AizsardzÄ«bas departaments veic izcilu (ja dārgu) darbu, aizsargājot valsti, viņiem patÄ«k plāni, procedÅ«ras un protokoli. Viņu kultÅ«ra ir pilnÄ«gi pretēja hakeru kultÅ«rai; kad runa ir par programmatÅ«ru, viņi mēdz izdarÄ«t nepareizas likmes. Pēdējā programmÄ“Å”anas valoda, kuru AizsardzÄ«bas ministrija iemÄ«lēja, bija Ada.

LÅ«dzu, ņemiet vērā, ka Ŕī nav Java kritika, bet gan tās vāka kritika. Es nepārzinu Java pietiekami labi, lai man tā patiktu vai nepatiktu. Es tikai mēģinu izskaidrot, kāpēc mani neinteresē Java apguve.

Var Ŕķist pārsteidzÄ«gi atteikties no valodas, pat nemēģinot tajā programmēt. Bet ar to ir jāsaskaras visiem programmētājiem. Ir pārāk daudz tehnoloÄ£iju, lai tās visas izpētÄ«tu. Ir jāiemācās pēc ārējām pazÄ«mēm spriest, vai tas bÅ«s jÅ«su laika vērts. Tikpat steigā es atmetu Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware un CORBA ā€” cita starpā. Viņi vienkārÅ”i mani neuzrunāja.

VarbÅ«t es kļūdos Java gadÄ«jumā. VarbÅ«t valoda, ko viens liels uzņēmums popularizē, lai konkurētu ar citu, ko izstrādājusi masu komiteja, ar lielu ažiotāžu un kuru mÄ«l AizsardzÄ«bas departaments, tomēr izrādÄ«sies glÄ«ta, skaista un spēcÄ«ga valoda, ko es ar prieku ņemÅ”u. programma iekŔā. Var bÅ«t. Bet tas ir ļoti apÅ”aubāmi.

Paldies par tulkojumu: Deniss Mitropoļskis

PS

Avots: www.habr.com

Pievieno komentāru