[linux-l] RS-232 oder USB lesen mit (Schauder...) Java Os-unabhaengig

Volker Grabsch vog at notjusthosting.com
So Sep 18 20:03:45 CEST 2005


On Sun, Sep 18, 2005 at 03:51:59PM +0200, Oliver Bandel wrote:
> Deswegen erwäge ich unter Schüttelkrämpfen, statt Tcl/Tk
> evtl. sogar Java einzusetzen.
> 
> Ist es auch wirklich OS-unabhängig, solche Sachen in Java zu tun?

Java hat bei mir in Sachen "OS-Unabhängigkeit" verschissen. Vor ein
paar Jahren schon begann ich mit Java, und bin wieder davon weg
gekommen. Auf meinem 486er lief es viel zu langsam (er hatte nur 16 MB RAM),
und Win95 wurde plötzlich nicht mehr von Sun unterstützt, obwohl ich damals
extra in Java entwickelt hatte, damit es bei mir (unter Linux) läuft,
*und* bei anderen Leuten, die nur Win95 haben. Andererseits brauchte ich
aber die aktuelle Java-VM. Das war ein herber Rückschlag für mein Projekt!
Und damals war Linux noch nicht überzeugend genug für mich, um es ernsthaft
einem Anfänger zu empfehlen.

Als ich dann ein weiteres Plattform-unabhängiges Projekt starten wollte,
kam somit nur noch ANSI-C in Frage ... okay, noch ein bisschen POSIX-
Funktionalität habe ich gebraucht. Damit habe ich gute Erfahrungen
gemacht. Ich konnte es für alle mir wichtigen Plattformen kompilieren
(Linux, win32), und es lief selbst auf nem 486er fix.

Heutzutage, wo Rechenleistung nicht mehr das Problem ist, würde ich
natürlich nicht mehr C nehmen, es sei denn, das Programm ist klein und
überschaubar.

Java würde ich aber auch nicht mehr nehmen, es sei denn, mein Umfeld
zwingt mich dazu. Platform-Unabhängigkeit erreicht man genauso auch
mit anderen Programmiersprachen, in denen es sich (meiner Meinung nach)
viel besser entwickeln lässt, z.B.  Haskell oder Python.

Sicher sollte man noch Scheme, Ruby, Dylan, u.v.a.  nennen. Die kannst
du auch unter allen wichtigen OSen compilieren bzw. interpretieren.

Für die GUI würde ich dir bei Java entsprechend Swing empfehlen. Bei den
"ordentlichen" Sprachen (Python, ...) würde ich zu GTK+ raten. Aber
wxWindows und TclTk kannst du genauso nehmen, die haben alle ihre Vor-
und Nachteile.

> Wenn ich also Daten lesen möchte vom USB-Port bzw. RS-232 und auch
> Daten dort hin schreiben....
> ...kann ich das unter OS-X oder Linux entwickeln und das ganze läuft dann
> tatsächlich auch unter Windoof?

Wie es mit der USB-Unterstützung in den einzelnen Sprachen aussieht,
kann ich leider nicht sagen. Wenn überhaupt, glaube ich, dass du in
Python und Java die besten Chancen hast, dass du den USB-Port platform-
unabhängig angesprochen kriegst.

Die "Kenner" mögen mich bitte korrigieren.

> Und: Wie geht das? Welche Libs nimmt man da?
> 
> habe bisher in java noch nix gemacht, aber letztens mal einem
> Tutorial folgend ein kleines Beispiel-Progrämmchen a la 
> Hello-World zusammen gebaut und das lief dann.

Ich finde Java viel zu umständlich. Besser als C, aber kein Vergleich
zu Haskell, Python, ... (s.o.)

> Naja, viel dran ist ja nicht an Java. Sollte sich also schnell lernen
> lassen.

Ich hab mir in Java immer nen Wolf getippt. Python ist noch weniger
Lernarbeit, /und/ weniger Tipparbeit  :-)


Wozu willst du eigentlich direkt den USB-Port ansprechen? Willst
du eigene Hardware damit ansprechen? Das würde mich mal interessieren,
weil ich selbst auch mal sowas gemacht habe ... ist aber schon etwas
her.


Viele Grüße,

	Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l