Paul Graham om Java og "hacker" programmeringssprog (2001)

Paul Graham om Java og "hacker" programmeringssprog (2001)

Dette essay voksede ud af samtaler, jeg havde med flere udviklere om emnet bias mod Java. Dette er ikke en kritik af Java, men snarere et klart eksempel på "hacker-radaren".

Over tid udvikler hackere en næse for god – eller dårlig – teknologi. Jeg tænkte, at det kunne være interessant at prøve at skitsere årsagerne til, at jeg finder Java tvivlsom.

Nogle, der læste det, betragtede det som et bemærkelsesværdigt forsøg på at skrive om noget, der aldrig var blevet skrevet om før. Andre advarede om, at jeg skrev om ting, som jeg intet vidste om. Så for en sikkerheds skyld vil jeg gerne præcisere, at jeg ikke skriver om Java (som jeg aldrig har arbejdet med), men om “hacker radar” (som jeg har tænkt meget over).

Udtrykket "døm ikke en bog efter dens omslag" stammer fra en tid, hvor bøger blev solgt i blanke papomslag, som køber bandt efter hans smag. I de dage kunne man ikke kende en bog på dens omslag. Siden er forlagsbranchen dog gået meget frem, og moderne forlag går meget op i, at omslaget siger en hel del.

Jeg har brugt meget tid i boghandlere, og jeg synes, jeg har lært at forstå alt, hvad forlagene vil fortælle mig, og sikkert noget mere. Det meste af tiden, jeg tilbragte uden for boghandlerne, blev brugt foran computerskærme, og jeg formoder, at jeg til en vis grad lærte at bedømme teknologi ud fra dens omslag. Det kan være blindt held, men jeg har formået at undgå et par teknologier, der viste sig at være rigtig dårlige.

En af disse teknologier viste sig at være Java for mig. Jeg har ikke skrevet et eneste program i Java, og har kun skimmet dokumentationen, men jeg har en fornemmelse af, at det ikke er bestemt til at blive et meget vellykket sprog. Jeg kan tage fejl - at lave forudsigelser om teknologi er en farlig forretning. Og alligevel, et slags bevis på æraen, her er grunden til, at jeg ikke kan lide Java:

  1. Overdreven entusiasme. Disse standarder behøver ikke pålægges. Ingen forsøgte at promovere C, Unix eller HTML. Ægte standarder er sat længe før de fleste mennesker overhovedet hører om dem. På en hackers radar ser Perl intet mindre ud end Java udelukkende på grund af dets fordele.
  2. Java sigter ikke højt. I den originale beskrivelse af Java siger Gosling eksplicit, at Java er designet til at være let for programmører, der er vant til C. Det blev designet til at være endnu et C++:C med nogle få ideer lånt fra mere avancerede sprog. Ligesom skaberne af sitcoms, fastfood eller rejseture, designede skaberne af Java bevidst et produkt til folk, der ikke var så smarte som dem selv. Historisk set har sprog, der er designet til andre mennesker at bruge, fejlet: Cobol, PL/1, Pascal, Ada, C++. De succesrige var dog dem, som skaberne udviklede til sig selv: C, Perl, Smalltalk, Lisp.
  3. Skjulte motiver. Nogen sagde engang, at verden ville være et bedre sted, hvis folk kun skrev bøger, når de havde noget at sige, i stedet for at skrive, når de havde lyst til at skrive en bog. Ligeledes er grunden til, at vi bliver ved med at høre om Java, ikke fordi de forsøger at fortælle os noget om programmeringssprog. Vi hører om Java som en del af Suns plan om at tage imod Microsoft.
  4. Ingen elsker hende. C-, Perl-, Python-, Smalltalk- eller Lisp-programmører er forelskede i deres sprog. Jeg har aldrig hørt nogen erklære deres kærlighed til Java.
  5. Folk er tvunget til at bruge det. Mange mennesker, jeg kender, der bruger Java, gør det af nød. De tror, ​​det vil give dem finansiering, eller de tror, ​​det vil appellere til kunderne, eller det er en ledelsesbeslutning. Det er smarte mennesker; hvis teknologien var god, ville de bruge den frivilligt.
  6. Dette er en ret af mange kokke. De bedste programmeringssprog blev udviklet af små teams. Java er drevet af udvalg. Hvis det viser sig at være et succesfuldt sprog, vil det være første gang i historien, at et udvalg har skabt et sådant sprog.
  7. Hun er bureaukratisk. Ud fra det lidt, jeg ved om Java, ser det ud til, at der er mange protokoller til at gøre hvad som helst. Rigtig gode sprog er ikke sådan. De lader dig gøre, hvad du vil, og står ikke i vejen for dig.
  8. Kunstig hype. Nu forsøger Sun at foregive, at Java er fællesskabsdrevet, at det er et open source-projekt som Perl eller Python. Og alligevel er udviklingen styret af en kæmpe virksomhed. Så sproget risikerer at vise sig at være det samme kedelige elendighed som alt, der kommer ud af tarmene på en stor virksomhed.
  9. Det er skabt til store organisationer. Store virksomheder har forskellige mål med hackere. Virksomheder har brug for sprog, der har ry for at være egnede til store hold af middelmådige programmører. Sprog med egenskaber som hastighedsbegrænserne på U-Haul lastbiler, der advarer tåber mod at forårsage for meget skade. Hackere kan ikke lide sprog, der taler ned til dem. Hackere har brug for magt. Historisk set har sprog skabt til store organisationer (PL/1, Ada) tabt, mens sprog skabt af hackere (C, Perl) har vundet. Årsag: Dagens unge hacker er morgendagens CTO.
  10. De forkerte mennesker kan lide hende. De programmører, jeg mest beundrer, er generelt ikke vilde med Java. Hvem kan lide hende? Suits, dem der ikke kan se forskel på sprog, men konstant hører om Java i pressen; programmører i store virksomheder, besat af at finde noget bedre end selv C++; altædende pre-grad studerende, der vil elske alt, hvad der vil give dem et job (eller ende i en eksamen). Disse menneskers meninger ændrer sig med vindens retning.
  11. Hendes forældre har det svært. Suns forretningsmodel er under angreb på to fronter. Billige Intel-processorer, der bruges i stationære computere, er blevet hurtige nok til servere. Og FreeBSD ser ud til at blive et lige så godt server-OS som Solaris. Suns annoncering indebærer, at du skal bruge Sun-servere til applikationer i produktionskvalitet. Hvis dette var sandt, ville Yahoo stå først i køen til at købe Sun. Men da jeg arbejdede der, brugte de Intel- og FreeBSD-servere. Dette lover godt for Suns fremtid. Og hvis solen går ned, kan Java også være i problemer.
  12. Kærlighed til Forsvarsministeriet. Forsvarsministeriet opfordrer udviklere til at bruge Java. Og dette ligner det værste tegn af alle. Forsvarsministeriet gør et fremragende (hvis dyrt) arbejde med at beskytte landet, de elsker planer, procedurer og protokoller. Deres kultur er fuldstændig modsat hackerkulturen; når det kommer til software, har de en tendens til at foretage de forkerte væddemål. Det sidste programmeringssprog, som forsvarsministeriet forelskede sig i, var Ada.

Bemærk venligst, at dette ikke er en kritik af Java, men en kritik af dets omslag. Jeg kender ikke Java godt nok til, at jeg kan lide eller ikke lide det. Jeg prøver bare at forklare, hvorfor jeg ikke er interesseret i at lære Java.

Det kan virke forhastet at afvise et sprog uden selv at forsøge at programmere i det. Men det er det, alle programmører skal forholde sig til. Der er for mange teknologier til at udforske dem alle. Du skal lære at vurdere ud fra ydre tegn, om det vil være din tid værd. Med samme hast kasserede jeg blandt andet Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET Protocol, VMS, Novell Netware og CORBA. De appellerede bare ikke til mig.

Måske tager jeg fejl i tilfældet med Java. Måske vil et sprog fremmet af en stor virksomhed til at konkurrere med en anden, udviklet af udvalg for masserne, med en masse hype og elsket af Forsvarsministeriet alligevel vise sig at være et pænt, smukt og kraftfuldt sprog, som jeg med glæde vil program i. Måske. Men det er meget tvivlsomt.

Tak for oversættelsen: Denis Mitropolsky

PS

Kilde: www.habr.com

Tilføj en kommentar