Paul Graham o jazyku Java a „hackerských“ programovacích jazykoch ​​(2001)

Paul Graham o jazyku Java a „hackerských“ programovacích jazykoch ​​(2001)

Táto esej vyrástla z rozhovorov, ktoré som mal s niekoľkými vývojármi na tému zaujatosti voči Jave. Toto nie je kritika Javy, ale skôr jasný príklad „hackerského radaru“.

Postupom času si hackeri vyvinú nos na dobrú alebo zlú technológiu. Myslel som, že by mohlo byť zaujímavé pokúsiť sa načrtnúť dôvody, prečo považujem Java za spornú.

Niektorí, ktorí ju čítali, ju považovali za pozoruhodný pokus písať o niečom, o čom sa nikdy predtým nepísalo. Iní ma varovali, že píšem o veciach, o ktorých nič neviem. Takže pre každý prípad by som chcel objasniť, že nepíšem o Jave (s ktorou som nikdy nepracoval), ale o „hackerskom radare“ (o ktorom som veľa premýšľal).

Výraz „nesúď knihu podľa obalu“ pochádza z čias, keď sa knihy predávali v prázdnych kartónových obaloch, ktoré si kupujúci zviazal podľa svojich predstáv. V tých časoch nebolo možné rozoznať knihu podľa obalu. Odvtedy však vydavateľský priemysel výrazne pokročil a moderní vydavatelia vynakladajú veľké úsilie, aby zabezpečili, že obálka veľa povie.

Strávil som veľa času v kníhkupectvách a myslím, že som sa naučil chápať všetko, čo mi chcú vydavatelia povedať, a zrejme aj niečo viac. Väčšinu času, ktorý som trávil mimo kníhkupectiev, som trávil pred obrazovkami počítačov a predpokladám, že som sa do istej miery naučil posudzovať technológiu podľa obalu. Možno je to slepé šťastie, ale podarilo sa mi vyhnúť niekoľkým technológiám, ktoré sa ukázali ako naozaj zlé.

Jednou z týchto technológií je pre mňa Java. V Jave som nenapísal ani jeden program a len som si prezrel dokumentáciu, ale mám pocit, že nie je predurčený stať sa veľmi úspešným jazykom. Môžem sa mýliť – predpovede o technológii sú nebezpečné. A napriek tomu, akýsi dôkaz doby, tu je dôvod, prečo nemám rád Java:

  1. Prílišné nadšenie. Tieto normy nie je potrebné zavádzať. Nikto sa nepokúšal propagovať C, Unix alebo HTML. Skutočné štandardy sú stanovené dávno predtým, ako o nich väčšina ľudí vôbec počula. Na radare hackerov nevyzerá Perl o nič menej ako Java iba vďaka svojim výhodám.
  2. Java nemieri vysoko. V pôvodnom popise Javy Gosling výslovne uvádza, že Java bola navrhnutá tak, aby bola jednoduchá pre programátorov zvyknutých na C. Bol navrhnutý ako ďalší C++:C s niekoľkými nápadmi požičanými z pokročilejších jazykov. Rovnako ako tvorcovia situačných komédií, rýchleho občerstvenia alebo cestovateľských zájazdov, aj tvorcovia Java vedome navrhli produkt pre ľudí, ktorí neboli takí múdri ako oni sami. Historicky zlyhali jazyky navrhnuté pre iných ľudí: Cobol, PL/1, Pascal, Ada, C++. Úspešné však boli tie, ktoré si tvorcovia vyvinuli pre seba: C, Perl, Smalltalk, Lisp.
  3. Skryté motívy. Niekto raz povedal, že svet by bol lepší, keby ľudia písali knihy len vtedy, keď majú čo povedať, namiesto toho, aby písali, keď majú chuť písať knihu. Podobne dôvod, prečo stále počúvame o Jave, nie je ten, že sa nám snažia povedať niečo o programovacích jazykoch. Počuli sme o Jave ako súčasť plánu Sunu prevziať Microsoft.
  4. Nikto ju nemiluje. Programátori jazykov C, Perl, Python, Smalltalk alebo Lisp sú do svojich jazykov zamilovaní. Nikdy som nepočul, že by niekto deklaroval svoju lásku k Jave.
  5. Ľudia sú nútení ju používať. Mnoho ľudí, ktorých poznám a ktorí používajú Javu, to robí z núdze. Myslia si, že im to prinesie financie, alebo si myslia, že to osloví zákazníkov, alebo je to rozhodnutie manažmentu. Sú to inteligentní ľudia; ak by bola technika dobrá, použili by ju dobrovoľne.
  6. Toto je jedlo mnohých kuchárov. Najlepšie programovacie jazyky boli vyvinuté malými tímami. Java je riadená výborom. Ak sa ukáže, že ide o úspešný jazyk, bude to prvýkrát v histórii, čo komisia takýto jazyk vytvorila.
  7. Je byrokratická. Z toho mála, čo o Jave viem, sa zdá, že existuje veľa protokolov na robenie čohokoľvek. Naozaj dobré jazyky také nie sú. Dovolia vám robiť, čo chcete a nestoja vám v ceste.
  8. Umelý humbuk. Teraz sa Sun snaží predstierať, že Java je riadená komunitou, že je to open source projekt ako Perl alebo Python. A predsa vývoj riadi obrovská spoločnosť. Takže hrozí, že jazyk sa stane rovnakou nudnou špinou ako všetko, čo vychádza z útrob veľkej spoločnosti.
  9. Je vytvorený pre veľké organizácie. Veľké spoločnosti majú s hackermi rôzne ciele. Spoločnosti potrebujú jazyky, ktoré majú povesť, že sú vhodné pre veľké tímy priemerných programátorov. Jazyky s charakteristikami, ako sú obmedzovače rýchlosti na nákladných vozidlách U-Haul, varujúce hlupákov pred spôsobením príliš veľkých škôd. Hackeri nemajú radi jazyky, ktoré im hovoria. Hackeri potrebujú moc. Historicky jazyky vytvorené pre veľké organizácie (PL/1, Ada) prehrali, zatiaľ čo jazyky vytvorené hackermi (C, Perl) vyhrali. Dôvod: Dnešný mladistvý hacker je zajtrajší CTO.
  10. Nesprávni ľudia ju majú radi. Programátori, ktorých najviac obdivujem, vo všeobecnosti nie sú blázni do Javy. Kto ju má rád? Obleky, tí, ktorí nevidia rozdiel medzi jazykmi, ale neustále počúvajú o Jave v tlači; programátorov vo veľkých spoločnostiach, posadnutých hľadaním niečoho lepšieho ako dokonca C++; všežravých pregraduálnych študentov, ktorí budú milovať čokoľvek, čo im dá prácu (alebo skončia na skúške). Názory týchto ľudí sa menia so smerom vetra.
  11. Jej rodič to má ťažké. Obchodný model spoločnosti Sun je napadnutý na dvoch frontoch. Lacné procesory Intel používané v stolných počítačoch sa stali dostatočne rýchlymi pre servery. A zdá sa, že FreeBSD sa stáva rovnako dobrým serverovým OS ako Solaris. Reklama spoločnosti Sun naznačuje, že budete potrebovať servery Sun pre aplikácie na produkčnej úrovni. Ak by to bola pravda, Yahoo by bola prvá v poradí, ktorá kúpila Sun. Ale keď som tam pracoval, používali servery Intel a FreeBSD. To je dobré pre budúcnosť Slnka. A ak Sun zapadne, Java môže mať tiež problémy.
  12. Láska ministerstva obrany. Ministerstvo obrany vyzýva vývojárov, aby používali Javu. A toto vyzerá ako najhoršie znamenie zo všetkých. Ministerstvo obrany odvádza vynikajúcu (aj keď drahú) prácu pri ochrane krajiny, miluje plány, postupy a protokoly. Ich kultúra je úplne opačná ako kultúra hackerov; pokiaľ ide o softvér, majú tendenciu uzatvárať nesprávne stávky. Posledný programovací jazyk, ktorý si ministerstvo obrany zamilovalo, bola Ada.

Upozorňujeme, že toto nie je kritika Javy, ale kritika jej obalu. Javu nepoznám natoľko, aby sa mi páčila alebo nepáčila. Len sa snažím vysvetliť, prečo nemám záujem učiť sa Javu.

Môže sa zdať unáhlené zrušiť jazyk bez toho, aby ste sa v ňom pokúsili programovať. Ale s tým sa musia vysporiadať všetci programátori. Existuje príliš veľa technológií na to, aby sme ich všetky preskúmali. Musíte sa naučiť posudzovať podľa vonkajších znakov, či to bude stáť za váš čas. Rovnako rýchlo som vyradil Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware a CORBA – okrem iného. Jednoducho ma neoslovili.

Možno sa mýlim v prípade Javy. Možno, že jazyk, ktorý propaguje jedna veľká spoločnosť, aby konkuroval druhej, vyvinutý výborom pre masy, s množstvom humbuku a milovaný ministerstvom obrany, sa napriek tomu ukáže ako elegantný, krásny a silný jazyk, ktorý budem rád. program v. Možno. Ale je to veľmi pochybné.

Ďakujem za preklad: Denis Mitropolsky

PS

Zdroj: hab.com

Pridať komentár