Paul Graham pri Java kaj "hacker" programlingvoj (2001)

Paul Graham pri Java kaj "hacker" programlingvoj (2001)

Ĉi tiu eseo kreskis el konversacioj, kiujn mi havis kun pluraj programistoj pri la temo de biaso kontraŭ Java. Ĉi tio ne estas kritiko de Java, sed prefere klara ekzemplo de la "hacker radaro".

Kun la tempo, piratoj evoluigas nazon por bona—aŭ malbona—teknologio. Mi pensis, ke eble estos interese provi skizi la kialojn, kial mi trovas Javan dubinda.

Kelkaj, kiuj legis ĝin, rigardis ĝin kiel rimarkindan provon skribi pri io, pri kio neniam antaŭe estis skribita. Aliaj avertis, ke mi skribas pri aferoj, pri kiuj mi nenion sciis. Do ĉiaokaze, mi ŝatus klarigi, ke mi ne skribas pri Java (kun kiu mi neniam laboris), sed pri "hacker radaro" (pri kio mi multe pensis).

La esprimo “ne juĝu libron laŭ ĝia kovrilo” originis de tempo kiam libroj estis venditaj en malplenaj kartonaj kovriloj, kiujn la aĉetanto bindis laŭ sia plaĉo. En tiuj tagoj, oni ne povis distingi libron laŭ ĝia kovrilo. Ekde tiam, tamen, la eldonindustrio multe progresis, kaj modernaj eldonejoj multe klopodas por certigi, ke la kovrilo diras multon.

Mi pasigis multe da tempo en librovendejoj, kaj mi pensas, ke mi lernis kompreni ĉion, kion la eldonejoj volas diri al mi, kaj verŝajne iom pli. Plejparto de la tempo, kiun mi pasigis ekster librovendejoj, estis pasigita antaŭ komputilaj ekranoj, kaj mi supozas, ke mi lernis, iagrade, juĝi teknologion laŭ ĝiaj kovriloj. Eble estas blinda sorto, sed mi sukcesis eviti kelkajn teknologiojn, kiuj montriĝis vere malbonaj.

Unu el ĉi tiuj teknologioj montriĝis por mi Java. Mi ne verkis eĉ unu programon en Java, kaj nur trarigardis la dokumentadon, sed mi sentas, ke ĝi ne estas destinita fariĝi tre sukcesa lingvo. Mi povus erari — antaŭdiri pri teknologio estas danĝera komerco. Kaj tamen, kvazaŭ atesto pri la epoko, jen kial mi ne ŝatas Javan:

  1. Troa entuziasmo. Ĉi tiuj normoj ne bezonas esti truditaj. Neniu provis promocii C, Unikso aŭ HTML. Veraj normoj estas fiksitaj longe antaŭ ol plej multaj homoj eĉ aŭdas pri ili. Sur la radaro de hakisto, Perl aspektas ne malpli ol Java nur pro siaj meritoj.
  2. Java ne celas alte. En la origina priskribo de Java, Gosling eksplicite deklaras ke Java estis dizajnita por esti facila por programistoj alkutimigitaj al C. Ĝi estis dizajnita por esti alia C++:C kun kelkaj ideoj pruntitaj de pli progresintaj lingvoj. Kiel la kreintoj de serialkomedioj, rapidmanĝejo aŭ vojaĝvojaĝoj, la kreintoj de Java konscie dizajnis produkton por homoj kiuj ne estis same inteligentaj kiel ili mem. Historie, lingvoj dezajnitaj por aliaj homoj malsukcesis: Cobol, PL/1, Pascal, Ada, C++. La sukcesaj tamen estis tiuj, kiujn la kreintoj evoluigis por si: C, Perl, Smalltalk, Lisp.
  3. Kaŝitaj motivoj. Iu iam diris, ke la mondo estus pli bona loko, se homoj skribus librojn nur kiam ili havas ion por diri, anstataŭ skribi kiam ili emas verki libron. Same, la kialo, ke ni daŭre aŭdas pri Java, ne estas ĉar ili provas diri al ni ion pri programlingvoj. Ni aŭdas pri Java kiel parto de la plano de Sun alfronti Microsoft.
  4. Neniu amas ŝin. Programistoj C, Perl, Python, Smalltalk aŭ Lisp amas siajn lingvojn. Mi neniam aŭdis iun deklari sian amon al Java.
  5. Homoj estas devigitaj uzi ĝin. Multaj homoj, kiujn mi konas, kiuj uzas Java, faras tion pro neceso. Ili pensas, ke ĝi ricevos al ili financadon, aŭ ili pensas, ke ĝi plaĉos al klientoj, aŭ ĝi estas administraddecido. Ĉi tiuj estas inteligentaj homoj; se la teknologio estus bona, ili uzus ĝin libervole.
  6. Ĉi tio estas plado de multaj kuiristoj. La plej bonaj programlingvoj estis evoluigitaj de malgrandaj teamoj. Java estas gvidata de komitato. Se ĝi montriĝos sukcesa lingvo, estos la unua fojo en la historio, ke komitato kreos tian lingvon.
  7. Ŝi estas burokratia. Laŭ tio, kion mi scias pri Java, ŝajnas, ke ekzistas multaj protokoloj por fari ion ajn. Vere bonaj lingvoj ne estas tiaj. Ili lasas vin fari kion ajn vi volas kaj ne staras vian vojon.
  8. Artefarita ekzaltiĝo. Nun Sun provas ŝajnigi, ke Java estas komunuma gvidata, ke ĝi estas malfermkoda projekto kiel Perl aŭ Python. Kaj tamen, disvolviĝo estas kontrolita de grandega kompanio. Do la lingvo riskas fariĝi la sama obtuza malordo kiel ĉio eliranta el la internaĵoj de granda firmao.
  9. Ĝi estas kreita por grandaj organizoj. Grandaj kompanioj havas malsamajn celojn kun retpiratoj. Firmaoj bezonas lingvojn, kiuj havas reputacion por esti taŭgaj por grandaj teamoj de mezbonaj programistoj. Lingvoj kun karakterizaĵoj kiel la rapidlimigiloj de U-Haul-kamionoj, avertante malsaĝulojn kontraŭ kaŭzado de tro da damaĝo. Hakistoj ne ŝatas lingvojn, kiuj parolas al ili. Hakistoj bezonas potencon. Historie, lingvoj kreitaj por grandaj organizoj (PL/1, Ada) perdis, dum lingvoj kreitaj de hackers (C, Perl) venkis. Kialo: La hodiaŭa junula retpirato estas la CTO de morgaŭ.
  10. La malĝustaj homoj ŝatas ŝin. La programistoj, kiujn mi plej admiras, ĝenerale ne frenezas pri Java. Kiu ŝatas ŝin? Kostumoj, tiuj, kiuj ne vidas la diferencon inter lingvoj, sed konstante aŭdas pri Java en la gazetaro; programistoj en grandaj kompanioj, obseditaj trovi ion pli bonan ol eĉ C++; ĉiovoraj antaŭdiplomaj studentoj, kiuj amos ion ajn, kio ricevos al ili laboron (aŭ finiĝos en ekzameno). La opinioj de ĉi tiuj homoj ŝanĝiĝas laŭ la direkto de la vento.
  11. Ŝia gepatro havas malfacilan tempon. La komerca modelo de Sun estas atakata sur du frontoj. Malmultekostaj Intel-procesoroj uzataj en labortablaj komputiloj fariĝis sufiĉe rapidaj por serviloj. Kaj FreeBSD ŝajnas iĝi same bona servila OS kiel Solaris. La reklamado de Sun implicas, ke vi bezonos Sun-servilojn por produktadnivelaj aplikoj. Se ĉi tio estus vera, Yahoo estus la unua en la vico por aĉeti Sunon. Sed kiam mi laboris tie, ili uzis Intel kaj FreeBSD-servilojn. Ĉi tio aŭguras bone por la estonteco de Suno. Kaj se Suno malleviĝos, ankaŭ Java eble havos problemojn.
  12. Amo de la Ministerio pri Defendo. La Departemento de Defendo instigas programistojn uzi Java. Kaj ĉi tio aspektas kiel la plej malbona signo el ĉiuj. La Departemento pri Defendo faras bonegan (se multekostan) laboron protekti la landon, ili amas planojn, procedurojn kaj protokolojn. Ilia kulturo estas tute kontraŭa al hakerkulturo; kiam temas pri programaro, ili emas fari la malĝustajn vetojn. La lasta programlingvo kiun la Departemento de Defendo enamiĝis estis Ada.

Bonvolu noti, ke ĉi tio ne estas kritiko de Java, sed kritiko de ĝia kovrilo. Mi ne sufiĉe bone konas Javan por ke mi ŝatu aŭ malŝatu ĝin. Mi nur provas klarigi kial mi ne interesiĝas lerni Javan.

Povas ŝajni haste forĵeti lingvon sen eĉ provi programi en ĝi. Sed ĉi tio estas kion ĉiuj programistoj devas trakti. Estas tro da teknologioj por esplori ilin ĉiujn. Vi devas lerni juĝi laŭ eksteraj signoj, ĉu ĝi valoros vian tempon. Kun egala hasto, mi forĵetis Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware kaj CORBA—inter aliaj. Ili simple ne allogis min.

Eble mi eraras en la kazo de Java. Eble lingvo promociita de unu granda firmao por konkurenci kun alia, ellaborita de komitato por la amasoj, kun multe da ekzaltiĝo, kaj amata de la Departemento de Defendo, tamen montriĝos neta, bela kaj potenca lingvo, kiun mi feliĉe faros. programo en. Eble. Sed ĝi estas tre dubinda.

Dankon pro la traduko: Denis Mitropolsky

PS

fonto: www.habr.com

Aldoni komenton