Programmieren für den mobilen Begleiter

Prologger

Grünschnabel
Hallo!
Ich bin ein leicht befleckter Anfänger, was Programmieren angeht und habe mich jetzt für Java als Lernsprache entschieden.
Da ich zudem einen PDA mein Eigen nenne(Mein Schatzssss: Dell Axim X5) interessiert es mich natürlich auch dafür die ein oder andere Anwendung zu schreiben, auch wenn es beispielsweise nur ein Rechenprogramm oder ähnliches ist(ich will nicht zu hoch greifen, erstmal sehen, was machbar ist).
Jetzt meine Frage:
Java soll ja, wenn richtig angewandt Plattformübergreifend sein(oder bin ich da schon falsch informiert?). Heißt das, dass ich auch für meinen PDA mit der normalen Umgebung programmieren kann? Also mit der Java 2 Platform, Standard Edition, oder brauche ich noch was zusätzlich( Mobile Edition)? Oder macht letztere es lediglich einfacher, für den PDA zu scripten.
Habe leider nichts dazu gefunden(Ja, hab die Suchfunktion genutzt ;-) )

Danke schonmal!
 

codecat

Grünschnabel
Hi erstmal! :)

Also erstmal herzlichen Glückwunsch zur Entscheidung für Java. Java ist mit Sicherheit die "günstigste" Programmiersprache um nicht in zwei Jahren wieder eine neue lernen zu müssen...
Allerdings ist Java - ganz anders als immer proklamiert - alles andere als einfach!
Wenn Du für Mobile Devices (PDAs und Handys und Smartphones und Kühlschränke, sowie Mikrowellen und interaktive Kloschüsseln) programmieren willst, muss prinzipiell eine Vorentscheidung über das Betriebssystem fallen. Je nachdem gibt es einfache oder weniger einfache Programmiersprachen:

Windows-Systeme:
Java (J2ME von Sun at http://www.sun.com)
AppForge
embedded Visual Basic
NS-Basic (http://www.ns-basic.com)
CASL (http://www.caslsoft.com)

Palm
Java (J2ME von Sun at http://www.sun.com)
HotPawBasic (http://www.hotpaw.com)
NS-Basic (http://www.ns-basic.com)
CASL (http://www.caslsoft.com)

Die ganzen Basic-Varianten (inkl. CASL) sind recht einfach zu erlernen und meist als Freeware (mit eingeschränktem Umfang) zu erhalten.
Die Java-Variante (J2ME=Java 2 Mobile Edition) ist natürlich die leistungsfähigste allerdings nicht so ganz einfach zu erlernen.
Die meisten Basic-Programme werden im ASCII-Code geschrieben und vom entsprechenden Programm interpretiert. Bei Java muß analog erst eine Java-Virtual Machine installiert werden. Sämtliche Java-Komponenten sind kostenlos auf der SUN-HP erhältlich.

Das Einzige und mitunter Wichtigste fehlt allerdings bei allen Programmiersprachen:
EINE VERNÜNFTIGE EINFÜHRUNG FÜR NICHT-INFORMATIKER.
Deshalb ein paar Buch-Tipps:

Gute Bücher zu HotPawBasic, NS-Basic, AppForge, CASL, Visual Basic für Palm OS gibt's bei
http://www.apress.com

"Das große Buch - Palm-Programmierung" von Christian Immler (Data Becker)
(HotPawBasic und CASL)

Das Einzige halbwegs vernünftige Buch zur Java Mobile Edition ist von Markt und Technik sogar auf Deutsch erschienen. Allerdings ist dafür sinnvoll, zuvor schon Grundlagen in Java zu beherrschen. Das Buch ist dann als Umstieg zu Java Mobile Edition zu verstehen.
"J2ME - Developer's Guide . Java-Anwendungen für mobile Geräte" von Michael Kroll
Ansonsten einfach bei Buchläden "J2ME", "Java 2 Mobile Edition" eingeben.

Noch ein paar Tipps zu den Java-Grundlagen:
Auf keinen Fall ein Buch kaufen auf dem draufsteht: Java für Anfänger, Java in 5 Stunden oder Ähnliches. Dies dient nur dem gesteigertem Verkauf, nicht jedoch der verbesserten Didaktik. Diese Bücher verlieren sich meist auf 400 oder 500 Seiten in bloßer Theorie, ohne daß der Leser jedoch was damit anfangen kann. Beim Erlernen einer Programmiersprache sollte man innerhalb kürzester Zeit sein Wissen von "Hallo Welt" erweitern können. Für einen sehr guten Einstieg sind vor allem die Bücher für "ganz Dumme" geeignet! D.h. z.B. "Java für Dummies", "Java für Kids" etc. In diesen Büchern wird sehr anschaulich und langsam in die Thematik eingeführt. Also genau das, was man sucht! => keine Scheu davor!
Wenn Du Dich also durch Java ein bisschen durchgebissen hast, dann ist es mit Sicherheit eine sehr schööne und leistungsfähige Programmiersprache. Bis dahin braucht man allerdings schon ein bisschen Mut und Ausdauer...
Aber es lohnt sich!
Java kann man als einzige Sprache auf PDAs, Smartphones, Handy, PCs und eben auch Sonnenbrillen und Kloschüsseln einsetzen. Deswegen rentiert sich der Aufwand auch...

Viele Grüße, viel Spaß und vor allem viel Mut mit dem Ganzen...
CodeCat


Nachtrag an alle Professionals:
Was haltet ihr davon, wenn sich ein paar von Euch mal zusammensetzen und eine "echte Einführung" zu Java und zu Mobile Java schreiben...
 

Prologger

Grünschnabel
Die VirtualMachine von Java ist demnach sozusagen eine Art Runtime - wobei aber das Prinzip ist, dass die VirtualMachine sich als simulierte Hardware zwischen den umgewandelten Java-Code, der für die VM optimiert ist schaltet.
Brauche ich dann für das mobile Gerät zusätzlich unbedingt die J2ME?
Ich arbeite momentan über die Eclipse-Plattform mit der J2SE...

Danke auf jeden Fall für die ausführliche und vor allem motivierende Antwort! Ich denke, dass ich ziemlich sicher bei Java bleiben werde, auch wenn es, wie du schon angesprochen hast, für Nicht-Informatiker wirklich manchmal schwer wird(wenn man Variablen-Typen bestimmen muss [int, double...]).
Ich arbeite mit dem Openbook "Java ist auch eine Insel". Interessant und teilweise auch mit lustigen Anekdoten, aber eben doch auf Informatiker eingestellt. Ich werde mich also mal umsehen nach Büchern wie "Java für Dummies".

Also, danke für's Weiterhelfen und für's Mut machen!