Programmieren mit Java??


Joker

Well-Known Member
Joined
Mar 10, 2003
Messages
2,423
Kann man mit Java eigentlich Programme für den GP2x programieren?
 
Leider nicht, es KÖNNTE zwar sein, dass jemand eine der freien Implementationen portiert, aber ich würde da ehrlich gesagt nicht drauf setzen.
 
Hmm, waere natuerlich witzig, wenn jemand Java auf den GP2x portieren wuerde (Python gibts ja schliesslich auch schon). Genug Speicher und Rechenpower hat er ja auch und da es ein paar gute offene VMs gibt, sollte das auch moeglich sein:

JamVM - http://jamvm.sourceforge.net/
SableVM - http://sablevm.org/ (AFAIK hat die SableVM sogar einen JIT-Compiler fuer ARM Prozessoren)
 
Rein technisch... Warum nicht? Auf Handys läuft ja auch Java...
Und was die können, kann der gp2x schon lange!

(Na gut... Telefonieren vielleicht nicht ;) )
 
Du meinst sowas wie: "Äh ja, der Tomcat braucht mindestens 1GB RAM damit ers tut wie ein Apache" Java?

Ich persönlich mag bei Handhelds so ein komisches "Java" nicht. Man kann zwar schnelle Programme schreiben, aber Java braucht endlos viel RAM egal was man macht...
 
kilroy said:
Du meinst sowas wie: "Äh ja, der Tomcat braucht mindestens 1GB RAM damit ers tut wie ein Apache" Java?

Ich persönlich mag bei Handhelds so ein komisches "Java" nicht. Man kann zwar schnelle Programme schreiben, aber Java braucht endlos viel RAM egal was man macht...
Das musst mir jetzt erklären wie du das meinst, weil irgendwie glaub ich, du hast keine Ahnung wovon du redest ;)
Wenn du mit "Apache" den Webserver meinst und damit behauptest, dass der Tomcat ein reiner Webserver ist, dann hast dich nämlich geschnitten. Weil letzteres ist nämlich ein Application Container und damit viel viel mehr. Und dass Java viel RAM brauchen muss is ausgemachter bullshit, schau dir doch die ganzen J2ME Implementierungen auf den Handys an, wo hätten die denn den ganzen RAM versteckt *g*? Und nur zur Zusatzinfo, man kann einen Tomcat auf einem IPaq performant zum Laufen bringen, alles kein Problem, hat einen Memory Footprint von grade mal 5MB...

Ich persönlich würd mich _sehr_ über eine JAVA VM (J2SE wär natürlich ein Traum aber J2ME wär schon ausreichend) freuen, dann könnt ich mich nämlich auch an der Entwicklung beteiligen :)
 
hab mal auch bei gp32x angefragt...

<r>da gibts nämlich schon einen thread zu Java<br/>
<URL url="http://www.gp32x.com/board/index.php?showtopic=23177&hl="><LINK_TEXT text="http://www.gp32x.com/board/index.php?sh ... =23177&hl=">http://www.gp32x.com/board/index.php?showtopic=23177&hl=</LINK_TEXT></URL></r>
 
@Nagelfar: Ok, Apache2 mit mod_php z.B., wobei ich fastcgi/python/apache2 bevorzuge. der "memory footprint" ist bei "full featured" Java deutlich höher.

Und 5MB nennts du "light weighted"? So viel RAM haben die meisten Pocket PCs von früher nicht gehabt... Ich habe Palm Programme geschrieben, die das gleiche machen wie ein kleines Java Programm und 5kb brauchen :)

Ernsthaft: Ich bin kein Feind von Java - habe es ja auch zwei Jahre programmiert und finde es an manchen Stellen gut gelungen - aber als "resourcenschonend" kann man das nicht wirklich titulieren. Vergleiche einfach ein Hello World Programm im Memory Footprint...

Und die Java Dinger, die ich auf Nokia, Siemens und SonyE Handys gesehen habe, sind langsamer als die Palm Applikationen (Handys: 200-400Mhz, Palm:16Mhz) ...

Wie gesagt, bin kein Java Feind, aber "lightweighted" ist Java mitnichten :)
 
kilroy said:
@Nagelfar: Ok, Apache2 mit mod_php z.B., wobei ich fastcgi/python/apache2 bevorzuge. der "memory footprint" ist bei "full featured" Java deutlich höher.
Du vergleichst Äpfel mit Birnen. Erst vergleichst du einen normalen Webserver mit einem Applicationserver, wenn man dich dann auf den Fehler aufmerksam machst kommst du auf einmal mit mod_php bzw. python daher. Ich unterstell dir jetzt, dass du keine Ahnung hast, was wirklich mit einem Tomcat vor allem im J2EE Bereich möglich ist weil du noch nie etwas in diesem Bereich Stichwort struts ähnliche Frameworks und Enterprise Java Beans gemacht hast, hab ich recht? Ich unterstell dir jetzt auch, dass du vielleicht zwar 2 Jahre im Java Bereich programmiert hast aber da maximal entweder für das Studium oder im Client (AWT, Swing) Bereich, der nicht die Stärke von Java ist.
Und 5MB nennts du "light weighted"? So viel RAM haben die meisten Pocket PCs von früher nicht gehabt... Ich habe Palm Programme geschrieben, die das gleiche machen wie ein kleines Java Programm und 5kb brauchen :)
Wo hab ich dich den Begriff "light weighted" verwendet? Auch hier verdrehst du wieder Tatsachen. Ich hab geschrieben, dass ein Tomcat auf einem IPaq durchaus in 5MB laufen kann, das find ich dann doch ziemlich beeindruckend. Und um deine polemischen Methoden zu verwenden: Das will ich sehen, dass du das in 5kb schaffst.
"resourcenschonend" kann man das nicht wirklich titulieren. Vergleiche einfach ein Hello World Programm im Memory Footprint...
Ich hab es auch nicht als das bezeichnet. Ich hab gesagt, dass auf den heutigen Handhelds auch Java mittlerweile vernünftig läuft. Vor allem, was die bestrebungen mancher Leute angeht, VMs mit geringerem Footprint zu entwickeln. Schau dir mal z.B. eine JamVM an und dann reden wir weiter.
Und die Java Dinger, die ich auf Nokia, Siemens und SonyE Handys gesehen habe, sind langsamer als die Palm Applikationen (Handys: 200-400Mhz, Palm:16Mhz) ...
Hab mir jetzt die Mühe gemacht und mir die Prozessordaten einiger aktueller Modelle herausgesucht (http://www.allaboutsymbian.com/forum/showthread.php?t=34921) die meisten haben ARMs mit max. 150 MHz, wie du also auf deine 2-400 kommst ist mir unbegreiflich. Dadurch sprech ich dir auch deine Glaubwürdigkeit ab was diese Vergleiche angeht, wie haben die denn ausgsehen, was für Applikationen hast du wie verglichen, wie waren denn die dabei gewonnen Daten?
Wie gesagt, bin kein Java Feind, aber "lightweighted" ist Java mitnichten :)
Wie gesagt ich bin Java Freund, würde trotzdem Java nicht als lightweighted bezeichnen hab aber dieses unfundierte grundsätzliche Java Bashing gründlich satt. Deshalb auch der scharfe Ton dieses Postings. Bring (aktuelle) Fakten (nicht irgendwelche Zahlen von 1999), bring Argumente, dann haben wir eine Diskussionsgrundlage, aber so sicher nicht.
 
Du vergleichst Äpfel mit Birnen. Erst vergleichst du einen normalen Webserver mit einem Applicationserver, wenn man dich dann auf den Fehler aufmerksam machst kommst du auf einmal mit mod_php bzw. python daher. Ich unterstell dir jetzt, dass du keine Ahnung hast, was wirklich mit einem Tomcat vor allem im J2EE Bereich möglich ist weil du noch nie etwas in diesem Bereich Stichwort struts ähnliche Frameworks und Enterprise Java Beans gemacht hast, hab ich recht?

Ja, ich habe noch fast nichts mit Java Beans gemacht, da ich aber nicht annahm, das deine 5MB Vergleiche auf Java Beans zielten... Ich weiss sehr wohl, was man alles mit Java Beans machen kann und finde auch speziell die Reflection von Java in diesem Sinne toll...

ABER: einen webserver mit einer sprache und einem framework (nichts anderes ist PHP mit einem beliebigen framework) zu vergleichen mit dem Tomcat ist nicht wirklich was anderes. Auch ich kann mir Bibliotheken reinladen wie ich will und in Windeseile Sachen zusammenschustern bzw. das/die PEAR benutzen... Ich sehe da jetzt spontan überhaupt nichts, was der Tomcat besser könnte.

Persistent data und session caching kann mod_php auch, mit einem beliebigen accelerator auch richtig flott und mit minimal Speicher...
Ich unterstell dir jetzt auch, dass du vielleicht zwar 2 Jahre im Java Bereich programmiert hast aber da maximal entweder für das Studium oder im Client (AWT, Swing) Bereich, der nicht die Stärke von Java ist.

Urgh, AWT. Ja, habe ich mal. Hauptsächlich habe ich mit Reflection gearbeitet - es ging darum, in Java ein Bild"weiter"verarbeitungssystem zu entwickeln mit dynamischen Plugins, die zur Laufzeit nachgeladen werden mit definierten Schnittstellen (klingt nach Beans...).

Und da wir an jeder Ecke Speicher sparen wollten, weiss ich, wie schlimm Java 1.2*, 1.3*, 1.4* geast haben.
Wo hab ich dich den Begriff "light weighted" verwendet? Auch hier verdrehst du wieder Tatsachen. Ich hab geschrieben, dass ein Tomcat auf einem IPaq durchaus in 5MB laufen kann, das find ich dann doch ziemlich beeindruckend. Und um deine polemischen Methoden zu verwenden: Das will ich sehen, dass du das in 5kb schaffst.

Das mit dem Tomcat habe ich schlicht überlesen... Ich dachte du meintest nur Java: Ja, das ist beeindruckend. Aber ich nehme an, sobald du Beans&co verwenden willst, ist es auch aus mit den 5MB...
Ich hab es auch nicht als das bezeichnet. Ich hab gesagt, dass auf den heutigen Handhelds auch Java mittlerweile vernünftig läuft. Vor allem, was die bestrebungen mancher Leute angeht, VMs mit geringerem Footprint zu entwickeln. Schau dir mal z.B. eine JamVM an und dann reden wir weiter.

Ich habe schon MiniVMs getestet - meistens liefen so gut wie keine Java Programme drauf, weil die halt extrem viel im API eingespart hatten - gut, das sind jetzt auch veraltete Infos, aber ich fand' es immer schon komisch, grosse Systeme auf kleine Handhelds zu machen...
Hab mir jetzt die Mühe gemacht und mir die Prozessordaten einiger aktueller Modelle herausgesucht (http://www.allaboutsymbian.com/forum/showthread.php?t=34921) die meisten haben ARMs mit max. 150 MHz, wie du also auf deine 2-400 kommst ist mir unbegreiflich. Dadurch sprech ich dir auch deine Glaubwürdigkeit ab was diese Vergleiche angeht, wie haben die denn ausgsehen, was für Applikationen hast du wie verglichen, wie waren denn die dabei gewonnen Daten?

P800... stimmt, das hat 156 MHz... naja, dachte die hätten auch schon WindowsCE Niveau erreicht (die alle schon lange bei 200-400Mhz rumspuken) - aber trotzdem. Bei 156Mhz erwarte ich Reaktionszeiten von Applikationen, die im Bereich 100msec für Starten und unmerkbar fürs Bedienen liegen... Vielleicht liegt das auch daran, das ich mit 4,77Mhz angefangen habe und Ressourcen aus den Kisten kitzeln musste, aber dieses "wir haben ja CPU Power - nutzen wir sie sinnlos" von heute geht mir echt auf den Senkel :)

Wenn die ganzen SymbianOS Programmer/Windows CE Programmer (die speziell) mal ein bisschen weniger sinnlos mit Ressourcen umgehen würden, dann wären heute Handhelds mit 16Mhz, Farbdisplay und Laufzeiten von mehreren Wochen kein Problem mehr...

Was ich alles erlebt habe, was mit 1Mhz und 160*200 Pixeln alles möglich war, pardon, 0,98Mhz :) Und dann schaue ich auf meinen 3,2Ghz PC und schüttele nur noch den Kopf...
Wie gesagt ich bin Java Freund, würde trotzdem Java nicht als lightweighted bezeichnen hab aber dieses unfundierte grundsätzliche Java Bashing gründlich satt. Deshalb auch der scharfe Ton dieses Postings. Bring (aktuelle) Fakten (nicht irgendwelche Zahlen von 1999), bring Argumente, dann haben wir eine Diskussionsgrundlage, aber so sicher nicht.

Es mag sein, das einiges querlief, aber ich persönlich habe schon ein bisschen mehr mit Java gemacht als nur "rumspielen" wie viele Basher. Mich hat es deutlich mehr genervt, als: C++, PHP, Python und weniger als: C, Perl. Damit landet es in der Mitte...

Und da ich mit Frameworks wie z.B. CherryPy/Python deutlich schnellere Response times und niedriger Memory footprints bekomme wie mit allen getesteten Systeme, halte ich u.a. Java für "fett".

Und das Problem sehe ich halt in der Benutzung auf "Mini" Systemen... Er hat 64MB RAM und 2x200Mhz - und die Devs benutzen nicht ohne Grund HH Firmwares, weil sie dann auch noch Linux wegkriegen. Und jetzt auf Linux noch einmal eine Bremse draufzusetzen, halte ich genauso falsch, wie WindowsCE Geräte mit 400Mhz zu züchten, nur damit das ultralahme Windows von MikkiSch* dadrauf läuft (Und ja, ich habe schon länger mit so einem Ding gearbeitet und gespielt)

Es ist halt immer die Frage: Was tun? Wenn ich gefragt werde: Hey, wir wollen eine total neue Applikation entwickeln, auf der X User arbeiten sollen, davon Y gleichzeitig. Schlag was vor... Dann ist das letzte, was mir da einfällt, Java ...

Und wenn ich mir so ansehe, welche generellen Client Java Programme ich hier auf dem Rechner habe, z.B. TV-Browser: 36MB Memory, Startzeit 15 Sekunden. Und das ist ein Athlon XP mit 3200Mhz, 1GB RAM und kaum Hintergrundprozessen, frisch gebootet... Das kann es echt nicht sein. Da startet ja Firefox + Thunderbird mit riesigen Mailboxen zusammen schneller und die haben jeweils den gleichen Memory Footprint, machen nach meiner Meinung aber deutlich mehr, was diesen Footprint rechtfertig...[/quote]
 
Appendix:

Ich wollte natürlich mitnichten auf Java "rumbashen" - Ich hasse Heise Freitage...

Herumbashen würde ich *selbstverständlich* nur auf Perl Programmierern 8)
 
Ja, ich habe noch fast nichts mit Java Beans gemacht, da ich aber nicht annahm, das deine 5MB Vergleiche auf Java Beans zielten... Ich weiss sehr wohl, was man alles mit Java Beans machen kann und finde auch speziell die Reflection von Java in diesem Sinne toll...
Nur sind Java Beans und Enterprise Java Beans zwei unterschiedliche Konzepte.
Urgh, AWT. Ja, habe ich mal. Hauptsächlich habe ich mit Reflection gearbeitet - es ging darum, in Java ein Bild"weiter"verarbeitungssystem zu entwickeln mit dynamischen Plugins, die zur Laufzeit nachgeladen werden mit definierten Schnittstellen (klingt nach Beans...).
Das war nicht zufälligerweise im Rahmen deiner Ausbildung und dabei das Programm ImageJ?
Das mit dem Tomcat habe ich schlicht überlesen... Ich dachte du meintest nur Java: Ja, das ist beeindruckend. Aber ich nehme an, sobald du Beans&co verwenden willst, ist es auch aus mit den 5MB...
Ein full featured Tomcat mit ausgeführten JSP Seiten und DB Zugriff passt in 10-12MB, siehe dazu auch http://www.joeysoft.com/. Die Homepage ist scheiße, das Produkt nicht.
Ich habe schon MiniVMs getestet - meistens liefen so gut wie keine Java Programme drauf, weil die halt extrem viel im API eingespart hatten - gut, das sind jetzt auch veraltete Infos, aber ich fand' es immer schon komisch, grosse Systeme auf kleine Handhelds zu machen...
Sind sind alt, JamVM ist z.B. fully Java2 featured. Jeode z.B. auch nur um mal 2 der populären zu nennen. Und wer spricht denn hier von großen Systemen? Ich hab da z.B. einen Spaceshooter in JAVA geschrieben, der hat von den Class files her 30.7KB, mit Grafiken hat das jar dann 165kb und das ganze läuft auf einen PII 400 und mit Java 1.1 mi 25fps.
P800... stimmt, das hat 156 MHz... naja, dachte die hätten auch schon WindowsCE Niveau erreicht (die alle schon lange bei 200-400Mhz rumspuken) - aber trotzdem. Bei 156Mhz erwarte ich Reaktionszeiten von Applikationen, die im Bereich 100msec für Starten und unmerkbar fürs Bedienen liegen... Vielleicht liegt das auch daran, das ich mit 4,77Mhz angefangen habe und Ressourcen aus den Kisten kitzeln musste, aber dieses "wir haben ja CPU Power - nutzen wir sie sinnlos" von heute geht mir echt auf den Senkel :)
Tja, du kannst halt keinen Handheld mit einem Handy vergleichen, wie war das mit den Äpfel und Birnen? Aber ich wiederhole mich.
Außerdem wenn du dir Startzeiten von 100msec erwartest und schnell Bootzeiten und so, dann kauf dir bitte ja keinen GP2X...
Was ich alles erlebt habe, was mit 1Mhz und 160*200 Pixeln alles möglich war, pardon, 0,98Mhz :) Und dann schaue ich auf meinen 3,2Ghz PC und schüttele nur noch den Kopf...
Bitte, jetzt wollen wir nicht polemisch werden, ja? Das will ich sehen, wie du z.B. Farcry auf deinem 1Mhz mit 160x200 zum Laufen bringst. Also mein 2.8er Pentium schafft das schon und noch in größer als 160x200...
Es ist halt immer die Frage: Was tun? Wenn ich gefragt werde: Hey, wir wollen eine total neue Applikation entwickeln, auf der X User arbeiten sollen, davon Y gleichzeitig. Schlag was vor... Dann ist das letzte, was mir da einfällt, Java ...
Tja, sag das z.B. ebay, die freuen sich über so fundierte Meinungen sicher, zur Info, deren ihre Software wurde auf perl entwickelt, dann auf C++ portiert und weil das nicht den Anforderungen entsprochen hat, wurde auf JAVA umgstellt.
Und wenn ich mir so ansehe, welche generellen Client Java Programme ich hier auf dem Rechner habe, z.B. TV-Browser: 36MB Memory, Startzeit 15 Sekunden.
Wie schon vorher erwähnt, Clientprogrammierung, vor allem mit Swing, ist nicht die Stärke von JAVA. Dass du dann natürlich gerade ein solches Programm als Beispiel anführst...

Egal, lassen wir das, hat keinen Sinn, ich würd mich über einen JAVA Port freuen, aus.[/u][/quote]
 
dumme frage, aber wurde UT2004, 03 und Quake 3 mit Java programiert? Ich hab mal irgendwann davon gehört...
 
das wäre glaubich etwas langsam in java...

Quake3 ist eine weiterentwickelte Quake1 Engine und damit C.

Ob die Unrealengine nun auch C ist oder C++, das weiß ich nicht.
 
god_at_hell said:
das wäre glaubich etwas langsam in java...

Quake3 ist eine weiterentwickelte Quake1 Engine und damit C.

Ob die Unrealengine nun auch C ist oder C++, das weiß ich nicht.

Laut Epic ist die Unrealengine voll Objekt Orientiert, also C++. :)
 
d4rkm4r3 said:
god_at_hell said:
das wäre glaubich etwas langsam in java...

Quake3 ist eine weiterentwickelte Quake1 Engine und damit C.

Ob die Unrealengine nun auch C ist oder C++, das weiß ich nicht.

Laut Epic ist die Unrealengine voll Objekt Orientiert, als C++. :)
Was hast den die Sprache damit zu tun, ob die Engine Objekt Orientiert ist *g*?
 
Back
Top