ubuntuusers.de

Java - Beliebtheit unter Linux?

Status: Gelöst | Ubuntu-Version: Kubuntu 15.10 (Wily Werewolf)
Antworten |

spaghetticode

Anmeldungsdatum:
19. Oktober 2015

Beiträge: 75

Hallo Forum!

Wie im Vorstellungsthread bereits erwähnt, bin ich Hobbyprogrammierer. Das bietet mir auf der einen Seite den Luxus, mit vielen Sprachen rumspielen zu können - dieser Segen ist aber zugleich auch Fluch, denn so richtig auf eine Sprache konzentrieren konnte ich mich in der Vergangenheit nicht.

Die größten Fortschritte habe ich mit Python gemacht, da habe ich es bis zu einem recht netten und schmucken Hangman auf Basis von PyQt gebracht. Aber so viel Spaß Python auch macht und so schön die Syntax auch ist, irgendwie reizt es mich auch mal, ein größeres Programm mit einer etwas weniger komfortablen Sprache auf die Beine zu stellen. C und C++ machen mir trotz ihrer Macken und rough edges sehr viel Spaß, aber mit meiner knapp bemessenen Zeit und der doch recht steilen Lernkurve bin ich da noch nie an einen Punkt gekommen, an dem ich mich für ein real life Projekt gerüstet gefühlt habe.

Mit Java habe ich ab und zu gespielt, das scheint mir für meine Wünsche ein recht guter Kompromiss zu sein - die Syntax ist zumindest annähernd C-/C++-ähnlich, aber der Weg zum benutzbaren Programm ist nicht ganz so weit wie mit C oder C++. (Ach so, falls das nicht klar geworden ist, das Fernziel ist schon eine GUI-Anwendung, kein Konsolentool. Nicht, weil ich das langweilig finde, aber die Projektideen, die mich interessieren würden, machen nur als GUI-Anwendung wirklich Sinn.)

Nun habe ich aber immer das Gefühl, dass Java unter Linux ein Bürger zweiter Klasse ist und nicht besonders gern gesehen wird. Ich meine - mal alle theoretischen Machbarkeitsüberlegungen beiseite gestellt, ernsthaft, kennt irgendjemand ein real existierendes größeres Java-Programm, dass unter Linux wirklich genutzt wird? Minecraft zählt nicht. 😉

Ich hätte gern mal ein paar Einschätzungen - wie lohnenswert ist die Konzentration auf Java, wenn man unter Linux für Linux entwickeln möchte?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

Hallo,

spaghetticode schrieb:

kennt irgendjemand ein real existierendes größeres Java-Programm, dass unter Linux wirklich genutzt wird? Minecraft zählt nicht. 😉

Was heißt größer? Die "Größe" eines Programms kommt von seiner Funktionalität für die gewünschte Aufgabe 😉 Mit GUI wären das bei mir vor allem die zwei:

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

spaghetticode schrieb:

kennt irgendjemand ein real existierendes größeres Java-Programm, dass unter Linux wirklich genutzt wird?

Du kannst diese Liste ja mal selbst durchschauen. Viele Programme decken Bereiche ab, fuer die es keine Alternative (unter Linux) gibt.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Hi.

Riesige Javaprogramme: Eclipse, LibreOffice.

C++ mit entsprechenden Bibliotheken ist mindestens genauso einfach und Plattform unabhängig wie Java. QT, Boost, ...

XM-Franz

Supporter
Avatar von XM-Franz

Anmeldungsdatum:
15. Juni 2010

Beiträge: 3439

Wohnort: Moers

  • JOSM, Offline-Editor für OpenStreetMap

Reinarden

Anmeldungsdatum:
29. September 2014

Beiträge: 1044

Die Distanz vieler Freunde von Quelloffenheit gegenüber Java dürfte mit der ehemals geschlossenen Lizenz zu tun haben, die noch heute für Oracles Binärversion der Java-VM gilt. Doch seit Herr Schwarzt von SUN damals als letzten großen Streich vor Oracles feindlicher Übernahme den Java-Quellcode freigab, kann jeder ein freies Java einsetzen, wie die Referenz-Implementierung OpenJDK, womit auch Linux-Liebhaber offener für Java wurden.

spaghetticode schrieb:

kennt irgendjemand ein real existierendes größeres Java-Programm, das unter Linux wirklich genutzt wird?

Einige Vorredner nannten schon einige wichtige große Java-Anwendungen. Die folgenden möchte ich noch hinzufügen:

* Das Riesenprogramm Netbeans, welches reines Java ist und daher perfekt unter Linux und anderen Unix-Systemen läuft.

* Geogebra ist ein „Riesen“-Mathematik-Programm aus Österreich für Schüler, Studenten und Lehrer (und in Ubuntus Software-Zentrum enthalten).

* Freemind ist ein sehr edles „Mind-Map“-Programm (und in Ubuntus Software-Zentrum enthalten).

* Jedit ist vielleicht kein Riesenprogramm, aber eines der edelsten Programmier- und Texteditoren, die ich kenne (und in Ubuntus Software-Zentrum enthalten).

* JAP / Jondo ist zwar kein Riesenprogramm, aber auf seinem Einsatzgebiet „riesig“.

* Vuze / Azure ist ein recht beliebter, umfangreicher Bitorrent-Client (und in Ubuntus Software-Zentrum enthalten).

* uam.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13202

stfischr schrieb:

C++ mit entsprechenden Bibliotheken ist mindestens genauso einfach und Plattform unabhängig wie Java. QT, Boost, ...

Da stimme ich nicht zu. Allein Templates machen C++ erheblich komplexer. Dann kommt noch dazu, dass die Java-Standardbibliothek (also die, die bei jeder Installation dabei ist) einen sehr großen Umfang abdeckt, den man m.W. unter C++ nur mit mehreren externen Bibliotheken hinbekommt. Und das bringt dann die üblichen Probleme von Abhängigkeiten und Versionen ins Spiel.

Zusätzlich zu den schon genannten Anwendungen ist Java auf der Server-Seite immer noch sehr beliebt.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17618

Wohnort: Berlin

Beliebt ist Java unter Linux nicht sehr, aber diese Unbeliebtheit basiert nicht auf Fakten wodurch sich aber kaum jemand stören lässt.

Weit verbreitet ist Java v.a. auf dem Server, wo Du ja nicht hinstrebst, aber einige größere GUI-Projekte wie Eclipse sind ja bereits genannt worden.

Ich kann Dich auch ermutigen das auszuprobieren.

Riesige Javaprogramme: Eclipse, LibreOffice.

Für LibreOffice stimmt diese Aussage nicht. Man kann Java komplett deinstallieren und bekommt in LibreOffice nicht mal eine Warnung angezeigt, zumindest als ich das mal probierte. Es ist eine winzige Ecke eines Randprogramms, die Java nutzt. Der Hauptteil von LO ist mit was anderem geschrieben.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17618

Wohnort: Berlin

stfischr schrieb:

Hi.

Riesige Javaprogramme: Eclipse, LibreOffice.

C++ mit entsprechenden Bibliotheken ist mindestens genauso einfach und Plattform unabhängig wie Java. QT, Boost, ...

Im Sinne von "write once, compile everywhere". 😉

homer65

Avatar von homer65

Anmeldungsdatum:
8. November 2005

Beiträge: 577

Wohnort: bochum, germany

Nutze auch Java unter Linux. Man kann damit z.B. wunderbar Webanwendungen programmieren. Oder GUI auf dem Desktop gehen mit Swing. Wobei allerdings Swing zugunsten von JavaFX aus der Mode kommen soll.

spaghetticode

(Themenstarter)

Anmeldungsdatum:
19. Oktober 2015

Beiträge: 75

Ich bedanke mich schonmal für die vielen Beiträge. Da scheint es ja doch einiges zu geben. Dass TV Browser Java ist, wusste ich zum Beispiel gar nicht. JabRef sieht auch sehr gut aus. JEdit kannte ich zwar, es war aber in meinem Hinterkopf irgendwo verschütt gegangen. Ich denke da nochmal drüber nach.

Plattformunabhängigkeit spielt für mich übrigens keine Rolle. Ich will und werde nur für Linux programmieren.

Dass C++ mit Qt nicht mit "reinem" C++ vergelichbar ist, ist mir klar, und dass es dank QtDesigner & Co. sogar recht bequem sein kann auch. Mit den Qt-Tools habe ich ja unter Python und PyQt auch gearbeitet. Aber ich bin in den Grundlagen von C++ nie wirklich so weit gekommen, dass eine nähere Beschäftigung mit Qt überhaupt Sinn macht.

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

rklm schrieb:

Da stimme ich nicht zu. Allein Templates machen C++ erheblich komplexer.

Naja Templates sind nen Konstrukt, der ein wenig Quellcode einsparen kann aber nix, ohne das es nicht geht.

Dann kommt noch dazu, dass die Java-Standardbibliothek (also die, die bei jeder Installation dabei ist) einen sehr großen Umfang abdeckt, den man m.W. unter C++ nur mit mehreren externen Bibliotheken hinbekommt.

Ich habe ja schon 2 genannt, mit denen man so ziemlich das wichtigste abdecken kann.

Und das bringt dann die üblichen Probleme von Abhängigkeiten und Versionen ins Spiel.

Wenn ich das Funktionsportfolio von Java tatsächlich ausnutze, bin ich auch an (Java)Versionen gebunden und an diverse Zusatzbibliotheken oder an CPU-Architekturen (meine Lieblingsmeldung: sie benötigen eine 32 Bit Java Version). Dann kommt noch Swing mit dem hässlichem GUI, dass sich nicht integrieren will und swt welches es nur etwas besser macht (eventuell veraltete Aussage). Mit ISO-C++ und ner portablen GUI-Bibiliothek ist Portabilität überhaupt kein Akt (gut ein wenig Erfahrung vorausgesetzt) und nicht wesentlich komplexer als Java.

Nicht Falsch verstehen, Java ist ne tolle Sprache und ich habe früher gerne damit gearbeitet. Solange das Ziel jedoch ein Programm ist und nicht das Erlernen der Sprache, würde ich immer die Sprache verwenden, die ich besser beherrsche. Was im Falle des TE wohl Python ist?

spaghetticode

(Themenstarter)

Anmeldungsdatum:
19. Oktober 2015

Beiträge: 75

stfischr schrieb:

Solange das Ziel jedoch ein Programm ist und nicht das Erlernen der Sprache, würde ich immer die Sprache verwenden, die ich besser beherrsche. Was im Falle des TE wohl Python ist?

Ja, das ist ganz eindeutig Python. ☺ Und das Ziel ist auch primär ein Programm, aber sekundär eben auch "mal was weniger komfortables als Python". Es ist mein Hobby und ich habe keine externen Anforderungen, nur meine eigene Neugierde und den Spaß am Programmieren. Der professionelle Entwickler ist wahrscheinlich immer bestrebt, sich selbst so wenig Arbeit wie möglich zu machen und wird deshalb zu der Sprache greifen, die für sein Projekt die bequemsten Abstraktionen bereitstellt. Bei mir ist es eher andersrum: Ich will aus reinem Interesse und Spaß an der Sache im Abstraktionslevel ein Stück "hinunter" - allerdings ist mein Freizeitkontigent für C++ irgendwie zu knapp bemessen. Daher meine Überlegungen, mich doch ein bisschen mehr auf Java zu konzentrieren, so als "halbe Strecke"-Kompromiss zwischen C++ und Python.

Trotz allem "ich mache das nur für mich" habe ich aber durchaus Projekte im Hinterkopf, die ich gern entwickeln würde und von denen ich mich natürlich freuen würde, wenn sie irgendwann auch mal genutzt würden. Wenn der durchschnittliche Linux-Nutzer das Java-Programm meidet wie der Teufel das Weihwasser, würde ich damit also nicht unbedingt glücklich werden. 😉

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Ich hab kein Java installiert. Im Moment würd ich das nur für OpenOffice brauchen, was ich aber gar nicht bzw. wenn dann nur als DOC-Viewer benutze.

Es gibt jedoch sehr schöne Sachen in Java (z.B. cgoban) und wenn ich sowas aktiv nutzen wollte würde ich auch wieder Java installieren.

Solange es davon keinen Klon in Python / PyQt gibt. 😉

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

spaghetticode schrieb:

Ich will aus reinem Interesse und Spaß an der Sache im Abstraktionslevel ein Stück "hinunter" - allerdings ist mein Freizeitkontigent für C++ irgendwie zu knapp bemessen.

Wie wäre es alternativ mit C? Damit bist du schön nah am System mit relativ geringer Abstraktion. Außerdem könntest du später deine C-Fähigkeiten bei Bedarf auch zum Erstellen von Extension-Modulen in Python einsetzen, da diese (zumindest unter CPython) bekanntlich in C geschrieben werden müssen, sofern man direkt mit der Python-API arbeiten möchte.

Antworten |