Ich hasse Java

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Krishty »

Zuletzt geändert von Chromanoid am Sa 5. Mär 2011, 10:36, insgesamt 2-mal geändert.
Grund: Habe das mal in das passende Thema verschoben ;).
Warum besudelt ihr meinen Thread mit Flammen
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Ich hasse Java

Beitrag von Chromanoid »

Das ist eine strategische Vorbereitung darauf diesen Thread löschen zu dürfen :D :D
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Top-OR »

@Krishty: you made my day.

Beruflich programmiere ich (u.A.) auch Java. Mein Chef kommentiert meine zeitweiligen "Wutausrufe aus dem Nichts gegenüber Java" immer mit meiner persönlichen Unfähigkeit. Naja, vielleicht hat er ja recht, aber auch in meiner naiven nichtswissenden Sichtweise muss und möchte ich trotzdem sagen: "Java ist (oft) ein Arsch!" Hähääääää, dem hab ichs aber gezeigt. ^^

In diesem Sinne: Danke für diesen Thread!
--
Verallgemeinerungen sind IMMER falsch.
anonym
Beiträge: 79
Registriert: 15.07.2009, 07:35
Kontaktdaten:

Re: Ich hasse Java

Beitrag von anonym »

Aus der Java-Spezifikation ein C-Negativbeispiel:

Code: Alles auswählen

int q = (n+7)/8;
switch (n%8) {
case 0: do {foo();
case 7: foo();
case 6: foo();
case 5: foo();
case 4: foo();
case 3: foo();
case 2: foo();
case 1: foo();
} while (--q > 0);
}
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Aramis »

Arg, wer hat da Duff's Device so massakriert?

Ich wollte eben eine von der Funktionalitaet her aequivalente Implementierung in Java posten, aber sie ist leider ueber 12500 einzelne Klassen und Interfaces verstreut und laeuft ausserdem nur als Enterprise Java Bean :-)
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Ich hasse Java

Beitrag von CodingCat »

Haha, sehr schön, man braucht es zwar praktisch nie, schon gar nicht, wenn man nur Java-Performance anstrebt, aber weil es in Java nicht möglich ist, ist es ein C-Negativbeispiel. Propaganda überall....
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Krishty »

seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Top-OR »

Krishty hat geschrieben:http://blog.fefe.de/?ts=b36e65a8
Ist CSS was für Püppies oder blockt mein Browser das weg? Meine Augen bluten ...
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Krishty »

Minimalauslegung, siehe FAQ. Vielleicht gefällt es dir ja so besser? :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Top-OR
Establishment
Beiträge: 330
Registriert: 02.03.2011, 16:32
Echter Name: Jens H.
Wohnort: Esslingen/Dessau
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Top-OR »

Oh ja schon viel besser, danke! Jetzt versteh ichs auch ... komisch. :-P

Muss wohl ein quantenmechanischer Effekt sein.
--
Verallgemeinerungen sind IMMER falsch.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Krishty »

Java update.png
Läuft überall. Aber mit jeder Aktualisierung anders.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dv
Beiträge: 51
Registriert: 15.09.2002, 17:46
Benutzertext: Ugauga.
Alter Benutzername: dv
Wohnort: Südamerikanischer Dschungel
Kontaktdaten:

Re: Ich hasse Java

Beitrag von dv »

Wie ich höre, kriegt Java 7 endlich Lambdas (hey, selbst C++ hat die schon..)
Implementierung: http://openjdk.java.net/projects/lambda/

Dann sehe ich das: http://cr.openjdk.java.net/~briangoetz/ ... ate-3.html
Und ich denke mir:
Bild
bei den Kompromissen, die sie da nehmen müssen, weil die Sprache so fest verankert ist in der Welt der nominativen Typisierung. Man muß wieder irgendwelche Interfaces definieren/verwenden, die eine Methode beinhalten (Comparable zB). Lambdas sind also nur Syntax Sugar, um sich das explizite Erzeugen anonymer Klassen usw. zu ersparen. Funktionstypen per se existieren weiterhin nicht.

C# hat Delegates (und im übrigen kein Type Erasure, welches auch ein Riesenproblem von Java ist). C# hat auch bereits Lambda, und das betreibt keinen solchen Unsinn.

C++ hat Funktionspointer, Methodenpointer, Funktoren, sowie eine generische Kapselung dieser Drei unter dem Namen "Function Objects". Siehe boost.function bzw. tr1 function. Wenn man das mal verwendet hat, will es nicht missen. C++0x führt auch lambda-Ausdrücke ein, welche zwar ebenfalls nur Syntax Sugar für das Definieren eines Funktors, jedoch viel mächtiger sind als Java-Lambda, da es eben in C++ Function Objects gibt.

Von den dynamischen Sprachen (Python, Ruby, Javascript ..) gar nicht zu reden.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Ich hasse Java

Beitrag von Chromanoid »

Naja Sachen wie Type Erasure und das ganze nur als "Syntax Sugar" umzusetzen haben ja schon ihren Grund. Wenn man das einfach so fallen lässt, kann man gleich ne neue Sprache entwickeln.
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Aramis »

Wenn man das einfach so fallen lässt, kann man gleich ne neue Sprache entwickeln.
Stimmt, wieso hat man das nicht schon lange getan? Ach moment, ich sehe gerade, man hat es ja getan und das sogar schon ziemlich oft :-)
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Ich hasse Java

Beitrag von Chromanoid »

Exakt. Und trotzdem ist Java noch ziemlich angesagt. Scala Evangelisten beschwören jetzt schon ziemlich lange die Entwicklergemeinschaft. Auch die C# Vertreter sind ja nicht auf den Mund gefallen. Java wird weiterhin sehr gerne eingesetzt und das trotz der Verwendbarkeit von Java Bibliotheken in Scala und ähnlichen Bemühungen.
Benutzeravatar
captain
Beiträge: 25
Registriert: 25.03.2002, 11:49
Wohnort: berlin
Kontaktdaten:

Re: Ich hasse Java

Beitrag von captain »

Ich dachte die Lambdas wären auf Java 8 verschoben worden - und nicht in Java 7 enthalten, das in ein paar Tagen erscheint?!

Ach egal, bin auch schon auf Groovy umgeschwenkt...
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Ich hasse Java

Beitrag von Chromanoid »

ja da hast du glaube ich recht. insgesamt kommt gar nicht viel dazu. spontan fällt mir try with resources (wohl die nützlichste neuerung), switch mit strings und catchen von ähnlichen exceptions in einem block ein.
Benutzeravatar
dv
Beiträge: 51
Registriert: 15.09.2002, 17:46
Benutzertext: Ugauga.
Alter Benutzername: dv
Wohnort: Südamerikanischer Dschungel
Kontaktdaten:

Re: Ich hasse Java

Beitrag von dv »

Chromanoid hat geschrieben:Exakt. Und trotzdem ist Java noch ziemlich angesagt. Scala Evangelisten beschwören jetzt schon ziemlich lange die Entwicklergemeinschaft. Auch die C# Vertreter sind ja nicht auf den Mund gefallen. Java wird weiterhin sehr gerne eingesetzt und das trotz der Verwendbarkeit von Java Bibliotheken in Scala und ähnlichen Bemühungen.
Java wird mMn aus folgenden Gründen eingesetzt:
  • es gibt eine Riesenmenge an Javaprogrammierern
  • der Mythos, daß Java alle Speicher- und Ressourcenleakprobleme löst, hält sich hartnäckig
  • man kann Java gut zusammen mit CASE-Tools einsetzen (ob diese überbewertet sind, ist eine andere Diskussion)
  • vor allem im Serverbereich gibt es bereits riesige Javacodebases, die man nicht so einfach auf irgendwas anderes umstellen kann/will (da es eine Menge Geld kostet)
  • für Android entwickelt man in Java (allerdings ist es auch möglich, native Apps zu entwickeln)
Das alles sind natürlich verständliche, pragmatische Gründe, die jedoch keine Argumentation für die Sprache selbst liefern. Und da es ist nunmal nicht zu übersehen, daß Java von C# in Punkto Features überholt wurde, genau wie von fast allen anderen Sprachen (ja, auch von C++). Wir reden hier nicht von reinem Syntaxsugar, sondern von doch recht schwerwiegenden Dingen wie eben schon genannt die Delegates, Lambda, Closures, echte Generizität.

Merke: wir reden hier nicht von "coolness". Es ist nicht "cool", wenn eine Sprache Lambda hat zB - es ist ein essentielles Feature heutzutage. Ruby gilt als "cool". Und diese Einstellung ist es, die dafür sorgt, daß die Qualität vieler Rubyprojekte ... bedenklich ist. Dokumentation inklusive dokumentierte Grenzfälle, ausgiebiges Testen, was ist das - aber hauptsache, der Code verwendet Rubyfeatures in einer originellen Art und Weise, mit der man angeben kann...
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Ich hasse Java

Beitrag von Chromanoid »

Ich halte Java für wesentlich verständlicher und leichter zu lernen als die meisten anderen Sprachen. Verzichtet man auf Generics (die ja auch nicht besonders kompliziert sind), kann man das ganze ziemlich schnell erklären.
Java ist ziemlich performant und kommt bei diversen Benchmarks meist direkt hinter den nativen Sprachen (auf Unix Systemen) siehe z.B. http://shootout.alioth.debian.org/
Java wird durch sehr viele Firmen sehr gut unterstützt. GWT, Android und andere Java-Entscheidungen von Google zeigen, dass Java auch auf längere Sicht als eine Sprache der Wahl betrachtet wird.

Aber selbst wenn Java irgendwann ins Abseits gerät, bleibt die JVM eine der besten VMs auf dem Markt. Viele Java Alternativen wie Scala, JRuby, Jython, Clojure, Groovy usw. laufen auf ihr, daher ist Java Knowhow nie falsch, denn das meiste lässt sich auf andere Sprachen übertragen.

Die größten Vorteile, die ich persönlich von Java habe, sind die extrem riesige gut lesbare Codebase im Enterprise-Bereich, die bequemen IDEs, Test- und Build-Systeme (ja mit Maven konnte ich mich jetzt auch anfreunden und bin begeistert davon :)) und natürlich der tägliche Umgang damit (im Job). Die riesige Codebase kann es nicht allein ausmachen, da man mit Scala und Co. diese Codebase nutzen kann.

Clientseitig finde ich WPF oder Flash besser. Für Spiele werde ich wohl nur noch Flash (oder UDK/Unity) benutzen und bei anderen Anwendungen bin ich mir nicht sicher. Mal sehen was jetzt aus JavaFX und anderen Databinding Geschichten für Java wird. Ich bin mir aber sowieso nicht sicher, ob ich mich da überhaupt entscheiden muss. Wenn es eine wirklich große Anwendung werden soll, würde ich wohl eher auf Eclipse oder Netbeans SDKs setzen und bei kleineren Sachen ist GWT (im Grunde ja eigentlich auch eher Client als Webseite) meine Wahl.

BTW hier mal eine interessante Sache zu Oracle vs Google http://java.dzone.com/news/oracle-v-google-possible
Und hier nochmal die Neuerungen im Überblick: http://java.dzone.com/articles/moving-java-forward
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Krishty »

Wenn wir hier mit Performance und Coolness argumentieren, sollte ich wohl alles nur noch in Assembler schreiben.

Wiedemauchsei – ich hatte beim letzten Mal noch was vergessen:
pass-by-value.jpg
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Ich hasse Java

Beitrag von CodingCat »

Und Krishty war so nett, mir auch noch welche zu machen: :D
null9ux4[1].jpg
finalizers3uqm[1].jpg
synchronized5uv6[1].jpg
Zuletzt geändert von CodingCat am 13.07.2011, 21:09, insgesamt 1-mal geändert.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Ich hasse Java

Beitrag von Chromanoid »

Bild ;)
j.klugmann
Establishment
Beiträge: 201
Registriert: 07.07.2010, 13:00
Kontaktdaten:

Re: Ich hasse Java

Beitrag von j.klugmann »

dv hat geschrieben:
Chromanoid hat geschrieben:Exakt. Und trotzdem ist Java noch ziemlich angesagt. Scala Evangelisten beschwören jetzt schon ziemlich lange die Entwicklergemeinschaft. Auch die C# Vertreter sind ja nicht auf den Mund gefallen. Java wird weiterhin sehr gerne eingesetzt und das trotz der Verwendbarkeit von Java Bibliotheken in Scala und ähnlichen Bemühungen.
Java wird mMn aus folgenden Gründen eingesetzt:
  • es gibt eine Riesenmenge an Javaprogrammierern
  • der Mythos, daß Java alle Speicher- und Ressourcenleakprobleme löst, hält sich hartnäckig
  • man kann Java gut zusammen mit CASE-Tools einsetzen (ob diese überbewertet sind, ist eine andere Diskussion)
  • vor allem im Serverbereich gibt es bereits riesige Javacodebases, die man nicht so einfach auf irgendwas anderes umstellen kann/will (da es eine Menge Geld kostet)
  • für Android entwickelt man in Java (allerdings ist es auch möglich, native Apps zu entwickeln)
Das alles sind natürlich verständliche, pragmatische Gründe, die jedoch keine Argumentation für die Sprache selbst liefern. Und da es ist nunmal nicht zu übersehen, daß Java von C# in Punkto Features überholt wurde, genau wie von fast allen anderen Sprachen (ja, auch von C++). Wir reden hier nicht von reinem Syntaxsugar, sondern von doch recht schwerwiegenden Dingen wie eben schon genannt die Delegates, Lambda, Closures, echte Generizität.

Merke: wir reden hier nicht von "coolness". Es ist nicht "cool", wenn eine Sprache Lambda hat zB - es ist ein essentielles Feature heutzutage. Ruby gilt als "cool". Und diese Einstellung ist es, die dafür sorgt, daß die Qualität vieler Rubyprojekte ... bedenklich ist. Dokumentation inklusive dokumentierte Grenzfälle, ausgiebiges Testen, was ist das - aber hauptsache, der Code verwendet Rubyfeatures in einer originellen Art und Weise, mit der man angeben kann...
Ich bin mir nicht so sicher, ob man C++ wirklich da vergleichen kann. Kein Compiler ist irgendwie wirklich (hoffentlich bald Standard) konform. Allerdings wenn man nach Coolness-Faktor geht, dann muss man Haskell nehmen. Da bekommt man richtige Lambdas, anstatt nur so pseudo-Dinger.
Imaging-Software und bald auch Middleware: http://fd-imaging.com
RedGuy
Establishment
Beiträge: 117
Registriert: 17.09.2002, 17:27
Echter Name: Manuel Hofmann
Wohnort: Rottweil
Kontaktdaten:

Re: Ich hasse Java

Beitrag von RedGuy »

Hi !

Hihi ! Hab mal diesen alten Thread rausgekramt.

Ursprünglich fand ich Java auch schlecht (und zwar so, dass es mit dem Thread - Topic korreliert :D ). Grundsätzlich ist meine Lieblingssprache C#.

In letzter Zeit hat sich meine Meinung zu JAVA etwas verändert. Ich finde nun, dass es ist eine gute Alternative zu C# ist, welche allerdings nicht an C# rankommt. So.


Ich finde die GUI - Programmierung unter JAVA sehr ätzend.


Gruss
RedGuy
Benutzeravatar
Jonathan
Establishment
Beiträge: 2545
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Jonathan »

Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
xq
Establishment
Beiträge: 1589
Registriert: 07.10.2012, 14:56
Alter Benutzername: MasterQ32
Echter Name: Felix Queißner
Wohnort: Stuttgart & Region
Kontaktdaten:

Re: Ich hasse Java

Beitrag von xq »

Absolut. Immer wieder unterhaltsam, durchzulesen.... Ich sollte davon ein paar im Büro aufhängen
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…

Programmiert viel in ⚡️Zig⚡️ und nervt Leute damit.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2545
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Ich hasse Java

Beitrag von Jonathan »

alle über git :D
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten