Paul Graham Javasta ja "hakkeri"-ohjelmointikielistä (2001)

Paul Graham Javasta ja "hakkeri"-ohjelmointikielistä (2001)

Tämä essee syntyi keskusteluista, joita kävin useiden kehittäjien kanssa Javaa vastaan ​​kohdistuvasta puolueellisuudesta. Tämä ei ole kritiikkiä Javaa kohtaan, vaan pikemminkin selkeä esimerkki "hakkeritutkasta".

Ajan myötä hakkerit kehittävät nenän hyvään tai huonoon teknologiaan. Ajattelin, että voisi olla mielenkiintoista yrittää hahmotella syitä, miksi Java on minusta kyseenalainen.

Jotkut sen lukeneet pitivät sitä huomionarvoisena yrityksenä kirjoittaa jostakin, josta ei ollut koskaan aiemmin kirjoitettu. Toiset varoittivat, että kirjoitin asioista, joista en tiennyt mitään. Joten varmuuden vuoksi haluaisin selventää, että en kirjoita Javasta (jonka kanssa en ole koskaan työskennellyt), vaan "hakkeritutkasta" (jota olen ajatellut paljon).

Ilmaus ”älä tuomitse kirjaa sen kannen perusteella” juontaa juurensa ajalta, jolloin kirjoja myytiin tyhjissä pahvikansissa, jotka ostaja sitoi mielensä mukaan. Siihen aikaan kirjaa ei voinut erottaa sen kannesta. Siitä lähtien kustannusala on kuitenkin kehittynyt valtavasti, ja nykyaikaiset kustantajat tekevät kaikkensa varmistaakseen, että kansi kertoo paljon.

Olen viettänyt paljon aikaa kirjakaupoissa ja mielestäni olen oppinut ymmärtämään kaiken, mitä kustantajat haluavat kertoa minulle, ja luultavasti muutakin. Suurimman osan ajasta, jonka vietin kirjakauppojen ulkopuolella, vietin tietokoneen näyttöjen ääressä, ja luulen, että opin jossain määrin arvioimaan tekniikkaa sen kansien perusteella. Se voi olla sokeaa tuuria, mutta olen onnistunut välttämään muutamia tekniikoita, jotka osoittautuivat todella huonoiksi.

Yksi näistä teknologioista osoittautui minulle Javaksi. En ole kirjoittanut yhtään ohjelmaa Java-kielellä, ja olen vain selannut dokumentaatiota, mutta minusta tuntuu, ettei siitä ole tarkoitus tulla kovin menestyvää kieltä. Voin olla väärässä – teknologian ennustaminen on vaarallista. Ja kuitenkin, eräänlainen todistus aikakaudesta, tässä on syy, miksi en pidä Javasta:

  1. Liiallinen innostus. Näitä standardeja ei tarvitse asettaa. Kukaan ei yrittänyt mainostaa C:tä, Unixia tai HTML:ää. Todelliset standardit asetetaan kauan ennen kuin useimmat ihmiset edes kuulevat niistä. Hakkerin tutkassa Perl näyttää peräti Javalta pelkästään ansioidensa vuoksi.
  2. Java ei tähtää korkealle. Alkuperäisessä Java-kuvauksessa Gosling sanoo nimenomaisesti, että Java on suunniteltu helpoksi ohjelmoijille, jotka ovat tottuneet C:hen. Se suunniteltiin toiseksi C++:C:ksi, jossa on muutamia edistyneemmiltä kieliltä lainattuja ideoita. Kuten tilannekomioiden, pikaruoan tai matkamatkojen luojat, Javan luojat suunnittelivat tietoisesti tuotteen ihmisille, jotka eivät olleet yhtä älykkäitä kuin he itse. Historiallisesti muiden ihmisten käyttöön suunnitellut kielet ovat epäonnistuneet: Cobol, PL/1, Pascal, Ada, C++. Menestyneitä olivat kuitenkin tekijöiden itselleen kehittämät: C, Perl, Smalltalk, Lisp.
  3. Piilotetut motiivit. Joku sanoi kerran, että maailma olisi parempi paikka, jos ihmiset kirjoittaisivat kirjoja vain silloin, kun heillä on jotain sanottavaa, sen sijaan, että kirjoittaisivat silloin, kun he tekisivät mieli kirjoittaa kirjan. Samoin syy, miksi kuulemme Javasta jatkuvasti, ei johdu siitä, että he yrittävät kertoa meille jotain ohjelmointikielistä. Kuulemme Javasta osana Sunin suunnitelmaa ottaa vastaan ​​Microsoft.
  4. Kukaan ei rakasta häntä. C-, Perl-, Python-, Smalltalk- tai Lisp-ohjelmoijat ovat rakastuneet kieliinsä. En ole koskaan kuullut kenenkään julistavan rakkautensa Javaa kohtaan.
  5. Ihmiset pakotetaan käyttämään sitä. Monet tuntemani ihmiset, jotka käyttävät Javaa, tekevät niin pakosta. He ajattelevat, että se saa heille rahoitusta, tai he ajattelevat, että se vetoaa asiakkaisiin, tai se on johdon päätös. Nämä ovat älykkäitä ihmisiä; jos tekniikka olisi hyvä, he käyttäisivät sitä vapaaehtoisesti.
  6. Tämä on monien kokkien ruokalaji. Parhaat ohjelmointikielet kehitettiin pienten tiimien toimesta. Javaa ohjaa komitea. Jos se osoittautuu menestyneeksi kieleksi, se on ensimmäinen kerta historiassa, kun komitea on luonut sellaisen kielen.
  7. Hän on byrokraattinen. Sen vähän, mitä tiedän Javasta, näyttää siltä, ​​​​että on olemassa monia protokollia kaiken tekemiseen. Todella hyvät kielet eivät ole sellaisia. He antavat sinun tehdä mitä haluat eivätkä ole tielläsi.
  8. Keinotekoinen hype. Nyt Sun yrittää teeskennellä, että Java on yhteisövetoinen, että se on avoimen lähdekoodin projekti, kuten Perl tai Python. Ja silti kehitystä hallitsee valtava yritys. Kieli on siis vaarassa muuttua yhtä tylsäksi kuin kaikki suuren yrityksen sisimmästä tuleva.
  9. Se on luotu suuria organisaatioita varten. Suurilla yrityksillä on erilaiset tavoitteet hakkereiden kanssa. Yritykset tarvitsevat kieliä, joilla on maine soveltuviksi suurille keskinkertaisten ohjelmoijien ryhmille. Kielet, joiden ominaisuudet, kuten U-Haul-kuorma-autojen nopeudenrajoittimet, varoittavat hölmöjä aiheuttamasta liikaa vahinkoa. Hakkerit eivät pidä kielistä, jotka puhuvat heille alaspäin. Hakkerit tarvitsevat voimaa. Historiallisesti suurille organisaatioille luodut kielet (PL/1, Ada) ovat hävinneet, kun taas hakkereiden luomat kielet (C, Perl) ovat voittaneet. Syy: Tämän päivän nuori hakkeri on huomisen teknologiajohtaja.
  10. Väärät ihmiset pitävät hänestä. Ohjelmoijat, joita ihailen, eivät yleensä ole hulluja Javaan. Kuka pitää hänestä? Puvut, ne, jotka eivät näe eroa kielten välillä, mutta kuulevat jatkuvasti Javasta lehdistössä; ohjelmoijat suurissa yrityksissä, pakkomielle löytää jotain parempaa kuin jopa C++; kaikkiruokaiset esikoululaiset, jotka rakastavat kaikkea, mikä saa heille työtä (tai päätyy kokeeseen). Näiden ihmisten mielipiteet muuttuvat tuulen suunnan mukaan.
  11. Hänen vanhemmillaan on vaikeaa. Sunin liiketoimintamalli on uhattuna kahdella rintamalla. Pöytätietokoneissa käytetyistä edullisista Intel-prosessoreista on tullut tarpeeksi nopeita palvelimia varten. Ja FreeBSD näyttää olevan tulossa yhtä hyvä palvelinkäyttöjärjestelmä kuin Solaris. Sunin mainonta tarkoittaa, että tarvitset Sun-palvelimia tuotantotason sovelluksiin. Jos tämä olisi totta, Yahoo olisi ensimmäinen jonossa ostaa Sun. Mutta kun työskentelin siellä, he käyttivät Intel- ja FreeBSD-palvelimia. Tämä lupaa hyvää Sunin tulevaisuudelle. Ja jos aurinko laskee, ongelmat voivat vetää Javan pohjaan.
  12. Puolustusministeriön rakkaus. Puolustusministeriö kannustaa kehittäjiä käyttämään Javaa. Ja tämä näyttää pahimmalta merkiltä. Puolustusministeriö tekee erinomaista (jos kallis) työtä maan suojelemiseksi, he rakastavat suunnitelmia, menettelyjä ja protokollia. Heidän kulttuurinsa on täysin hakkerikulttuurin vastainen; mitä tulee ohjelmistoihin, heillä on taipumus tehdä vääriä vetoja. Viimeinen ohjelmointikieli, johon puolustusministeriö rakastui, oli Ada.

Huomaa, että tämä ei ole Javaa koskevaa kritiikkiä, vaan sen kantta. En tunne Javaa niin hyvin, että tykkäisin tai en pidä siitä. Yritän vain selittää, miksi en ole kiinnostunut Javan oppimisesta.

Kielen hylkääminen voi tuntua hätäiseltä yrittämättä edes ohjelmoida sitä. Mutta tämä on se, mitä kaikkien ohjelmoijien on käsiteltävä. Teknologioita on liian monia tutkiaksemme niitä kaikkia. Sinun on opittava arvioimaan ulkoisten merkkien perusteella, onko se aikasi arvoista. Yhtä kiireellä hylkäsin muun muassa Cobolin, Adan, Visual Basicin, IBM AS400:n, VRML:n, ISO 9000:n, SET Protocolin, VMS:n, Novell Netwaren ja CORBAn. He eivät vain houkutelleet minua.

Ehkä olen väärässä Javan tapauksessa. Ehkä kieli, jota yksi iso yritys mainostaa kilpailemaan toisen kanssa ja jonka on kehittänyt joukkojen komitea, jossa on paljon hypeä ja jota puolustusministeriö rakastaa, tulee kuitenkin olemaan siisti, kaunis ja voimakas kieli, jota tulen mielelläni. ohjelma sisään. Voi olla. Mutta se on erittäin kyseenalaista.

Kiitos käännöksestä: Denis Mitropolsky

PS.

Lähde: will.com

Lisää kommentti