Paul Graham over programmeertalen Java en "hacker" (2001)

Paul Graham over programmeertalen Java en "hacker" (2001)

Dit essay kwam voort uit gesprekken die ik met verschillende ontwikkelaars had over het onderwerp vooroordelen tegen Java. Dit is geen kritiek op Java, maar eerder een duidelijk voorbeeld van de ‘hackerradar’.

In de loop van de tijd ontwikkelen hackers een neus voor goede – of slechte – technologie. Ik dacht dat het misschien interessant zou zijn om te proberen de redenen te schetsen waarom ik Java twijfelachtig vind.

Sommigen die het lazen, beschouwden het als een opmerkelijke poging om te schrijven over iets waarover nog nooit eerder was geschreven. Anderen waarschuwden dat ik schreef over dingen waar ik niets van wist. Voor de zekerheid zou ik dus willen verduidelijken dat ik niet over Java schrijf (waar ik nog nooit mee heb gewerkt), maar over “hackerradar” (waar ik veel over heb nagedacht).

De uitdrukking “beoordeel een boek niet op zijn omslag” stamt uit een tijd waarin boeken werden verkocht in blanco kartonnen omslagen die de koper naar eigen wens inbond. In die tijd kon je een boek niet aan de omslag herkennen. Sindsdien heeft de uitgeverswereld echter grote vooruitgang geboekt, en moderne uitgevers doen er alles aan om ervoor te zorgen dat de omslag veel zegt.

Ik heb veel tijd in boekwinkels doorgebracht en ik denk dat ik heb geleerd alles te begrijpen wat de uitgevers mij willen vertellen, en waarschijnlijk nog meer. De meeste tijd die ik buiten de boekwinkels doorbracht, bracht ik door achter computerschermen, en ik veronderstel dat ik tot op zekere hoogte heb geleerd technologie te beoordelen aan de hand van de omslagen. Het is misschien blind geluk, maar ik ben erin geslaagd een paar technologieën te vermijden die echt slecht bleken te zijn.

Eén van deze technologieën bleek voor mij Java te zijn. Ik heb nog geen enkel programma in Java geschreven en heb alleen de documentatie doorgenomen, maar ik heb het gevoel dat het niet voorbestemd is om een ​​erg succesvolle taal te worden. Ik kan het mis hebben: voorspellingen doen over technologie is een gevaarlijke onderneming. En toch, een soort bewijs van die tijd, is dit de reden waarom ik Java niet leuk vind:

  1. Overdreven enthousiasme. Deze normen hoeven niet te worden opgelegd. Niemand probeerde C, Unix of HTML te promoten. Ware normen worden vastgesteld lang voordat de meeste mensen er zelfs maar van horen. Op de radar van een hacker lijkt Perl niet minder dan Java, uitsluitend vanwege zijn verdiensten.
  2. Java mikt niet hoog. In de oorspronkelijke beschrijving van Java stelt Gosling expliciet dat Java is ontworpen om gemakkelijk te zijn voor programmeurs die gewend zijn aan C. Het is ontworpen als een andere C++:C met een paar ideeën die zijn ontleend aan meer geavanceerde talen. Net als de makers van sitcoms, fastfood of reisrondleidingen, ontwierpen de makers van Java bewust een product voor mensen die niet zo slim waren als zijzelf. Historisch gezien zijn talen ontworpen voor gebruik door andere mensen mislukt: Cobol, PL/1, Pascal, Ada, C++. De succesvolle waren echter degene die de makers voor zichzelf ontwikkelden: C, Perl, Smalltalk, Lisp.
  3. Verborgen motieven. Iemand zei ooit dat de wereld een betere plek zou zijn als mensen alleen boeken zouden schrijven als ze iets te zeggen hadden, in plaats van te schrijven als ze zin hadden om een ​​boek te schrijven. Op dezelfde manier is de reden dat we over Java blijven horen niet omdat ze ons iets over programmeertalen proberen te vertellen. We horen over Java als onderdeel van Sun's plan om de strijd aan te gaan met Microsoft.
  4. Niemand houdt van haar. C-, Perl-, Python-, Smalltalk- of Lisp-programmeurs zijn verliefd op hun talen. Ik heb nog nooit iemand zijn liefde voor Java horen verklaren.
  5. Mensen worden gedwongen er gebruik van te maken. Veel mensen die ik ken die Java gebruiken, doen dit uit noodzaak. Ze denken dat het hen financiering zal opleveren, of ze denken dat het klanten zal aanspreken, of dat het een managementbeslissing is. Dit zijn slimme mensen; als de technologie goed was, zouden ze die vrijwillig gebruiken.
  6. Dit is een gerecht van veel chef-koks. De beste programmeertalen zijn ontwikkeld door kleine teams. Java wordt bestuurd door een commissie. Als het een succesvolle taal blijkt te zijn, zal het de eerste keer in de geschiedenis zijn dat een commissie een dergelijke taal heeft gecreëerd.
  7. Ze is bureaucratisch. Op basis van het weinige dat ik over Java weet, lijkt het erop dat er veel protocollen zijn om wat dan ook te doen. Echt goede talen zijn niet zo. Ze laten je doen wat je wilt en staan ​​je niet in de weg.
  8. Kunstmatige hype. Nu probeert Sun te doen alsof Java door de gemeenschap wordt aangestuurd, dat het een open source-project is zoals Perl of Python. En toch wordt de ontwikkeling gecontroleerd door een enorm bedrijf. De taal dreigt dus dezelfde saaie ellende te worden als alles wat uit de ingewanden van een groot bedrijf komt.
  9. Het is gemaakt voor grote organisaties. Grote bedrijven hebben verschillende doelen met hackers. Bedrijven hebben talen nodig die de reputatie hebben geschikt te zijn voor grote teams van middelmatige programmeurs. Talen met kenmerken als de snelheidsbegrenzers op U-Haul-vrachtwagens, die dwazen waarschuwen voor het veroorzaken van te veel schade. Hackers houden niet van talen die tegen hen praten. Hackers hebben macht nodig. Historisch gezien hebben talen die voor grote organisaties zijn gemaakt (PL/1, Ada) verloren, terwijl talen die door hackers zijn gemaakt (C, Perl) hebben gewonnen. Reden: De jonge hacker van vandaag is de CTO van morgen.
  10. De verkeerde mensen vinden haar leuk. De programmeurs die ik het meest bewonder, zijn over het algemeen niet gek op Java. Wie vindt haar leuk? Suits, degenen die het verschil tussen talen niet zien, maar in de pers voortdurend over Java horen; programmeurs in grote bedrijven, geobsedeerd door het vinden van iets beters dan zelfs C++; allesetende pre-doctorale studenten die dol zijn op alles wat hen een baan oplevert (of in een examen belandt). De meningen van deze mensen veranderen met de richting van de wind.
  11. Haar ouders hebben het moeilijk. Het bedrijfsmodel van Sun wordt op twee fronten aangevallen. Goedkope Intel-processors die in desktopcomputers worden gebruikt, zijn snel genoeg geworden voor servers. En FreeBSD lijkt een net zo goed server-besturingssysteem te worden als Solaris. De reclame van Sun impliceert dat je Sun-servers nodig hebt voor productietoepassingen. Als dit waar zou zijn, zou Yahoo als eerste in de rij staan ​​om Sun te kopen. Maar toen ik daar werkte, gebruikten ze Intel- en FreeBSD-servers. Dit belooft veel goeds voor de toekomst van Sun. En als de zon ondergaat, kan Java ook in de problemen komen.
  12. Liefde voor het Ministerie van Defensie. Het ministerie van Defensie moedigt ontwikkelaars aan om Java te gebruiken. En dit lijkt het slechtste teken van allemaal. Het ministerie van Defensie doet uitstekend (zij het duur) werk in het beschermen van het land, ze houden van plannen, procedures en protocollen. Hun cultuur is volledig het tegenovergestelde van de hackercultuur; als het om software gaat, hebben ze de neiging de verkeerde weddenschappen te sluiten. De laatste programmeertaal waar het ministerie van Defensie verliefd op werd, was Ada.

Let op: dit is geen kritiek op Java, maar kritiek op de omslag ervan. Ik ken Java niet goed genoeg om het leuk of niet leuk te vinden. Ik probeer alleen uit te leggen waarom ik niet geïnteresseerd ben in het leren van Java.

Het lijkt misschien haastig om een ​​taal af te wijzen zonder zelfs maar te proberen erin te programmeren. Maar dit is waar alle programmeurs mee te maken hebben. Er zijn te veel technologieën om ze allemaal te onderzoeken. Je moet aan de hand van uiterlijke tekenen leren beoordelen of het je tijd waard is. Met evenveel haast heb ik onder andere Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware en CORBA weggegooid. Ze spraken mij gewoon niet aan.

Misschien heb ik het mis in het geval van Java. Misschien zal een taal die door het ene grote bedrijf wordt gepromoot om met een ander te concurreren, ontwikkeld door een commissie voor de massa, met veel hype, en geliefd bij het ministerie van Defensie, toch een nette, mooie en krachtige taal blijken te zijn die ik graag zal gebruiken programma binnen. Misschien. Maar het is zeer twijfelachtig.

Bedankt voor de vertaling: Denis Mitropolsky

PS

Bron: www.habr.com

Voeg een reactie