Пол Грэм пра Java і "хакерскія" мовы праграмавання (2001)

Пол Грэм пра Java і "хакерскія" мовы праграмавання (2001)

Гэтае эсэ з'явілася развіццём гутарак з некалькімі распрацоўшчыкамі на тэму прадузятых адносін да Java. Гэта не крытыка Java, а хутчэй, наглядны прыклад хакерскага радара .

З часам, хакеры развіваюць нюх на добрыя – ці ж дрэнныя – тэхналогіі. Мяркую, можа аказацца цікавым паспрабаваць выказаць прычыны, па якіх Java здаецца мне сумнеўнай.

Нехта з тых, хто прачытаў, расцэньваў гэта як вартую ўвагі спробу напісаць пра нешта, пра што раней ніхто не пісаў. Іншыя ж перасцерагалі, што я пішу аб рэчах, у якіх нічога не кемлю. Так што на ўсякі выпадак, жадаў бы ўдакладніць, што я пішу не аб Java (з якой я ніколі не працаваў), але аб «хакерскім радары» (пра які шмат разважаў).

Выраз «не судзіце кнігу па вокладцы» ўзнікла ў часы, калі кнігі прадаваліся ў чыстых кардонных вокладках, якія пакупнік пераплятаў на свой густ. У тыя дні вы нічога не маглі сказаць аб кнізе па яе вокладцы. З таго часу, аднак, выдавецкая справа моцна прасунулася, і сучасныя выдаўцы прыкладаюць нямала намаганняў, каб вокладка магла сказаць пра многае.

Я правёў нямала часу ў кнігарнях, і мяркую, навучыўся разумець усё, што жадаюць сказаць мне выдаўцы, а магчыма, і сёе-тое яшчэ. Большую частку часу, якую я праводзіў па-за кнігарнямі, я правёў перад экранамі кампутараў, і мяркую, навучыўся, у нейкай ступені, меркаваць аб тэхналогіях па іх вокладках. Гэта можа быць сляпы поспех, але мне ўдалося пазбегнуць некалькіх тэхналогій, якія апынуліся па-сапраўднаму дрэннымі.

Адной з такіх тэхналогій аказалася для мяне Java. Я не напісаў ніводнай праграмы на Java, і абмежаваўся толькі павярхоўным вывучэннем дакументацыі, аднак у мяне ёсць пачуццё, што ёй не наканавана стаць занадта паспяховым мовай. Я магу памыліцца - рабіць прадказанні аб тэхналогіях небяспечная справа. І тым не менш, свайго роду сведчанне эпохі - вось чаму мне не падабаецца Java:

  1. Празмерны энтузіязм. Сапраўдныя стандарты не трэба навязваць. Ніхто не спрабаваў прасоўваць C, Unix ці HTML. Сапраўдныя стандарты ўстанаўліваюцца задоўга да таго, як большасць людзей пра іх пачуе. На радары хакера Perl выглядае не менш Java дзякуючы выключна сваім добрым якасцям.
  2. Java меціць невысока. У арыгінальным апісанні Java, Гослинг прама кажа, што Java была створана, каб не выклікаць цяжкасцяў у праграмістаў, якія звыкнуліся да Сі. Яна была распрацавана, каб стаць чарговым C++: З з некалькімі ідэямі, запазычанымі з больш прасунутых моў. Як стваральнікі сіткомаў, фастфуду ці турыстычных тураў – стваральнікі Java свядома распрацоўвалі прадукт для людзей, не настолькі разумных, як яны самі. Гістарычна, мовы, якія распрацоўваюцца для выкарыстання іншымі людзьмі, апыняліся няўдалымі: Кобол, PL/1, Паскаль, Ада, C++. Удалымі, аднак, апыняліся тыя, якія аўтары распрацоўвалі сабе: C, Perl, Smalltalk, Lisp.
  3. Утоеныя матывы. Нехта аднойчы сказаў, што свет быў бы лепшым месцам, калі б людзі пісалі кнігі толькі тады, калі ў іх было б што сказаць, замест таго, каб пісаць тады, калі ім хочацца напісаць кнігу. Аналагічна, прычына, па якой мы ўвесь час чуем пра Java не ў тым, што нам спрабуюць паведаміць нешта пра мовы праграмавання. Мы чуем пра Java як пра частку плана Sun па супрацьборстве Microsoft.
  4. Ніхто яе не кахае. Праграмісты на C, Perl, Python, Smalltalk ці Lisp закаханы ў свае мовы. Я ніколі не чуў, каб хто-небудзь прызнаваўся ў каханні да Java.
  5. Людзі вымушаны выкарыстоўваць яе. Многія з тых, каго я ведаю і хто выкарыстоўвае Java, робяць гэта па неабходнасці. Яны лічаць, што гэта дазволіць ім атрымаць фінансаванне, або думаюць, што гэта спадабаецца кліентам, альбо гэтае рашэнне менеджменту. Гэта разумныя людзі; калі б тэхналогія была б добрая, яны выкарыстоўвалі б яе добраахвотна.
  6. Гэта страва шматлікіх кухароў. Лепшыя мовы праграмавання былі распрацаваны маленькімі калектывамі. Java кіруецца камітэтам. Калі яна акажацца ўдалай мовай, гэта будзе ўпершыню ў гісторыі, калі камітэт створыць такую ​​мову.
  7. Яна бюракратычная. З таго няшмат, што я ведаю аб Java, ствараецца ўражанне, што існуе мноства пратаколаў для таго, каб зрабіць што-небудзь. Па-сапраўднаму добрыя мовы не такія. Яны дазваляюць рабіць вам што заўгодна і не стаяць у вас на шляху.
  8. Штучная шуміха. Цяпер Sun спрабуе зрабіць выгляд, што Java кіруецца супольнасцю, што гэта адкрыты праект, як Perl ці Python. І аднак, развіццё кантралюецца вялізнай кампаніяй. Так што мова рызыкуе апынуцца такім жа маркотным убоствам, што і ўсё, якое выходзіць з нетраў буйной кампаніі.
  9. Яна створана для буйных арганізацый. У буйных кампаній розныя мэты з хакерамі. Кампаніям патрэбныя мовы, якія валодаюць рэпутацыяй прыдатных для вялікіх каманд пасрэдных праграмістаў. Мовы з характарыстыкамі накшталт абмежавальнікаў хуткасці на грузавіках U-Haul, якія перасцерагаюць дурняў ад нанясення занадта вялікай шкоды. Хакеры не любяць мовы, якія размаўляюць з імі пагардліва. Хакерам патрэбна моц. Гістарычна, мовы, створаныя для буйных арганізацый (PL/1, Ada) прайгравалі, тады як мовы, створаныя хакерамі (C, Perl) выйгравалі. Прычына: сённяшні малалетні хакер - заўтрашні CTO.
  10. Яна падабаецца не тым людзям. Праграмісты, якімі я больш за ўсё захапляюся, у цэлым не ў захапленні ад Java. Каму яна падабаецца? Касцюмам, тым, хто не бачыць розніцы паміж мовамі, але ўвесь час чуе аб Java у прэсе; праграмісты ў вялікіх кампаніях, захопленыя ідэяй знайсці нешта лепшае, чым нават C++; усяедныя пераддыпломнікі, якім спадабаецца ўсё, што дазволіць ім атрымаць працу (ці апынецца на іспыце). Меркаванне гэтых людзей мяняецца з напрамак ветру.
  11. У яе бацькі цяжкія часы. Бізнэс мадэль Sun атакуецца з двух франтоў. Танныя працэсары Intel, якія выкарыстоўваюцца ў настольных кампутарах, сталі дастаткова хуткія і для сервераў. І FreeBSD, падобна, становіцца такой жа добрай АС для сервераў, як і Solaris. У сваёй рэкламе Sun мае на ўвазе, што вам спатрэбяцца серверы Sun для прыкладанняў прамысловага ўзроўню. Калі б гэта было праўдай, Yahoo першым бы заняў чаргу, каб купіць Sun. Але калі я там працаваў, там выкарыстоўваліся сэрвэры на Intel і FreeBSD. Гэта абяцае змрочную будучыню Sun. І калі Sun пойдзе ўніз, непрыемнасці магу пацягнуць на дно і Java.
  12. Каханне Міністэрства Абароны. Міністэрства Абароны заахвочвае выкарыстанне Java распрацоўшчыкамі. І гэта выглядае як самы дурны знак з усіх. Міністэрства Абароны выконвае выдатную (хоць і нятанную) працу па абароне краіны, яны любяць планы, працэдуры і пратаколы. Іх культура цалкам процілеглая хакерскай; у пытаннях праграмнага забеспячэння яны схільныя рабіць няправільныя стаўкі. Апошняй мовай праграмавання, у які закахалася Міністэрства Абароны, была Ada.

Улічыце, гэта - не крытыка Java, але крытыка яе вокладкі. Я не ведаю Java дастаткова добра, каб каб яна мне падабалася ці не падабалася. Я ўсяго толькі спрабую растлумачыць, чаму не імкнуся вывучаць Java.

Адкідаць мову, нават не паспрабаваўшы праграмаваць на ёй можа здацца паспешным. Але гэта тое, што даводзіцца ўсім праграмістам. Тэхналогій занадта шмат, каб вывучыць іх усе. Даводзіцца навучыцца меркаваць па знешніх прыкметах, ці будзе яно каштаваць вашага часу. З такой жа паспешнасцю я адкінуў Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, пратакол SET, VMS, Novell Netware і CORBA – апроч іншых. Яны проста не спадабаліся.

Магчыма, у выпадку Java я памыляюся. Магчыма, мова, якая прасоўваецца адной буйной кампаніяй у мэтах супрацьборства з іншай, распрацаваны камітэтам для асноўнай масы, з разадзьмутай да нябёсаў шуміхай і каханы Міністэрствам Абароны тым не менш, апынецца ахайнай, прыгожай і магутнай мовай, на якім я буду праграмаваць з радасцю. Магчыма. Але вельмі сумнеўна.

За пераклад дзякуй: Denis Mitropolsky

PS

Крыніца: habr.com

Дадаць каментар