Paul Graham a Java-ról és a "hacker" programozási nyelvekről (2001)

Paul Graham a Java-ról és a "hacker" programozási nyelvekről (2001)

Ez az esszé abból a beszélgetésből nőtt ki, amelyet több fejlesztővel folytattam a Java elleni elfogultság témájában. Ez nem a Java kritikája, inkább a „hackerradar” egyértelmű példája.

Idővel a hackerek kifejlesztik a jó – vagy rossz – technológiát. Úgy gondoltam, érdekes lehet megpróbálni felvázolni azokat az okokat, amelyek miatt a Java megkérdőjelezhető.

Néhányan, akik olvasták, figyelemre méltó kísérletnek tartották, hogy olyasmiről írjanak, amiről korábban még nem írtak. Mások figyelmeztettek, hogy olyan dolgokról írok, amelyekről semmit sem tudok. Szóval minden esetre pontosítanám, hogy nem a Java-ról írok (amivel sosem dolgoztam), hanem a „hacker radarról” (amin sokat gondolkodtam).

A „ne ítélj meg egy könyvet a borítója alapján” kifejezés abból az időből származik, amikor a könyveket üres kartonborítóban árulták, amit a vevő tetszés szerint kötött. Akkoriban a borítójáról nem lehetett megkülönböztetni egy könyvet. Azóta azonban a kiadói ipar nagyot fejlődött, és a modern kiadók mindent megtesznek annak érdekében, hogy a borító sokat mondjon.

Sok időt töltöttem a könyvesboltokban, és azt hiszem, megtanultam megérteni mindent, amit a kiadók el akarnak mondani, és valószínűleg még többet is. A könyvesboltokon kívül töltött idő nagy részét a számítógép képernyője előtt töltöttem, és azt hiszem, bizonyos mértékig megtanultam a technológiát a borítói alapján megítélni. Lehet, hogy vakszerencse, de sikerült elkerülnem néhány olyan technológiát, amelyek nagyon rossznak bizonyultak.

Az egyik ilyen technológia számomra Java lett. Egyetlen programot sem írtam Java nyelven, csak átfutottam a dokumentációt, de az az érzésem, hogy nem hivatott nagyon sikeres nyelvvé válni. Lehet, hogy tévedek – a technológiával kapcsolatos jóslatok készítése veszélyes üzlet. És mégis, egyfajta bizonyítéka a korszaknak, ezért nem szeretem a Java-t:

  1. Túlzott lelkesedés. Ezeket a szabványokat nem kell előírni. Senki sem próbálta népszerűsíteni a C-t, a Unixot vagy a HTML-t. Az igazi mércéket jóval azelőtt állítják fel, hogy a legtöbb ember egyáltalán hallani tud róluk. Egy hacker radaron a Perl nem kevésbé néz ki, mint a Java, pusztán az érdemei miatt.
  2. A Java nem céloz magasra. A Java eredeti leírásában Gosling kifejezetten kijelenti, hogy a Java-t úgy tervezték, hogy könnyű legyen a C-hez szokott programozók számára. Úgy tervezték, hogy egy másik C++:C legyen, néhány fejlettebb nyelvekből kölcsönzött ötlettel. Akárcsak a helyzetkomikumok, gyorséttermek vagy utazási túrák készítői, a Java készítői is tudatosan olyan emberek számára terveztek terméket, akik nem voltak olyan okosak, mint ők. Történelmileg a mások által használt nyelvek kudarcot vallottak: Cobol, PL/1, Pascal, Ada, C++. A sikeresek azonban azok voltak, amelyeket a készítők maguknak fejlesztettek ki: C, Perl, Smalltalk, Lisp.
  3. Rejtett indítékok. Valaki egyszer azt mondta, hogy a világ jobb hely lenne, ha az emberek csak akkor írnának könyveket, amikor van mondanivalójuk, ahelyett, hogy akkor írnának, amikor könyvet szeretnének írni. Hasonlóképpen, nem azért hallunk folyton a Java-ról, mert megpróbálnak valamit elmondani nekünk a programozási nyelvekről. A Java-ról a Sun azon tervének részeként hallunk, hogy felvegye a Microsoftot.
  4. Senki sem szereti őt. A C, Perl, Python, Smalltalk vagy Lisp programozók szerelmesek a nyelveikbe. Még soha senkit nem hallottam, hogy kinyilvánította volna a Java iránti szeretetét.
  5. Az emberek kénytelenek használni. Sok ismerősöm, akik Java-t használnak, szükségből teszik. Úgy gondolják, hogy ez finanszírozást fog kapni, vagy úgy gondolják, hogy ez vonzó lesz az ügyfelek számára, vagy ez egy vezetői döntés. Ezek okos emberek; ha jó lenne a technológia, akkor önként használnák.
  6. Ez sok szakács étele. A legjobb programozási nyelveket kis csapatok fejlesztették ki. A Java-t bizottság irányítja. Ha sikeres nyelvnek bizonyul, a történelemben először fordul elő, hogy egy bizottság ilyen nyelvet alkotott.
  7. Bürokratikus. Abból a keveset, amit a Java-ról tudok, úgy tűnik, hogy sok protokoll létezik bármire. Az igazán jó nyelvek nem ilyenek. Hagyják, hogy azt csinálj, amit akarsz, és nem állják az utad.
  8. Mesterséges hype. A Sun most azt próbálja úgy tenni, mintha a Java közösség által vezérelt lenne, hogy ez egy nyílt forráskódú projekt, mint például a Perl vagy a Python. Pedig a fejlesztést egy hatalmas cég irányítja. Így fennáll annak a veszélye, hogy a nyelv ugyanolyan unalmas nyavalyává válik, mint minden, ami egy nagy cég gyomrából származik.
  9. Nagy szervezetek számára készült. A nagy cégeknek más céljaik vannak a hackerekkel szemben. A vállalatoknak olyan nyelvekre van szükségük, amelyekről híresek, hogy közepes programozók nagy csapatai számára alkalmasak. Nyelvek olyan jellemzőkkel, mint az U-Haul teherautók sebességkorlátozói, figyelmeztetve a bolondokat, nehogy túl sok kárt okozzanak. A hackerek nem szeretik azokat a nyelveket, amelyek lebeszélik őket. A hackereknek hatalomra van szükségük. Történelmileg a nagy szervezetek számára létrehozott nyelvek (PL/1, Ada) veszítettek, míg a hackerek által létrehozott nyelvek (C, Perl) győztek. Ok: A mai fiatalkorú hacker a holnap műszaki igazgatója.
  10. A rossz emberek kedvelik őt. Az általam leginkább csodált programozók általában nem őrültek a Java-ért. Ki szereti őt? Öltönyök, azok, akik nem látják a különbséget a nyelvek között, de folyamatosan hallanak a sajtóban a Java-ról; programozók nagy cégeknél, akik megszállottan keresnek valami jobbat, mint akár a C++; mindenevő érettségi előtt álló diákok, akik mindent imádni fognak, amitől munkát kapnak (vagy vizsgán végeznek). Ezeknek az embereknek a véleménye a szél irányával változik.
  11. A szülője nehéz időket él át. A Sun üzleti modelljét két fronton is támadják. Az asztali számítógépekben használt olcsó Intel processzorok elég gyorsak lettek a szerverek számára. És úgy tűnik, hogy a FreeBSD olyan jó szerver operációs rendszerré válik, mint a Solaris. A Sun reklámozása azt jelenti, hogy Sun szerverekre lesz szüksége a termelési szintű alkalmazásokhoz. Ha ez igaz lenne, a Yahoo lenne az első a sorban, hogy megvásárolja a Sun-t. De amikor ott dolgoztam, Intel és FreeBSD szervereket használtak. Ez jót ígér Sun jövője szempontjából. És ha a Nap lemegy, a bajok lehúzhatják a Java-t a mélypontra.
  12. A Honvédelmi Minisztérium szeretete. A Védelmi Minisztérium a Java használatára ösztönzi a fejlesztőket. És ez a legrosszabb jelnek tűnik. A Honvédelmi Minisztérium kiváló (ha drága) munkát végez az ország védelmében, szeretik a terveket, eljárásokat, protokollokat. Kultúrájuk teljesen ellentétes a hacker-kultúrával; ha szoftverről van szó, hajlamosak rossz fogadásokat tenni. Az utolsó programozási nyelv, amelybe a Védelmi Minisztérium beleszeretett, az Ada volt.

Felhívjuk figyelmét, hogy ez nem a Java kritikája, hanem a borítója. Nem ismerem elég jól a Java-t ahhoz, hogy szeressem vagy ne szeressem. Csak próbálom megmagyarázni, miért nem érdekel a Java tanulása.

Elhamarkodottnak tűnhet egy nyelv elutasítása anélkül, hogy megkísérelnénk programozni. De ezzel minden programozónak meg kell küzdenie. Túl sok technológia létezik ahhoz, hogy mindegyiket felfedezzük. Meg kell tanulnod külső jelek alapján megítélni, hogy megéri-e az idődet. Ugyanilyen sietséggel elvetettem a Cobolt, az Adát, a Visual Basicet, az IBM AS400-at, a VRML-t, az ISO 9000-et, a SET Protocolt, a VMS-t, a Novell Netware-t és a CORBA-t – többek között. Egyszerűen nem vonzottak engem.

Talán tévedek a Java esetében. Talán egy olyan nyelv, amelyet az egyik nagy cég hirdetett, hogy versenyezzen egy másikkal, amelyet a tömegek számára fejlesztett ki, nagy felhajtással, és amelyet a védelmi minisztérium is szeretett, mégis szép, szép és erőteljes nyelv lesz, amelyet boldogan fogok. program be. Talán. De nagyon kétséges.

Köszönöm a fordítást: Denis Mitropolsky

PS

Forrás: will.com

Hozzászólás