Paul Graham om Java och "hacker" programmeringsspråk (2001)

Paul Graham om Java och "hacker" programmeringsspråk (2001)

Den här uppsatsen växte fram ur samtal jag hade med flera utvecklare om ämnet partiskhet mot Java. Detta är inte en kritik av Java, utan snarare ett tydligt exempel på "hackerradarn".

Med tiden utvecklar hackare en näsa för bra – eller dålig – teknik. Jag tänkte att det kunde vara intressant att försöka beskriva anledningarna till varför jag tycker att Java är tveksamt.

En del som läste den ansåg det som ett anmärkningsvärt försök att skriva om något som aldrig tidigare skrivits om. Andra varnade för att jag skrev om saker som jag inte visste något om. Så för säkerhets skull vill jag förtydliga att jag inte skriver om Java (som jag aldrig har jobbat med), utan om "hackerradar" (som jag har tänkt mycket på).

Uttrycket "döm inte en bok efter dess omslag" härstammar från en tid då böcker såldes i tomma kartongomslag som köparen band efter hans smak. På den tiden kunde man inte skilja en bok på omslaget. Sedan dess har dock förlagsbranschen avancerat kraftigt och moderna förlag går långt för att omslaget ska säga mycket.

Jag har tillbringat mycket tid i bokhandeln, och jag tror att jag har lärt mig att förstå allt som förlagen vill berätta för mig, och förmodligen en del till. Den mesta tiden som jag tillbringade utanför bokhandeln spenderades framför datorskärmar, och jag antar att jag till viss del lärde mig att bedöma teknik efter dess omslag. Det kan vara blind tur, men jag har lyckats undvika några tekniker som visade sig vara riktigt dåliga.

En av dessa tekniker visade sig vara Java för mig. Jag har inte skrivit ett enda program i Java, och har bara skummat igenom dokumentationen, men jag har en känsla av att det inte är avsett att bli ett mycket framgångsrikt språk. Jag kan ha fel – att göra förutsägelser om teknik är en farlig verksamhet. Och ändå, ett slags bevis på eran, här är varför jag inte gillar Java:

  1. Överdriven entusiasm. Dessa standarder behöver inte införas. Ingen försökte marknadsföra C, Unix eller HTML. Sanna normer sätts långt innan de flesta människor ens hör om dem. På en hackers radar ser Perl inte mindre ut än Java enbart på grund av dess fördelar.
  2. Java siktar inte högt. I den ursprungliga beskrivningen av Java, säger Gosling uttryckligen att Java utformades för att vara lätt för programmerare som är vana vid C. Det designades för att vara ytterligare ett C++:C med några idéer lånade från mer avancerade språk. Liksom skaparna av sitcoms, snabbmat eller reseturer, designade skaparna av Java medvetet en produkt för människor som inte var lika smarta som de själva. Historiskt sett har språk som utformats för andra människor att använda misslyckats: Cobol, PL/1, Pascal, Ada, C++. De framgångsrika var dock de som skaparna utvecklade åt sig själva: C, Perl, Smalltalk, Lisp.
  3. Dolda motiv. Någon sa en gång att världen skulle bli en bättre plats om människor bara skrev böcker när de hade något att säga, istället för att skriva när de kände för att skriva en bok. På samma sätt är anledningen till att vi fortsätter att höra om Java inte för att de försöker berätta något om programmeringsspråk. Vi hör om Java som en del av Suns plan att ta sig an Microsoft.
  4. Ingen älskar henne. C-, Perl-, Python-, Smalltalk- eller Lisp-programmerare är förälskade i sina språk. Jag har aldrig hört någon deklarera sin kärlek till Java.
  5. Människor tvingas använda den. Många människor jag känner som använder Java gör det av nödvändighet. De tror att det kommer att ge dem finansiering, eller så tror de att det kommer att tilltala kunderna, eller så är det ett ledningsbeslut. Det här är smarta människor; om tekniken var bra skulle de använda den frivilligt.
  6. Detta är en maträtt av många kockar. De bästa programmeringsspråken utvecklades av små team. Java drivs av kommittén. Om det visar sig vara ett framgångsrikt språk är det första gången i historien som en kommitté skapar ett sådant språk.
  7. Hon är byråkratisk. Från det lilla jag vet om Java verkar det som att det finns många protokoll för att göra vad som helst. Riktigt bra språk är inte så. De låter dig göra vad du vill och står inte i din väg.
  8. Konstgjord hype. Nu försöker Sun låtsas att Java är community-drivet, att det är ett projekt med öppen källkod som Perl eller Python. Och ändå styrs utvecklingen av ett enormt företag. Så språket riskerar att visa sig vara samma tråkiga elände som allt som kommer ur tarmen på ett stort företag.
  9. Det är skapat för stora organisationer. Stora företag har olika mål med hackare. Företag behöver språk som har rykte om att vara lämpliga för stora team av mediokra programmerare. Språk med egenskaper som hastighetsbegränsare på U-Haul-lastbilar, varnar dårar mot att orsaka för mycket skada. Hackare gillar inte språk som talar ner till dem. Hackare behöver makt. Historiskt sett har språk skapade för stora organisationer (PL/1, Ada) förlorat, medan språk skapade av hackare (C, Perl) har vunnit. Anledning: Dagens unga hacker är morgondagens CTO.
  10. Fel personer gillar henne. De programmerare jag mest beundrar är i allmänhet inte tokiga i Java. Vem gillar henne? Suits, de som inte ser skillnaden mellan språk, utan ständigt hör om Java i pressen; programmerare i stora företag, besatta av att hitta något bättre än till och med C++; allätare pre-grad studenter som kommer att älska allt som kommer att ge dem ett jobb (eller hamna i ett prov). Dessa människors åsikter förändras med vindens riktning.
  11. Hennes förälder har det svårt. Suns affärsmodell är under attack på två fronter. Billiga Intel-processorer som används i stationära datorer har blivit tillräckligt snabba för servrar. Och FreeBSD ser ut att bli ett lika bra server-OS som Solaris. Suns annonsering innebär att du behöver Sun-servrar för applikationer i produktionsklass. Om detta var sant skulle Yahoo vara först i kön för att köpa Sun. Men när jag jobbade där använde de Intel och FreeBSD-servrar. Detta bådar gott för Suns framtid. Och om solen går ner kan Java också ha problem.
  12. Kärlek till försvarsministeriet. Försvarsdepartementet uppmuntrar utvecklare att använda Java. Och det här ser ut som det värsta tecknet av alla. Försvarsdepartementet gör ett utmärkt (om än dyrt) jobb med att skydda landet, de älskar planer, procedurer och protokoll. Deras kultur är helt motsatt till hackerkulturen; när det kommer till mjukvara tenderar de att göra fel satsningar. Det sista programmeringsspråket som försvarsdepartementet blev kär i var Ada.

Observera att detta inte är en kritik av Java, utan en kritik av dess omslag. Jag kan inte Java tillräckligt bra för att jag ska gilla eller ogilla det. Jag försöker bara förklara varför jag inte är intresserad av att lära mig Java.

Det kan tyckas förhastat att avfärda ett språk utan att ens försöka programmera i det. Men detta är vad alla programmerare måste hantera. Det finns för många tekniker för att utforska dem alla. Du måste lära dig att bedöma utifrån yttre tecken om det kommer att vara värt din tid. Med lika brådska kasserade jag bland annat Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware och CORBA. De tilltalade mig helt enkelt inte.

Jag kanske har fel när det gäller Java. Kanske kommer ett språk som främjas av ett stort företag att konkurrera med ett annat, utvecklat av en kommitté för massorna, med mycket hype och älskat av försvarsdepartementet ändå visa sig vara ett snyggt, vackert och kraftfullt språk som jag med glädje program i. Kanske. Men det är mycket tveksamt.

Tack för översättningen: Denis Mitropolsky

PS

Källa: will.com

Lägg en kommentar