Paul Graham über Java und die Hacker-Programmiersprachen (2001)

Bild

Dieser Aufsatz war die Entwicklung von Gesprächen mit mehreren Entwicklern zum Thema voreingenommenes Java. Dies ist keine Kritik an Java, sondern ein klares Beispiel für ein "Hacker-Radar".

Im Laufe der Zeit entwickeln Hacker ein Gespür für gute oder schlechte Technologie. Ich nehme an, es könnte interessant sein, zu versuchen, die Gründe zu erklären, warum Java mir zweifelhaft erscheint.

Jemand, der es las, betrachtete es als einen bemerkenswerten Versuch, über etwas zu schreiben, das noch niemand zuvor geschrieben hatte. Andere warnten, dass ich über Dinge schreibe, in denen ich nichts verstehe. Für alle Fälle möchte ich klarstellen, dass ich nicht über Java schreibe (mit dem ich noch nie gearbeitet habe), sondern über das "Hacker-Radar" (über das ich viel nachgedacht habe).


Der Ausdruck "beurteilen Sie ein Buch nicht nach seinem Einband" entstand zu einer Zeit, als Bücher in unbeschriebenen Pappdeckeln verkauft wurden, die der Käufer nach seinem Geschmack festlegte. Zu dem Buch konnte man in jenen Tagen am Cover nichts sagen. Seitdem hat das Verlagswesen jedoch große Fortschritte gemacht, und moderne Verlage unternehmen große Anstrengungen, damit das Cover viel aussagt.

Ich habe viel Zeit in Buchhandlungen verbracht und ich habe wahrscheinlich gelernt, alles zu verstehen, was mir die Verlage erzählen wollen, und vielleicht noch etwas anderes. Die meiste Zeit habe ich außerhalb der Buchhandlungen verbracht, die ich vor Computerbildschirmen verbracht habe, und ich glaube, ich habe gelernt, Technologien in gewissem Maße anhand ihrer Umschläge zu beurteilen. Das mag ein blinder Zufall sein, aber ich habe es geschafft, einige Technologien zu vermeiden, die sich als wirklich schlecht erwiesen haben.

Eine dieser Technologien stellte sich für mich als Java heraus. Ich habe kein einziges Programm in Java geschrieben und mich auf ein oberflächliches Studium der Dokumentation beschränkt, aber ich habe das Gefühl, dass sie nicht dazu bestimmt war, eine zu erfolgreiche Sprache zu werden. Ich könnte mich irren - Vorhersagen über Technologie zu treffen ist eine gefährliche Angelegenheit. Und doch ist eine Art Beweis für diese Ära, warum ich Java nicht mag:

  1. Übermäßige Begeisterung. Diese Standards müssen nicht vorgeschrieben werden. Niemand hat versucht, C, Unix oder HTML zu fördern. Wahre Maßstäbe werden gesetzt, lange bevor die meisten Menschen davon erfahren. Auf dem Radar eines Hackers sieht Perl allein aufgrund seiner Vorzüge nicht weniger aus als Java.
  2. Java-Tags niedrig. In der ursprünglichen Java-Beschreibung sagt Gosling ausdrücklich, dass Java erstellt wurde, um Programmierern, die an C gewöhnt sind, keine Probleme zu bereiten. Es wurde als nächstes C ++: C entwickelt, mit ein paar Ideen aus fortgeschritteneren Sprachen. Als Macher von Sitcoms, Fast Food oder Reisetouren haben die Macher von Java bewusst ein Produkt für Menschen entwickelt, die nicht so schlau sind wie sie. In der Vergangenheit waren Sprachen, die für die Verwendung durch andere Personen entwickelt wurden, erfolglos: Kobol, PL / 1, Pascal, Ada, C ++. Erfolgreich erwiesen sich jedoch diejenigen, die die Schöpfer für sich entwickelten: C, Perl, Smalltalk, Lisp.
  3. Versteckte Motive. Jemand sagte einmal, dass die Welt ein besserer Ort wäre, wenn die Leute Bücher nur schreiben würden, wenn sie etwas zu sagen hätten, anstatt zu schreiben, wenn sie ein Buch schreiben wollen. Ebenso ist der Grund, warum wir ständig von Java hören, nicht der, dass sie versuchen, uns etwas über Programmiersprachen zu erzählen. Wir hören von Java als Teil des Microsoft-Rivalitätsplans von Sun.
  4. Niemand liebt sie. C-, Perl-, Python-, Smalltalk- oder Lisp-Programmierer lieben ihre Sprachen. Ich habe noch nie jemanden gehört, der seine Liebe zu Java erklärt hat.
  5. Die Leute sind gezwungen, es zu benutzen. Viele der Leute, die ich kenne und die Java verwenden, tun dies nach Bedarf. Sie glauben, dass dies ihnen die Finanzierung ermöglicht, oder sie glauben, dass es den Kunden gefällt, oder dies ist eine Managemententscheidung. Das sind kluge Leute; Wäre die Technologie gut, würden sie sie freiwillig einsetzen.
  6. Dies ist das Gericht vieler Köche. Die besten Programmiersprachen wurden von kleinen Teams entwickelt. Java wird von einem Komitee verwaltet. Wenn sich herausstellt, dass es eine erfolgreiche Sprache ist, wird es das erste Mal in der Geschichte sein, dass das Komitee eine solche Sprache erstellt.
  7. Sie ist bürokratisch. Nach dem geringen Wissen über Java scheint es viele Protokolle zu geben, um etwas zu tun. Wirklich gute Sprachen sind nicht so. Sie ermöglichen es Ihnen, alles zu tun und stehen Ihnen nicht im Weg.
  8. Künstliche Empfindung. Jetzt versucht Sun so zu tun, als ob Java von der Community gesteuert wird, als ob es sich um ein Open-Source-Projekt wie Perl oder Python handelt. Und doch wird die Entwicklung von einem riesigen Unternehmen gesteuert. Die Sprache läuft also Gefahr, genauso elend zu sein wie alles, was aus dem Darm einer großen Firma kommt.
  9. Es ist für große Organisationen konzipiert. Große Unternehmen verfolgen mit Hackern unterschiedliche Ziele. Unternehmen benötigen Sprachen, die angeblich für große Teams mittelmäßiger Programmierer geeignet sind. Sprachen mit Funktionen wie Geschwindigkeitsbegrenzern in U-Haul-Lastwagen, die Narren davor warnen, zu viel Schaden anzurichten. Hacker mögen keine Sprachen, die sie ansprechen. Hacker brauchen Macht. Historisch gesehen haben Sprachen, die für große Organisationen (PL / 1, Ada) erstellt wurden, verloren, während Sprachen, die von Hackern (C, Perl) erstellt wurden, gewonnen haben. Grund: Der jugendliche Hacker von heute ist der CTO von morgen.
  10. Falsche Leute mögen sie. Die Programmierer, die ich am meisten bewundere, sind im Allgemeinen nicht begeistert von Java. Wen mag sie? Kostüme, die den Unterschied zwischen den Sprachen nicht sehen, aber in der Presse ständig von Java hören; Programmierer in großen Unternehmen, fasziniert von der Idee, etwas Besseres als C ++ zu finden; Allesfresser-Studenten, die alles mögen, was ihnen erlaubt, einen Job zu finden (oder an der Prüfung teilnehmen). Die Meinung dieser Menschen ändert sich mit der Windrichtung.
  11. Ihre Eltern haben es schwer. Das Sun-Geschäftsmodell wird von zwei Seiten angegriffen. Die billigen Intel-Prozessoren, die in Desktop-Computern verwendet werden, sind schnell genug für Server geworden. Und FreeBSD scheint ein so gutes Server-Betriebssystem wie Solaris zu bekommen. In Ihrer Werbung impliziert Sun, dass Sie Sun-Server für industrielle Anwendungen benötigen. Wäre dies der Fall, wäre Yahoo der erste, der Sun kauft. Als ich dort arbeitete, wurden dort Server mit Intel und FreeBSD verwendet. Dies verspricht eine dunkle Zukunft für Sun. Und wenn die Sonne untergeht, kann ich die Mühe auf den Grund und Java nehmen.
  12. Liebe des Verteidigungsministeriums. Das Verteidigungsministerium empfiehlt Entwicklern, Java zu verwenden. Und es sieht aus wie das schlimmste Zeichen von allen. Das Verteidigungsministerium leistet hervorragende (wenn auch nicht billige) Arbeit zum Schutz des Landes, es verehrt Pläne, Verfahren und Protokolle. Ihre Kultur ist völlig anders als die der Hacker. In Sachen Software neigen sie dazu, die falschen Einsätze zu machen. Die letzte Programmiersprache, in die sich das Verteidigungsministerium verliebte, war Ada.

Denken Sie daran, dass dies keine Kritik an Java ist, sondern Kritik an dessen Cover. Ich kenne Java nicht gut genug, um es zu mögen oder nicht zu mögen. Ich versuche nur zu erklären, warum ich nicht versuche, Java zu lernen.

Eine Sprache zu verwerfen, ohne sie zu programmieren, mag voreilig erscheinen. Aber das ist es, was alle Programmierer tun müssen. Es gibt zu viele Technologien, um sie alle zu lernen. Sie müssen lernen, durch äußere Anzeichen zu beurteilen, ob es Ihre Zeit wert ist. Mit der gleichen Eile ließ ich unter anderem Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, SET, VMS, Novell Netware und CORBA fallen. Sie mochten es einfach nicht.

Vielleicht irre ich mich bei Java. Vielleicht stellt sich heraus, dass die Sprache, die von einem großen Unternehmen zum Zweck der Konfrontation mit einem anderen Unternehmen gefördert wird, vom Komitee für Massenware entwickelt und vom Verteidigungsministerium geliebt wird, dennoch eine ordentliche, schöne und mächtige Sprache ist, in der ich gerne programmiere. Möglicherweise. Aber es ist sehr zweifelhaft.

Danke für die Übersetzung: Denis Mitropolsky

PS


Source: https://habr.com/ru/post/de484244/


All Articles