Paul Graham o Javě a „hackerských“ programovacích jazycích ​​(2001)

Paul Graham o Javě a „hackerských“ programovacích jazycích ​​(2001)

Tato esej vyrostla z rozhovorů, které jsem měl s několika vývojáři na téma zaujatosti vůči Javě. Nejedná se o kritiku Javy, ale spíše o jasný příklad „hackerského radaru“.

Postupem času si hackeři vyvinou nos pro dobrou – nebo špatnou – technologii. Myslel jsem, že by mohlo být zajímavé pokusit se nastínit důvody, proč považuji Java za spornou.

Někteří, kdo ji četli, ji považovali za pozoruhodný pokus psát o něčem, o čem se nikdy předtím nepsalo. Jiní varovali, že píšu o věcech, o kterých nic nevím. Takže pro každý případ bych rád upřesnil, že nepíšu o Javě (se kterou jsem nikdy nepracoval), ale o „hackerském radaru“ (o kterém jsem hodně přemýšlel).

Výraz „nesuď knihu podle obalu“ pochází z doby, kdy se knihy prodávaly v prázdných kartonových obalech, které si kupující svázal podle svého. V té době se kniha podle obalu nerozeznala. Od té doby však vydavatelský průmysl velmi pokročil a moderní nakladatelé vynakládají velké úsilí, aby zajistili, že obálka hodně řekne.

Strávil jsem hodně času v knihkupectvích a myslím, že jsem se naučil rozumět všemu, co mi chtějí nakladatelé sdělit, a pravděpodobně ještě něco navíc. Většinu času, který jsem trávil mimo knihkupectví, jsem trávil u obrazovek počítačů a předpokládám, že jsem se do jisté míry naučil posuzovat technologie podle obalů. Možná je to slepé štěstí, ale podařilo se mi vyhnout několika technologiím, které se ukázaly jako opravdu špatné.

Jednou z těchto technologií se pro mě ukázala být Java. V Javě jsem nenapsal jediný program a pouze jsem prohlédl dokumentaci, ale mám pocit, že není předurčen stát se příliš úspěšným jazykem. Mohu se mýlit – předpovídání o technologii je nebezpečný byznys. A přesto, jakýsi svědectví o době, zde je důvod, proč nemám rád Java:

  1. Přehnané nadšení. Tyto normy není nutné ukládat. Nikdo se nepokusil propagovat C, Unix nebo HTML. Skutečné standardy jsou stanoveny dlouho předtím, než o nich většina lidí vůbec slyší. Na radaru hackerů nevypadá Perl o nic méně než Java pouze díky svým přednostem.
  2. Java nemíří vysoko. V původním popisu Javy Gosling výslovně uvádí, že Java byla navržena tak, aby byla snadná pro programátory zvyklé na C. Byl navržen jako další C++:C s několika nápady vypůjčenými z pokročilejších jazyků. Stejně jako tvůrci situačních komedií, rychlého občerstvení nebo cestovních zájezdů i tvůrci Java vědomě navrhli produkt pro lidi, kteří nebyli tak chytří jako oni sami. Historicky jazyky navržené pro použití jinými lidmi selhaly: Cobol, PL/1, Pascal, Ada, C++. Úspěšné však byly ty, které si tvůrci vyvinuli pro sebe: C, Perl, Smalltalk, Lisp.
  3. Skryté motivy. Někdo kdysi řekl, že svět by byl lepší, kdyby lidé psali knihy, jen když mají co říct, místo aby psali, když mají chuť napsat knihu. Stejně tak důvod, proč stále slyšíme o Javě, není ten, že se nám snaží něco říct o programovacích jazycích. Slyšeli jsme o Javě v rámci plánu Sunu převzít Microsoft.
  4. Nikdo ji nemiluje. Programátoři jazyků C, Perl, Python, Smalltalk nebo Lisp jsou do svých jazyků zamilovaní. Nikdy jsem neslyšel, že by někdo deklaroval lásku k Javě.
  5. Lidé jsou nuceni ji používat. Mnoho lidí, které znám a používají Javu, tak činí z nutnosti. Myslí si, že jim to zajistí finance, nebo si myslí, že to osloví zákazníky, nebo je to rozhodnutí managementu. Jsou to chytří lidé; kdyby byla technologie dobrá, použili by ji dobrovolně.
  6. Toto je jídlo mnoha kuchařů. Nejlepší programovací jazyky byly vyvinuty malými týmy. Java je řízena výborem. Pokud se ukáže, že jde o úspěšný jazyk, bude to poprvé v historii, kdy komise takový jazyk vytvořila.
  7. Je byrokratická. Z toho mála, co o Javě vím, se zdá, že existuje mnoho protokolů pro provádění čehokoli. Opravdu dobré jazyky takové nejsou. Nechají vás dělat, co chcete, a nestojí vám v cestě.
  8. Umělý humbuk. Nyní se Sun snaží předstírat, že Java je řízena komunitou, že je to open source projekt jako Perl nebo Python. A přesto vývoj řídí obrovská společnost. Takže hrozí, že se z jazyka stane stejná nudná bída jako všechno, co vychází z útrob velké společnosti.
  9. Je vytvořen pro velké organizace. Velké společnosti mají s hackery různé cíle. Společnosti potřebují jazyky, které mají pověst, že jsou vhodné pro velké týmy průměrných programátorů. Jazyky s vlastnostmi, jako jsou omezovače rychlosti na nákladních automobilech U-Haul, varující hlupáky před způsobením příliš velkého poškození. Hackeři nemají rádi jazyky, které je promlouvají. Hackeři potřebují moc. Historicky jazyky vytvořené pro velké organizace (PL/1, Ada) prohrály, zatímco jazyky vytvořené hackery (C, Perl) zvítězily. Důvod: Dnešní mladistvý hacker je zítra CTO.
  10. Špatní lidé ji mají rádi. Programátoři, které nejvíce obdivuji, se obecně do Javy nezbláznili. Kdo ji má rád? Obleky, ti, kteří nevidí rozdíl mezi jazyky, ale neustále slyší o Javě v tisku; programátoři ve velkých společnostech, posedlí hledáním něčeho lepšího než dokonce C++; všežravé pregraduální studenty, kteří budou milovat cokoliv, co jim dá práci (nebo skončí u zkoušky). Názory těchto lidí se mění se směrem větru.
  11. Její rodič to má těžké. Obchodní model společnosti Sun je napaden na dvou frontách. Levné procesory Intel používané ve stolních počítačích se staly dostatečně rychlými pro servery. A zdá se, že FreeBSD se stává stejně dobrým serverovým OS jako Solaris. Reklama Sun naznačuje, že pro aplikace na produkční úrovni budete potřebovat servery Sun. Pokud by to byla pravda, Yahoo by bylo první v řadě, kdo by koupil Sun. Ale když jsem tam pracoval, používali servery Intel a FreeBSD. To je dobré znamení pro budoucnost Sunu. A pokud Sun spadne, může mít problémy i Java.
  12. Láska ministerstva obrany. Ministerstvo obrany vyzývá vývojáře, aby používali Javu. A to vypadá jako nejhorší znamení ze všech. Ministerstvo obrany odvádí vynikající (i když nákladnou) práci při ochraně země, miluje plány, postupy a protokoly. Jejich kultura je zcela opačná než kultura hackerů; pokud jde o software, mají tendenci uzavírat špatné sázky. Poslední programovací jazyk, který si ministerstvo obrany zamilovalo, byla Ada.

Upozorňujeme, že toto není kritika Javy, ale kritika jejího obalu. Neznám Javu natolik, aby se mi líbila nebo nelíbila. Jen se snažím vysvětlit, proč nemám zájem učit se Javu.

Může se zdát unáhlené zavrhnout jazyk, aniž byste se v něm pokusili programovat. S tím se ale musí vypořádat všichni programátoři. Existuje příliš mnoho technologií na to, abychom je všechny prozkoumali. Musíte se naučit posuzovat podle vnějších znaků, zda to bude stát za váš čas. Se stejným spěchem jsem vyřadil Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware a CORBA – mimo jiné. Prostě mě neoslovily.

Možná se mýlím v případě Javy. Možná, že jazyk propagovaný jednou velkou společností, aby mohl konkurovat jiné, vyvinutý výborem pro masy, se spoustou humbuku a milovaný ministerstvem obrany, se přesto ukáže jako elegantní, krásný a silný jazyk, který budu s radostí používat. program v. Možná. Ale je to velmi pochybné.

Díky za překlad: Denis Mitropolsky

PS

Zdroj: www.habr.com

Přidat komentář