Paul Graham sa Java at "hacker" na mga programming language (2001)

Paul Graham sa Java at "hacker" na mga programming language (2001)

Ang sanaysay na ito ay lumago sa mga pakikipag-usap ko sa ilang mga developer tungkol sa paksa ng bias laban sa Java. Ito ay hindi isang pagpuna sa Java, ngunit sa halip ay isang malinaw na halimbawa ng "hacker radar".

Sa paglipas ng panahon, ang mga hacker ay nagkakaroon ng ilong para sa mabuti—o masamang—teknolohiya. Naisip ko na maaaring maging kawili-wiling subukang balangkasin ang mga dahilan kung bakit ko napagdududahan ang Java.

Itinuturing ito ng ilang nakabasa nito bilang isang kapansin-pansing pagtatangka na magsulat tungkol sa isang bagay na hindi pa naisulat tungkol sa dati. Nagbabala ang iba na nagsusulat ako tungkol sa mga bagay na wala akong alam. Kaya kung sakali, nais kong linawin na hindi ako nagsusulat tungkol sa Java (na hindi ko pa nakakatrabaho), ngunit tungkol sa "hacker radar" (na pinag-isipan ko nang husto).

Ang pananalitang "huwag husgahan ang isang libro sa pamamagitan ng pabalat nito" ay nagmula sa panahon na ang mga aklat ay ibinebenta sa mga blangkong pabalat ng karton na itinatali ng mamimili ayon sa kanyang gusto. Noong mga panahong iyon, hindi mo masasabi ang isang libro sa pabalat nito. Simula noon, gayunpaman, ang industriya ng pag-publish ay lubos na sumulong, at ang mga modernong publisher ay nagsusumikap upang matiyak na ang pabalat ay nagsasabi ng maraming.

Gumugol ako ng maraming oras sa mga tindahan ng libro, at sa palagay ko natutunan kong unawain ang lahat ng gustong sabihin sa akin ng mga publisher, at marahil ang ilan pa. Karamihan sa mga oras na ginugol ko sa labas ng mga bookstore ay ginugol sa harap ng mga screen ng computer, at sa palagay ko natutunan ko, sa ilang mga lawak, upang hatulan ang teknolohiya sa pamamagitan ng mga pabalat nito. Maaaring ito ay bulag na suwerte, ngunit nagawa kong maiwasan ang ilang mga teknolohiya na naging talagang masama.

Isa sa mga teknolohiyang ito ay naging Java para sa akin. Hindi ako nagsulat ng isang solong programa sa Java at sinagap ko lang ang dokumentasyon, ngunit may pakiramdam ako na hindi ito nakatadhana na maging isang matagumpay na wika. Maaaring mali ako—ang paggawa ng mga hula tungkol sa teknolohiya ay isang mapanganib na negosyo. Gayunpaman, isang uri ng isang testamento sa panahon, narito kung bakit hindi ko gusto ang Java:

  1. Sobrang sigla. Ang mga pamantayang ito ay hindi kailangang ipataw. Walang sumubok na i-promote ang C, Unix o HTML. Ang mga tunay na pamantayan ay naitakda nang matagal bago pa man marinig ng karamihan ang tungkol sa mga ito. Sa radar ng isang hacker, ang Perl ay mukhang hindi bababa sa Java dahil lamang sa mga merito nito.
  2. Hindi mataas ang layunin ng Java. Sa orihinal na paglalarawan ng Java, tahasang sinabi ni Gosling na ang Java ay idinisenyo upang maging madali para sa mga programmer na sanay sa C. Ito ay idinisenyo upang maging isa pang C++:C na may ilang mga ideya na hiniram mula sa mas advanced na mga wika. Tulad ng mga tagalikha ng mga sitcom, fast food, o mga paglalakbay sa paglalakbay, sinasadya ng mga tagalikha ng Java ang isang produkto para sa mga taong hindi kasing talino ng kanilang sarili. Sa kasaysayan, nabigo ang mga wikang binuo para magamit ng ibang tao: Cobol, PL/1, Pascal, Ada, C++. Ang mga matagumpay, gayunpaman, ay yaong binuo ng mga tagalikha para sa kanilang sarili: C, Perl, Smalltalk, Lisp.
  3. Mga nakatagong motibo. Minsan may nagsabi na ang mundo ay magiging isang mas mahusay na lugar kung ang mga tao ay magsulat lamang ng mga libro kapag mayroon silang sasabihin, sa halip na magsulat kapag gusto nilang magsulat ng isang libro. Gayundin, ang dahilan kung bakit patuloy naming naririnig ang tungkol sa Java ay hindi dahil sinusubukan nilang sabihin sa amin ang tungkol sa mga programming language. Naririnig namin ang tungkol sa Java bilang bahagi ng plano ng Sun na kunin ang Microsoft.
  4. Walang nagmamahal sa kanya. Ang mga programmer ng C, Perl, Python, Smalltalk o Lisp ay umiibig sa kanilang mga wika. Wala pa akong narinig na sinumang nagpahayag ng kanilang pagmamahal sa Java.
  5. Napipilitan ang mga tao na gamitin ito. Maraming taong kilala ko na gumagamit ng Java ang gumagawa nito dahil sa pangangailangan. Sa tingin nila ay makakakuha sila ng pondo, o sa tingin nila ay makakaakit ito sa mga customer, o ito ay isang desisyon ng pamamahala. Ito ay mga matatalinong tao; kung maganda ang teknolohiya, kusa nilang gagamitin.
  6. Ito ay isang ulam ng maraming chef. Ang pinakamahusay na mga wika sa programming ay binuo ng maliliit na koponan. Ang Java ay hinihimok ng komite. Kung ito ay magiging isang matagumpay na wika, ito ang unang pagkakataon sa kasaysayan na ang isang komite ay lumikha ng naturang wika.
  7. Siya ay bureaucratic. Sa kaunting alam ko tungkol sa Java, tila maraming mga protocol para sa paggawa ng anuman. Ang tunay na magagandang wika ay hindi ganoon. Hinahayaan ka nilang gawin ang anumang gusto mo at hindi humarang sa iyong paraan.
  8. Artipisyal na hype. Ngayon sinusubukan ng Sun na magpanggap na ang Java ay hinimok ng komunidad, na ito ay isang open source na proyekto tulad ng Perl o Python. Gayunpaman, ang pag-unlad ay kinokontrol ng isang malaking kumpanya. Kaya nanganganib ang wika na maging kaparehong dull squalor gaya ng lahat ng lumalabas sa bituka ng isang malaking kumpanya.
  9. Ito ay nilikha para sa malalaking organisasyon. Ang mga malalaking kumpanya ay may iba't ibang layunin sa mga hacker. Ang mga kumpanya ay nangangailangan ng mga wika na may reputasyon para sa pagiging angkop para sa malalaking koponan ng mga karaniwang programmer. Mga wikang may mga katangian tulad ng mga limiter ng bilis sa mga U-Haul truck, nagbabala sa mga tanga na magdulot ng labis na pinsala. Ang mga hacker ay hindi gusto ang mga wikang nakikipag-usap sa kanila. Ang mga hacker ay nangangailangan ng kapangyarihan. Sa kasaysayan, ang mga wikang nilikha para sa malalaking organisasyon (PL/1, Ada) ay natalo, habang ang mga wikang nilikha ng mga hacker (C, Perl) ay nanalo. Dahilan: Ang juvenile hacker ngayon ay ang CTO bukas.
  10. Ang mga maling tao ay nagkakagusto sa kanya. Ang mga programmer na pinaka hinahangaan ko ay karaniwang hindi baliw sa Java. Sino ang may gusto sa kanya? Mga demanda, ang mga hindi nakikita ang pagkakaiba sa pagitan ng mga wika, ngunit patuloy na nakakarinig tungkol sa Java sa pindutin; mga programmer sa malalaking kumpanya, na nahuhumaling sa paghahanap ng mas mahusay kaysa sa C++; omnivorous pre-grad na mga mag-aaral na magugustuhan ang anumang bagay na makapagbibigay sa kanila ng trabaho (o matatapos sa isang pagsusulit). Ang mga opinyon ng mga taong ito ay nagbabago sa direksyon ng hangin.
  11. Nahihirapan ang kanyang magulang. Ang modelo ng negosyo ni Sun ay inaatake sa dalawang larangan. Ang mga murang Intel processor na ginagamit sa mga desktop computer ay naging sapat na mabilis para sa mga server. At ang FreeBSD ay lumilitaw na nagiging kasing ganda ng isang server OS gaya ng Solaris. Ipinahihiwatig ng advertising ng Sun na kakailanganin mo ng mga server ng Sun para sa mga application na nasa antas ng produksyon. Kung totoo ito, ang Yahoo ang mauuna sa linya na bibili ng Sun. Ngunit noong nagtrabaho ako doon, gumamit sila ng mga server ng Intel at FreeBSD. Ito ay mabuti para sa kinabukasan ni Sun. At kung lumubog ang Araw, maaaring i-drag ng mga problema ang Java pababa sa ibaba.
  12. Pag-ibig ng Ministri ng Depensa. Hinihikayat ng Department of Defense ang mga developer na gumamit ng Java. At mukhang ito ang pinakamasamang tanda sa lahat. Ang Kagawaran ng Depensa ay gumagawa ng isang mahusay (kung mahal) na trabaho sa pagprotekta sa bansa, mahilig sila sa mga plano, pamamaraan at protocol. Ang kanilang kultura ay ganap na kabaligtaran sa kultura ng hacker; pagdating sa software, madalas silang gumawa ng mga maling taya. Ang huling programming language na minahal ng Department of Defense ay si Ada.

Pakitandaan, hindi ito isang pagpuna sa Java, ngunit isang pagpuna sa pabalat nito. Hindi ko alam ang Java na sapat para magustuhan o hindi ko ito gusto. Sinusubukan ko lang ipaliwanag kung bakit hindi ako interesado sa pag-aaral ng Java.

Maaaring mukhang nagmamadali na i-dismiss ang isang wika nang hindi man lang sinusubukang mag-program dito. Ngunit ito ang dapat harapin ng lahat ng programmer. Napakaraming teknolohiya upang galugarin ang lahat ng ito. Kailangan mong matutong humatol sa pamamagitan ng panlabas na mga palatandaan kung ito ay magiging sulit sa iyong oras. Sa parehong pagmamadali, itinapon ko ang Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware, at CORBA—bukod sa iba pa. Hindi lang nila ako inapela.

Marahil ako ay mali sa kaso ng Java. Marahil ang isang wikang itinataguyod ng isang malaking kumpanya upang makipagkumpitensya sa isa pa, na binuo ng komite para sa masa, na may maraming hype, at minamahal ng Kagawaran ng Depensa ay magiging isang maayos, maganda at makapangyarihang wika na ikatutuwa ko. programa sa. Siguro. Ngunit ito ay lubhang nagdududa.

Salamat sa pagsasalin: Denis Mitropolsky

PS

Pinagmulan: www.habr.com

Magdagdag ng komento