Паул Грахам о Јави и "хакерским" програмским језицима (2001)

Паул Грахам о Јави и "хакерским" програмским језицима (2001)

Овај есеј је настао из разговора које сам водио са неколико програмера о теми пристрасности према Јави. Ово није критика Јаве, већ јасан пример „хакерског радара“.

Временом, хакери развију нос за добру или лошу технологију. Мислио сам да би могло бити занимљиво покушати да наведем разлоге зашто сматрам да је Јава упитна.

Неки који су га читали сматрали су то вредним пажње покушајем да се пише о нечему о чему се никада раније није писало. Други су упозоравали да пишем о стварима о којима ништа не знам. Дакле, за сваки случај, желео бих да појасним да не пишем о Јави (са којом никада нисам радио), већ о „хакерском радару“ (о чему сам много размишљао).

Израз „не судите о књизи по корицама” настао је из времена када су се књиге продавале у празним картонским корицама које је купац везивао по свом укусу. У то време, књигу се није могло разликовати по корицама. Од тада је, међутим, издавачка индустрија увелико напредовала, а савремени издавачи улажу велике напоре да обезбеде да насловна страна говори много.

Провео сам доста времена у књижарама и мислим да сам научио да разумем све што издавачи желе да ми кажу, а вероватно и још понешто. Највише времена које сам проводио ван књижара проводио сам пред екранима компјутера, и претпостављам да сам донекле научио да судим о технологији по корицама. Можда је то слепа срећа, али успео сам да избегнем неколико технологија за које се показало да су заиста лоше.

Испоставило се да је једна од ових технологија за мене Јава. Нисам написао ниједан програм на Јави, само сам прегледао документацију, али имам осећај да му није суђено да постане веома успешан језик. Можда грешим - предвиђање технологије је опасан посао. Па ипак, нека врста тестамента ере, ево зашто не волим Јава:

  1. Претерани ентузијазам. Ове стандарде није потребно наметати. Нико није покушао да промовише Ц, Уник или ХТМЛ. Прави стандарди се постављају много пре него што већина људи и чује за њих. На хакерском радару, Перл не изгледа ништа мање од Јаве само због својих предности.
  2. Јава не циља високо. У оригиналном опису Јаве, Гослинг експлицитно наводи да је Јава дизајнирана да буде лака за програмере навикнуте на Ц. Дизајниран је да буде још један Ц++:Ц са неколико идеја позајмљених из напреднијих језика. Попут креатора ситкома, брзе хране или путовања, креатори Јаве су свесно дизајнирали производ за људе који нису били паметни као они сами. Историјски гледано, језици дизајнирани за друге људе нису успели: Цобол, ПЛ/1, Пасцал, Ада, Ц++. Успешне су, међутим, биле оне које су креатори развили за себе: Ц, Перл, Смаллталк, Лисп.
  3. Скривени мотиви. Неко је једном рекао да би свет био боље место када би људи писали књиге само када би имали шта да кажу, уместо да пишу када им се жели да напишу књигу. Исто тако, разлог зашто стално слушамо о Јави није зато што они покушавају да нам кажу нешто о програмским језицима. Чули смо за Јаву као део Суновог плана да преузме Мицрософт.
  4. Нико је не воли. Ц, Перл, Питхон, Смаллталк или Лисп програмери су заљубљени у своје језике. Никада нисам чуо да је неко изјавио љубав према Јави.
  5. Људи су приморани да га користе. Многи људи које познајем и који користе Јаву то раде из нужде. Они мисле да ће им то обезбедити финансирање, или мисле да ће се допасти купцима, или је то одлука менаџмента. То су паметни људи; да је технологија добра, добровољно би је користили.
  6. Ово је јело многих кувара. Најбоље програмске језике развили су мали тимови. Јаву управља комитет. Ако се покаже да је то успешан језик, то ће бити први пут у историји да је нека комисија створила такав језик.
  7. Она је бирократска. Из оно мало што знам о Јави, чини се да постоји много протокола за било шта. Заиста добри језици нису такви. Дозвољавају вам да радите шта год желите и не стоје вам на путу.
  8. Вештачка реклама. Сада Сун покушава да се претвара да је Јава вођена заједницом, да је пројекат отвореног кода као што је Перл или Питхон. Па ипак, развој контролише огромна компанија. Дакле, ризикује да се језик испостави као иста досадна бедност као и све што излази из утробе велике компаније.
  9. Створен је за велике организације. Велике компаније имају различите циљеве са хакерима. Компанији су потребни језици који имају репутацију погодних за велике тимове осредњих програмера. Језици са карактеристикама као што су ограничавачи брзине на У-Хаул камионима, који упозоравају будале да не изазову превелику штету. Хакери не воле језике који им говоре ниско. Хакерима је потребна моћ. Историјски гледано, језици креирани за велике организације (ПЛ/1, Ада) су изгубили, док су језици које су креирали хакери (Ц, Перл) победили. Разлог: Данашњи малолетни хакер је сутрашњи ЦТО.
  10. Погрешни људи попут ње. Програмери којима се највише дивим углавном нису луди за Јавом. Коме се она свиђа? Одела, они који не виде разлику између језика, али стално слушају о Јави у штампи; програмери у великим компанијама, опседнути проналажењем нечег бољег чак и од Ц++-а; свеједи преддипломци који ће волети све што ће им омогућити посао (или завршити на испиту). Мишљења ових људи се мењају са смером ветра.
  11. Њеном родитељу је тешко. Сунов пословни модел је на удару на два фронта. Јефтини Интел процесори који се користе у десктоп рачунарима постали су довољно брзи за сервере. И чини се да ФрееБСД постаје подједнако добар серверски ОС као и Соларис. Сун-ово оглашавање имплицира да ће вам требати Сун сервери за апликације производног нивоа. Да је ово истина, Иахоо би био први у реду да купи Сун. Али када сам радио тамо, користили су Интел и ФрееБСД сервере. Ово је добро за Сунову будућност. А ако Сунце зађе, Јава такође може бити у невољи.
  12. Љубав према Министарству одбране. Министарство одбране подстиче програмере да користе Јаву. А ово изгледа као најгори знак од свих. Министарство одбране ради одличан (иако скуп) посао заштите земље, воле планове, процедуре и протоколе. Њихова култура је потпуно супротна култури хакера; када је у питању софтвер, они имају тенденцију да праве погрешне опкладе. Последњи програмски језик у који се Министарство одбране заљубило је Ада.

Имајте на уму да ово није критика Јаве, већ критика њеног омота. Не познајем Јаву довољно добро да ми се свиђа или не свиђа. Само покушавам да објасним зашто ме не занима учење Јаве.

Може изгледати пренагљено одбацити језик без покушаја програмирања на њему. Али то је оно са чим се сви програмери морају суочити. Постоји превише технологија да бисмо их све истражили. Морате научити да процените по спољашњим знацима да ли ће бити вредно вашег времена. Са једнаком журбом сам одбацио Цобол, Ада, Висуал Басиц, ИБМ АС400, ВРМЛ, ИСО 9000, СЕТ Протоцол, ВМС, Новелл Нетваре и ЦОРБА—између осталих. Једноставно ми се нису допадали.

Можда грешим у случају Јаве. Можда ће се језик који промовише једна велика компанија да се такмичи са другом, развијен од стране комитета за широке масе, уз много узбуђења, и вољен од стране Министарства одбране, ипак испасти уредан, леп и моћан језик који ћу са задовољством програм у. Можда. Али је врло сумњиво.

Хвала на преводу: Денис Митрополски

ПС

Извор: ввв.хабр.цом

Додај коментар