
Dieser Aufsatz war eine Fortsetzung von Gesprächen mit mehreren Entwicklern zum Thema Java-Voreingenommenheit. Dies ist keine Kritik an Java, sondern ein klares Beispiel für „Hacker-Radar“.
Mit der Zeit entwickeln Hacker ein Gespür für gute – oder schlechte – Technologie. Ich dachte, es könnte interessant sein, die Gründe darzulegen, warum ich Java fragwürdig finde.
Einige Leser betrachteten es als einen lohnenden Versuch, über etwas zu schreiben, worüber noch nie zuvor geschrieben worden war. Andere warnten mich, dass ich über Dinge schreibe, von denen ich nichts wüsste. Nur für den Fall möchte ich klarstellen, dass ich nicht über Java schreibe (mit dem ich noch nie gearbeitet habe), sondern über „Hacker-Radar“ (worüber ich viel nachgedacht habe).
Der Ausdruck „Beurteile ein Buch nicht nach seinem Einband“ stammt aus der Zeit, als Bücher in leeren Pappumschlägen verkauft wurden, die der Käufer nach seinen Wünschen neu binden konnte. Damals konnte man ein Buch nicht anhand seines Einbands erkennen. Seitdem hat sich das Verlagswesen jedoch enorm weiterentwickelt und moderne Verleger unternehmen große Anstrengungen, um sicherzustellen, dass das Cover viel aussagt.
Ich habe viel Zeit in Buchhandlungen verbracht und ich glaube, ich habe gelernt, alles zu verstehen, was die Verleger mir sagen wollen, und vielleicht noch ein bisschen mehr. Die meiste Zeit, die ich außerhalb von Buchhandlungen verbrachte, verbrachte ich vor Computerbildschirmen und ich schätze, dass ich bis zu einem gewissen Grad gelernt habe, Technologie nach ihrem Äußeren zu beurteilen. Vielleicht ist es einfach nur Glück, aber ich habe es geschafft, ein paar Technologien zu vermeiden, die sich als wirklich schlecht herausgestellt haben.
Eine dieser Technologien war für mich Java. Ich habe noch nie ein einziges Programm in Java geschrieben und die Dokumentation nur überflogen, aber ich habe das Gefühl, dass es nicht dazu bestimmt ist, eine sehr erfolgreiche Sprache zu werden. Ich könnte mich irren – Vorhersagen über Technologie zu treffen ist ein gefährliches Geschäft. Und dennoch ist dies in gewisser Weise ein Beweis der Zeit, warum ich Java nicht mag:
- Übereifer. Diese Standards müssen nicht aufgezwungen werden. Niemand hat versucht, C, Unix oder HTML zu fördern. Wahre Standards werden festgelegt, lange bevor die meisten Menschen überhaupt davon erfahren. Auf dem Radar eines Hackers fällt Perl allein aufgrund seiner eigenen Vorzüge genauso auf wie Java.
- Java hat keine hohen Ziele. In der ursprünglichen Beschreibung von Java stellt Gosling ausdrücklich fest, dass Java so entwickelt wurde, dass es für Programmierer, die an C gewöhnt sind, einfach zu bedienen ist. Es wurde als ein weiteres C++ konzipiert: C mit einigen Ideen aus fortgeschritteneren Sprachen. Wie die Macher von Sitcoms, Fast Food oder Reisepaketen haben die Entwickler von Java bewusst ein Produkt für Menschen entwickelt, die nicht so schlau waren wie sie. Historisch gesehen sind Sprachen gescheitert, die für die Verwendung durch andere entwickelt wurden: Cobol, PL/1, Pascal, Ada, C++. Als erfolgreich erwiesen sich jedoch die von den Entwicklern selbst entwickelten Sprachen: C, Perl, Smalltalk, Lisp.
- Versteckte Motive. Jemand hat einmal gesagt, die Welt wäre ein besserer Ort, wenn die Menschen nur dann Bücher schreiben würden, wenn sie etwas zu sagen hätten, anstatt dann, wenn ihnen danach wäre. Der Grund, warum wir ständig von Java hören, liegt auch nicht darin, dass sie uns etwas über Programmiersprachen erzählen wollen. Wir hören von Java als Teil von Suns Plan, es mit Microsoft aufzunehmen.
- Niemand liebt sie. C-, Perl-, Python-, Smalltalk- oder Lisp-Programmierer lieben ihre Sprachen. Ich habe noch nie jemanden seine Liebe zu Java gestehen hören.
- Die Leute sind gezwungen, es zu benutzen. Viele Leute, die ich kenne und die Java verwenden, tun dies aus der Not heraus. Sie glauben, dass sie dadurch Geld bekommen, dass sie ihre Kunden zufriedenstellen oder dass es eine Managemententscheidung ist. Das sind kluge Leute; Wenn die Technologie gut wäre, würden sie sie freiwillig nutzen.
- Dies ist ein Gericht vieler Köche. Die besten Programmiersprachen wurden von kleinen Teams entwickelt. Java wird von einem Komitee verwaltet. Sollte es sich als erfolgreiche Sprache erweisen, wäre es das erste Mal in der Geschichte, dass ein Komitee eine derartige Sprache geschaffen hat.
- Sie ist bürokratisch. Nach dem wenigen, was ich über Java weiß, scheint es, als gäbe es für alles Mögliche eine Menge Protokolle. Wirklich gute Sprachen sind nicht so. Sie lassen Sie tun, was Sie wollen, und stehen Ihnen nicht im Weg.
- Künstlicher Hype. Sun versucht nun vorzutäuschen, dass Java von der Community betrieben wird und ein Open-Source-Projekt wie Perl oder Python sei. Und dennoch wird die Entwicklung von einem riesigen Unternehmen kontrolliert. Die Sprache läuft also Gefahr, die gleiche öde Elendheit zu sein wie alles, was aus den Eingeweiden eines großen Unternehmens kommt.
- Es ist für große Organisationen konzipiert. Große Unternehmen verfolgen andere Ziele als Hacker. Unternehmen wollen Sprachen, die den Ruf haben, für große Teams mittelmäßiger Programmierer geeignet zu sein. Sprachen mit Funktionen wie den Geschwindigkeitsbegrenzern der U-Haul-Trucks, die Idioten davor warnen, zu viel Schaden anzurichten. Hacker mögen keine Sprachen, die von oben herab mit ihnen reden. Hacker brauchen Macht. Historisch gesehen haben Sprachen, die für große Organisationen entwickelt wurden (PL/1, Ada), verloren, während von Hackern entwickelte Sprachen (C, Perl) gewonnen haben. Grund: Der minderjährige Hacker von heute ist der CTO von morgen.
- Sie spricht die falschen Leute an. Die Programmierer, die ich am meisten bewundere, sind im Allgemeinen nicht begeistert von Java. Wer mag sie? Für diejenigen, die den Unterschied zwischen den Sprachen nicht sehen, aber in der Presse ständig von Java hören; Programmierer in großen Unternehmen, die von der Idee besessen sind, etwas Besseres als C++ zu finden; Allesfresser unter den Akademikern, die alles genießen, was ihnen einen Job verschafft (oder sie bei einer Prüfung bestehen lässt). Die Meinungen dieser Leute ändern sich mit der Windrichtung.
- Ihre Eltern haben es schwer. Suns Geschäftsmodell wird von zwei Seiten angegriffen. Günstige Intel-Prozessoren für Desktop-Computer sind mittlerweile schnell genug für ServerUnd FreeBSD scheint sich zu einem ebenso guten Server-Betriebssystem wie Solaris zu entwickeln. Suns Werbung suggeriert, dass man für Unternehmensanwendungen Sun-Server benötigt. Wäre das der Fall, wäre Yahoo der erste Käufer von Sun. Doch als ich dort arbeitete, nutzten sie Intel-Server mit FreeBSD. Das verheißt nichts Gutes für Sun. Und sollte Sun scheitern, könnte das auch Java mit in den Abgrund reißen.
- Liebe zum Verteidigungsministerium. Das Verteidigungsministerium fördert die Verwendung von Java durch Entwickler. Und das scheint das schlimmste Zeichen von allen zu sein. Das Verteidigungsministerium leistet hervorragende (wenn auch teure) Arbeit beim Schutz des Landes und liebt Pläne, Verfahren und Protokolle. Ihre Kultur ist das komplette Gegenteil der Kultur der Hacker. Wenn es um Software geht, neigen sie dazu, auf die falschen Entscheidungen zu setzen. Die neueste Programmiersprache, in die sich das Verteidigungsministerium verliebte, war Ada.
Bitte beachten Sie, dass es sich hierbei nicht um eine Kritik an Java handelt, sondern um eine Kritik an seinem 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 kein Interesse daran habe, Java zu lernen.
Das Verwerfen einer Sprache, ohne auch nur zu versuchen, darin zu programmieren, mag übereilt erscheinen. Aber das müssen alle Programmierer tun. Es gibt zu viele Technologien, um sie alle zu erlernen. Sie müssen lernen, anhand äußerer Anzeichen zu beurteilen, ob sich der Zeitaufwand lohnt. Mit der gleichen Eile habe ich unter anderem Cobol, Ada, Visual Basic, IBM AS400, VRML, ISO 9000, das SET-Protokoll, VMS, Novell Netware und CORBA verworfen. Sie haben mich einfach nicht angesprochen.
Vielleicht irre ich mich bei Java. Vielleicht erweist sich eine Sprache, die von einem großen Unternehmen als Konkurrenz zu einem anderen gefördert, von einem Komitee mit viel Tamtam für die breite Masse entwickelt und vom Verteidigungsministerium geliebt wird, dennoch als eine nette, schöne und leistungsstarke Sprache, in der ich gerne programmiere. Vielleicht. Aber es ist sehr zweifelhaft.
Danke für die Übersetzung: Denis Mitropolsky
PS
Source: habr.com
