Archiv verlassen und diese Seite im Standarddesign anzeigen : Java - Möglichkeiten & Grenzen
Gulliver
28-05-2002, 19:14
Hi,
ich habe mir vor einiger Zeit mal Java-Grundlagen angeeignet.
Nun habe ich mal ein paar Fragen über die Möglichkeiten, oder wahrscheinlich besser Grenzen von Java!
Wäre (theoretisch) möglich, einen WinowManager, bzw. ein komplettes Desktop Environment a la KDE oder GNOME in Java zu schreiben?
Falls es gehen sollte: Würde da eine brauchbare Geschwindigkeit rauskommen?
Vielen Dank schonmal für hoffentliche viele Antworten (c:
Grüße,
Julian
Hi!
Hmm, theoretisch wäre das durchaus möglich!
Du müsstest aber auf die X-Lib mit JNI zugreifen (eine Schnittstelle in Java die den Aufruf von Funktionen aus C-Bibliotheken erlaubt). Es hätte aber sicherlich nicht besonders viel Sinn ;-(. Außerdem wäre das ganze dann nicht mehr plattformunabhängig, aber es wäre auch nicht möglich das mit irgendeiner sprache plattformübergreifend zu machen, da hier auf ziemlich Betriebsystemnahe Dinge zugegriffen werden muss. Und die sind halt bei jedem OS (win98 ;-) ) anders...
Naja, ob bei so einer waghalsigen Unternehmung eine brauchbare Geschwindigkeit herauskommen würde? Ich denke, dass es mit einer normalen Java-Runtime sehr viel Speicher verbraucht werden würde, außerdem rate ich vom SWING ab. SWING ist zwar schön und einfach zu programmieren, aber ist sehr recourcehungrig und der Grund, warum Java oft als so langsam angesehen wird. Aber ich denke, wenn man ein binding wie etwa http://java-gnome.sourceforge.net nehmen würde, würde das schon gehen.
Ach ja, weil ich vorher erwähnt habe, dass eine normlae Java-VM sehr viel Speicher verbaruchen würde: Es gäbe (bei Verwendung von java-gnome - gcj unterstützt noch kein swing oder awt) die Möglichkeit, mittles gcj Java-Apps native zu kompilieren. Also wie ein C-Programm. Dann heißt es zwar nicht mehr "läuft überall" aber "lässt sich überall kompilieren". Außerdem hat gcj einen GarbageCollector (der teil von Java- der den Datenmüll einsammelt und freigibt). Ich glaube, dass java in Verbindung mit gcj die einzige kompilierbare Sprache ist, die dieses Feature besitzt.
Wie gesagt: Theoretisch kannst du mit JNI alles machen, du verliertst dabei aber die Portabilität. Wenns aber nicht um so heikle, systemnahme Dinge geht, hast du mit Java praktisch keine Einschränkungen, obwohl java so leicht zu lernen ist.
Ob die die träge Reaktion von SWING(=Java-Oberfläche) störend findest, bleibt deine Entscheidung.
Viel Glück und Erfolg beim Coden!!
Gulliver
28-05-2002, 20:25
Hi,
klingt ja schonmal ganz interessant (c:
In unmittelbarer Zukunft werde ich aber keine Chance haben sowas mal anzufangen.
Bin im Moment aus beruflichen Gründen sehr knapp mit der Zeit )c:
Allerdings hätte ich nicht geplant ein wirklich plattformunabhängiges System zu entwickeln. Erst recht nicht für Windows (c;
Aber mir gefällt die Sprache an sich recht gut. Derzeit arbeite ich (aus beruflichen Gründen) hauptsächlich mit C#. Und obwohl ich eigentlich strikter Microsoft-Gegner bin, muss ich sagen, dass ist eine tolle Sprache! Gefällt mir sehr gut.
Da C# ja aber unter Linux noch nicht zu gebrauchen ist, währe Java natürlich ein gute Alternative.
Ich werde mich auf jedenfall mal näher damit beschäftigen. Ich habe nämlich seit einiger Zeit eine "Vision" des perfekten Desktop-Environments vor meinen Augen schweben (c:
java-gnome? Hmmm... Der Name stört mich ein wenig *g*. Sind es richtige GNOME-Bindings (sprich die GNOME-Libs werden benötigt) oder sind es in wirklich keit nur schlecht benannte GTK-Bindings?
gcj ist sicherlich auch sehr interessant! Werde ich mir auch mal anschaun.
Aber wie gesagt, vor mitte August, werde ich leider keine Zeit haben mich intensiv damit zu beschäftigen, oder gar ein Projekt zu starten.
Ich hoffe mein Text war nicht zu verwirrend (c;
Grüße,
Julian
anda_skoa
28-05-2002, 21:11
Original geschrieben von Gulliver
Da C# ja aber unter Linux noch nicht zu gebrauchen ist, währe Java natürlich ein gute Alternative.
An welchen Stellen mangelt es im Moment?
Ich hab keinen Überblick über die Mono Fortschritte, hab nur einmal einen Meldung gelesen, das man Mono schon mit dem eigenen C# Compiler kompilieren kann und ein anderes mal, dass es Qt-C# Binfings gibt.
Ich werde mich auf jedenfall mal näher damit beschäftigen. Ich habe nämlich seit einiger Zeit eine "Vision" des perfekten Desktop-Environments vor meinen Augen schweben (c:
Da brauchst außer der Sprache noch ein paar Entwickler :D
java-gnome? Hmmm... Der Name stört mich ein wenig *g*. Sind es richtige GNOME-Bindings (sprich die GNOME-Libs werden benötigt) oder sind es in wirklich keit nur schlecht benannte GTK-Bindings?
Sind sicher echte GNOME bindings.
Es gibt ja auch Qt-Java und KDE-Java Bindings.
Ciao,
_
Gulliver
28-05-2002, 21:21
Original geschrieben von anda_skoa
An welchen Stellen mangelt es im Moment?
Ich hab keinen Überblick über die Mono Fortschritte, hab nur einmal einen Meldung gelesen, das man Mono schon mit dem eigenen C# Compiler kompilieren kann und ein anderes mal, dass es Qt-C# Binfings gibt.
Nun, zum einen machen sehr grundlegende Funktionen, wie z.B. Console.ReadLine() schon Ärger (will zumidest bei mir partout nicht funktionieren)
Zum anderen sind etwas spezieller Klassen noch garnicht implementiert. Einen aktuellen Status gibt es immer auf www.go-mono.com
Die QT und GTK-Bindings habe ich mir noch nicht näher angeschaut!
Aber wie gesagt, ist 'ne super Sprache und ich werde mich auch weiter mit beschäftigen (c:
Original geschrieben von anda_skoa
Da brauchst außer der Sprache noch ein paar Entwickler :D
Das ist wohl war (c;
Original geschrieben von anda_skoa
Sind sicher echte GNOME bindings.
Es gibt ja auch Qt-Java und KDE-Java Bindings.
Ciao,
_
Mal schaun!
Grüße,
Julian
Hi!
Man kann sich bei java-gnome aussuchen, ob man mit den Gnome-Libs (die müssen dann halt installiert sein, schlecht wenn einer KDE nimmt) oder nur java-gtk benutzt. Einfach bei der Kompilation --with-gkt-only angeben, dann müsste es klappen.
Wegen gcj:
Das is ein bisschen kompiliziert. Es ist in wirklichkeit ein umgebauter C++-compilier und ist auch als solcher zu handhaben.......
Hoffe ich ahbe dir helfen können
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.