
Esse stellte eine Weiterentwicklung von Gesprächen mit mehreren Entwicklern dar, die sich mit der Vorurteil gegenüber Java beschäftigten. Es ist keine Kritik an Java, sondern vielmehr ein anschauliches Beispiel für den „Hacker-Radar“.
Im Laufe der Zeit entwickeln Hacker ein Gespür für gute oder schlechte Technologien. Ich denke, es könnte interessant sein, die Gründe zu skizzieren, warum ich Java als fragwürdig empfinde.
Einige Leser betrachteten dies als einen bemerkenswerten Versuch, über ein Thema zu schreiben, über das zuvor niemand geschrieben hat. Andere warnten jedoch, dass ich über Dinge schreibe, von denen ich keine Ahnung habe. Daher möchte ich klarstellen, dass ich nicht über Java (mit dem ich nie gearbeitet habe) schreibe, sondern über den „Hacker-Radar“ (über den ich viel nachgedacht habe).
Der Ausdruck „Urteile nicht über ein Buch nach seinem Cover“ stammt aus einer Zeit, als Bücher in schlichten, kartonartigen Einbänden verkauft wurden, die der Käufer nach seinem Geschmack binden ließ. In jenen Tagen konnte man anhand des Covers nichts über den Inhalt eines Buches sagen. Seitdem hat sich die Verlagsbranche jedoch stark weiterentwickelt, und moderne Verleger legen viel Wert darauf, dass das Cover viel aussagt.
Ich habe viel Zeit in Buchhandlungen verbracht und glaube, ich habe gelernt, die Botschaften der Verleger zu verstehen – vielleicht sogar noch mehr. Den Großteil der Zeit, die ich außerhalb von Buchhandlungen verbracht habe, war ich vor Computerbildschirmen, und ich denke, ich habe, zu einem gewissen Grad, gelernt, Technologien ebenfalls nach ihren Oberflächen zu beurteilen. Das mag Glück gewesen sein, aber ich habe es geschafft, einige Technologien zu meiden, die sich als wirklich schlecht herausgestellt haben.
Eine dieser Technologien ist für mich Java. Ich habe noch kein einziges Programm in Java geschrieben und mich lediglich mit der Dokumentation oberflächlich beschäftigt, aber ich habe das Gefühl, dass es nicht der Traumprogrammiersprache werden wird. Ich könnte mich irren – Vorhersagen über Technologien sind immer riskant. Dennoch ist es eine Art Zeitzeugnis – deshalb mag ich Java nicht:
- Übertriebener Enthusiasmus. Wahre Standards müssen nicht aufgezwungen werden. Niemand hat versucht, C, Unix oder HTML zu promoten. Echte Standards entstehen lange, bevor die meisten Menschen von ihnen hören. Auf dem Radar eines Hackers steht Perl in keiner Weise hinter Java zurück, allein aufgrund seiner Eigenschaften.
- Java hat sich hohe Ziele gesetzt. In der ursprünglichen Beschreibung von Java erklärt Gosling direkt, dass Java entwickelt wurde, um es Programmierern, die mit C vertraut sind, leicht zu machen. Sie wurde entwickelt, um das neue C++ zu werden: Ein C mit einigen Ideen, die von fortschrittlicheren Sprachen übernommen wurden. Ähnlich wie die Schöpfer von Sitcoms, Fast Food oder Pauschalreisen - die Entwickler von Java haben bewusst ein Produkt für Menschen kreiert, die nicht ganz so klug sind wie sie selbst. Historisch gesehen waren Sprachen, die mit dem Ziel entwickelt wurden, von anderen genutzt zu werden, oft erfolglos: Cobol, PL/1, Pascal, Ada, C++. Erfolgreich waren hingegen die Sprachen, die ihre Schöpfer für sich selbst entwickelten: C, Perl, Smalltalk, Lisp.
- Verborgene Motive. Jemand sagte einmal, die Welt wäre ein besserer Ort, wenn Menschen Bücher nur dann schreiben würden, wenn sie wirklich etwas zu sagen haben, anstatt zu schreiben, nur weil sie Lust haben, ein Buch zu schreiben. Ebenso liegt der Grund, warum wir ständig von Java hören, nicht darin, dass uns etwas über Programmiersprachen mitgeteilt werden soll. Wir hören von Java als Teil von Suns Plan, Microsoft entgegenzuwirken.
- Niemand liebt sie. Programmierer in C, Perl, Python, Smalltalk oder Lisp sind in ihre Sprachen verliebt. Ich habe noch nie gehört, dass jemand seine Liebe zu Java gesteht.
- Die Leute sind gezwungen, sie zu nutzen. Viele von denen, die ich kenne und die Java verwenden, tun dies aus zwingenden Gründen. Sie glauben, dass es ihnen Finanzierung sichert, oder hoffen, dass es den Kunden gefällt, oder es ist eine Entscheidung des Managements. Es sind kluge Menschen; wenn die Technologie wirklich gut wäre, würden sie sie freiwillig nutzen.
- Es ist das Produkt vieler Köche. Die besten Programmiersprachen wurden von kleinen Teams entwickelt. Java wird von einem Komitee verwaltet. Sollte es sich als erfolgreiche Sprache herausstellen, wäre das das erste Mal in der Geschichte, dass ein Komitee eine solch gute Sprache geschaffen hat.
- Sie ist bürokratisch. Soweit ich über Java informiert bin, scheint es eine Vielzahl von Protokollen zu geben, um irgendetwas zu tun. Wirklich gute Sprachen sind nicht so. Sie ermöglichen es Ihnen, alles zu tun, und stehen Ihnen nicht im Weg.
- Künstliche Aufregung. Momentan versucht Sun den Anschein zu erwecken, dass Java von der Community gesteuert wird und ein offenes Projekt ist, ähnlich wie Perl oder Python. Doch die Entwicklung wird von einem großen Unternehmen kontrolliert. Daher besteht die Gefahr, dass die Sprache in ebenso triste Belanglosigkeit verfällt wie alles, was aus den Niederungen einer großen Firma hervorgeht.
- Sie ist für große Organisationen konzipiert. Große Unternehmen haben unterschiedliche Ziele im Umgang mit Hackern. Firmen benötigen Sprachen, die den Ruf haben, für große Teams durchschnittlicher Programmierer geeignet zu sein. Sprachen mit Eigenschaften, die wie Geschwindigkeitsbegrenzungen bei U-Haul-Trucks wirken, warnen Unbedarfte davor, zu viel Schaden anzurichten. Hacker schätzen keine Sprachen, die von oben herab zu ihnen sprechen. Hacker benötigen Power. Historisch gesehen haben Sprachen, die für große Organisationen entwickelt wurden (PL/1, Ada), versagt, während von Hackern geschaffene Sprachen (C, Perl) erfolgreich waren. Der Grund: Der heutige jugendliche Hacker ist der zukünftige CTO.
- Sie gefällt nicht den richtigen Leuten. Die Programmierer, die ich am meisten bewundere, sind im Allgemeinen nicht begeistert von Java. Wer mag es? Anzüge, die den Unterschied zwischen Programmiersprachen nicht sehen, aber ständig in den Medien über Java hören; Programmierer in großen Unternehmen, besessen von der Idee, etwas Besseres als sogar C++ zu finden; und generalistische Studierende, die alles mögen, was ihnen einen Job verschafft (oder das Gegenstand einer Prüfung wird). Die Meinung dieser Leute ändert sich mit dem Wind.
- Ihr Elternteil hat schwierige Zeiten. Das Geschäftsmodell von Sun wird von zwei Seiten angegriffen. Billige Intel-Prozessoren, die in Desktop-Computern verwendet werden, sind schnell genug geworden für Server. Und FreeBSD scheint ein ebenso gutes Betriebssystem für Server wie Solaris zu werden. In seiner Werbung lässt Sun durchblicken, dass Sie Sun-Server für Anwendungen auf Unternehmensniveau benötigen. Wäre das wahr, würde Yahoo als erstes anstehen, um Sun zu kaufen. Aber als ich dort arbeitete, wurden Intel-Server und FreeBSD verwendet. Das verspricht eine düstere Zukunft für Sun. Und wenn Sun untergeht, könnten die Probleme auch Java mit hinunterziehen.
- Die Liebe des Verteidigungsministeriums. Das Verteidigungsministerium fördert die Nutzung von Java durch Entwickler. Und das sieht aus wie das schlechteste Zeichen von allen. Das Ministerium leistet hervorragende (wenn auch kostspielige) Arbeit zum Schutz des Landes, sie lieben Pläne, Verfahren und Protokolle. Ihre Kultur ist das völlige Gegenteil der Hacker-Kultur; hinsichtlich Software neigen sie dazu, falsche Entscheidungen zu treffen. Die letzte Programmiersprache, in die das Verteidigungsministerium verliebt war, war Ada.
Bitte beachten Sie, dass dies keine Kritik an Java ist, sondern an ihrem Erscheinungsbild. Ich kenne Java nicht gut genug, um eine Meinung darüber zu haben, ob ich es mag oder nicht. Ich versuche nur zu erklären, warum ich nicht daran interessiert bin, Java zu lernen.
Eine Sprache abzulehnen, ohne sie überhaupt einmal programmiert zu haben, mag voreilig erscheinen. Aber das ist es, was allen Programmierern widerfährt. Es gibt zu viele Technologien, um sie alle zu lernen. Man muss lernen, anhand äußerer Merkmale zu beurteilen, ob es die Zeit wert sein wird. Mit der gleichen Voreiligkeit habe ich Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, das SET-Protokoll, VMS, Novell Netware und CORBA abgelehnt – neben vielen anderen. Sie haben mir einfach nicht zugesagt.
Vielleicht liege ich im Fall von Java falsch. Möglicherweise wird die Sprache, die von einem großen Unternehmen zur Bekämpfung eines anderen gefördert wird, von einem Komitee für die breite Masse entwickelt, mit übertriebenem Aufsehen und vom Verteidigungsministerium favorisiert, dennoch eine saubere, schöne und leistungsstarke Sprache sein, mit der ich gerne programmieren werde. Vielleicht. Aber sehr zweifelhaft.
Übersetzung Dank: Denis Mitropolsky
P.S.
Quelle: habr.com
