Paul Graham o Javi in ​​"hekerskih" programskih jezikih (2001)

Paul Graham o Javi in ​​"hekerskih" programskih jezikih (2001)

Ta esej je nastal iz pogovorov, ki sem jih imel z več razvijalci o temi pristranskosti proti Javi. To ni kritika Jave, temveč jasen primer "hekerskega radarja".

Sčasoma hekerji razvijejo nos za dobro ali slabo tehnologijo. Mislil sem, da bi bilo zanimivo poskusiti orisati razloge, zakaj se mi zdi Java vprašljiva.

Nekateri, ki so jo brali, so jo ocenili kot omembe vreden poskus pisanja o nečem, o čemer se še nikoli ni pisalo. Drugi so opozarjali, da pišem o stvareh, o katerih ne vem nič. Zato bi za vsak slučaj rad pojasnil, da ne pišem o Javi (s katero nisem nikoli delal), temveč o "hekerskem radarju" (o katerem sem veliko razmišljal).

Izraz »ne sodi knjige po platnici« izvira iz časov, ko so se knjige prodajale v praznih kartonskih platnicah, ki jih je kupec vezal po svojih željah. V tistih časih knjige nisi mogel ločiti po platnici. Od takrat pa je založništvo močno napredovalo in sodobni založniki se zelo trudijo, da naslovnica pove veliko.

Veliko časa sem preživel v knjigarnah in mislim, da sem se naučil razumeti vse, kar mi založniki želijo povedati, in verjetno še kaj več. Večino časa, ki sem ga preživel zunaj knjigarn, sem preživel pred računalniškimi zasloni in domnevam, da sem se do neke mere naučil tehnologijo presojati po platnicah. Morda gre za slepo srečo, vendar sem se uspel izogniti nekaj tehnologijam, ki so se izkazale za res slabe.

Ena od teh tehnologij se je zame izkazala za Java. V Javi nisem napisal niti enega programa in sem le preletel dokumentacijo, vendar imam občutek, da ji ni usojeno, da postane zelo uspešen jezik. Lahko se motim – napovedovanje tehnologije je nevaren posel. In vendar, nekakšen dokaz tega obdobja, je to razlog, zakaj ne maram Jave:

  1. Pretirano navdušenje. Teh standardov ni treba vsiljevati. Nihče ni poskušal promovirati C, Unix ali HTML. Pravi standardi so postavljeni veliko preden večina ljudi sploh sliši zanje. Na radarju hekerjev je Perl videti nič manj kot Java samo zaradi svojih prednosti.
  2. Java ne cilja visoko. V izvirnem opisu Jave Gosling izrecno navaja, da je bila Java zasnovana tako, da je preprosta za programerje, ki so vajeni C. Zasnovan je bil kot še en C++:C z nekaj zamislimi, izposojenimi iz naprednejših jezikov. Tako kot ustvarjalci sitcomov, hitre hrane ali popotniških izletov so ustvarjalci Jave zavestno oblikovali izdelek za ljudi, ki niso bili tako pametni kot oni sami. V preteklosti so jeziki, ki so bili zasnovani za uporabo drugih ljudi, propadli: Cobol, PL/1, Pascal, Ada, C++. Uspešni pa so bili tisti, ki so jih ustvarjalci razvili sami: C, Perl, Smalltalk, Lisp.
  3. Skriti motivi. Nekdo je nekoč rekel, da bi bil svet boljši, če bi ljudje pisali knjige samo takrat, ko bi imeli kaj povedati, namesto da bi pisali, ko se jim zazdi. Podobno razlog, zakaj nenehno poslušamo o Javi, ni v tem, da nam poskušajo povedati nekaj o programskih jezikih. O Javi smo slišali kot del Sunovega načrta, da se spopade z Microsoftom.
  4. Nihče je ne ljubi. Programerji C, Perl, Python, Smalltalk ali Lisp so zaljubljeni v svoje jezike. Nikoli nisem slišal, da bi kdo izjavil svojo ljubezen do Jave.
  5. Ljudje so ga prisiljeni uporabljati. Veliko ljudi, ki jih poznam in uporabljajo Javo, to počnejo iz nuje. Mislijo, da jim bo to zagotovilo financiranje, ali mislijo, da bo všeč strankam, ali pa je to odločitev vodstva. To so pametni ljudje; če bi bila tehnologija dobra, bi jo uporabljali prostovoljno.
  6. To je jed mnogih kuharjev. Najboljše programske jezike so razvile majhne ekipe. Javo vodi odbor. Če se bo izkazalo, da je uspešen jezik, bo to prvič v zgodovini, da je odbor ustvaril tak jezik.
  7. Ona je birokratska. Glede na to, kar malo vem o Javi, se zdi, da obstaja veliko protokolov za kar koli. Resnično dobri jeziki niso takšni. Pustijo ti, da počneš, kar hočeš, in ti ne stojijo na poti.
  8. Umetni hype. Zdaj se Sun poskuša pretvarjati, da Java vodi skupnost, da je odprtokodni projekt, kot sta Perl ali Python. Pa vendar razvoj obvladuje ogromno podjetje. Jezik torej tvega, da se bo izkazal za enako dolgočasno bedo kot vse, kar prihaja iz črevesja velikega podjetja.
  9. Ustvarjen je za velike organizacije. Velika podjetja imajo drugačne cilje s hekerji. Podjetja potrebujejo jezike, ki slovijo kot primerni za velike skupine povprečnih programerjev. Jeziki z značilnostmi, kot so omejevalniki hitrosti na tovornjakih U-Haul, ki bedake svarijo pred povzročanjem prevelike škode. Hekerji ne marajo jezikov, ki se z njimi pogovarjajo. Hekerji potrebujejo moč. Zgodovinsko gledano so jeziki, ustvarjeni za velike organizacije (PL/1, Ada), izgubili, medtem ko so jeziki, ki so jih ustvarili hekerji (C, Perl), zmagali. Razlog: Današnji mladoletni heker je jutrišnji tehnični direktor.
  10. Napačnim ljudem je všeč. Programerji, ki jih najbolj občudujem, na splošno niso nori na Javo. Komu je všeč? Ustreza tistim, ki ne vidijo razlike med jeziki, a o Javi nenehno poslušajo v tisku; programerji v velikih podjetjih, obsedeni z iskanjem nečesa boljšega celo od C++; vsejedi preddiplomski študenti, ki bodo vzljubili vse, kar jim bo prineslo službo (ali končalo na izpitu). Mnenja teh ljudi se spreminjajo s smerjo vetra.
  11. Njen starš ima težke čase. Sunov poslovni model je napaden na dveh frontah. Poceni procesorji Intel, ki se uporabljajo v namiznih računalnikih, so postali dovolj hitri za strežnike. Zdi se, da FreeBSD postaja tako dober strežniški OS kot Solaris. Oglaševanje družbe Sun nakazuje, da boste potrebovali strežnike Sun za aplikacije proizvodnega razreda. Če bi bilo to res, bi bil Yahoo prvi v vrsti za nakup Suna. Toda ko sem delal tam, so uporabljali strežnike Intel in FreeBSD. To je dobra napoved za Sunovo prihodnost. In če sonce zaide, je lahko tudi Java v težavah.
  12. Ljubezen do Ministrstva za obrambo. Ministrstvo za obrambo razvijalce spodbuja k uporabi Jave. In to je videti kot najslabši znak od vseh. Ministrstvo za obrambo opravlja odlično (čeprav drago) delo pri zaščiti države, obožujejo načrte, postopke in protokole. Njihova kultura je popolnoma nasprotna hekerski kulturi; ko gre za programsko opremo, so nagnjeni k napačnim stavam. Zadnji programski jezik, v katerega se je ministrstvo za obrambo zaljubilo, je bil Ada.

Upoštevajte, da to ni kritika Jave, ampak kritika njene naslovnice. Jave ne poznam dovolj dobro, da bi mi bila všeč ali ne. Samo poskušam razložiti, zakaj me učenje Jave ne zanima.

Morda se zdi prenagljeno opustiti jezik, ne da bi sploh poskusili programirati v njem. Toda s tem se morajo ukvarjati vsi programerji. Tehnologij je preveč, da bi jih raziskali vse. Naučiti se morate po zunanjih znakih presoditi, ali bo vredno vašega časa. Z enako naglico sem med drugim zavrgel Cobol, Ado, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware in CORBA. Enostavno me niso pritegnili.

Morda se motim v primeru Jave. Morda se bo jezik, ki ga spodbuja eno veliko podjetje, da konkurira drugemu, ki ga je razvil odbor za množice, z veliko navdušenja in ga obožuje Ministrstvo za obrambo, vendarle izkazal za čeden, lep in močan jezik, ki ga bom z veseljem program v. mogoče. Je pa zelo dvomljivo.

Hvala za prevod: Denis Mitropolsky

PS

Vir: www.habr.com

Dodaj komentar