On Sun, Dec 10, 2000 at 10:00:50AM +0100, Konrad Rosenbaum wrote:
(Ja, ich weiss: "Man kann in der Sprache C mittels 12 Bibliotheken und unter 34 Annahmen über die Ablaufumgebung des Programms auch Hardware ansprechen" - Das kann fast jede andere Sprache auch.)
Außer Java.
Nein. Wenn du sagts, dass es in C geht, geht es genauso in Java. Da Java byteweise Files schreiben kann, kommst du spätestens damit zum Ziel.
Entschuldige Reinhard, aber langsam fängst Du an zu spinnen. Was Du da vorschlägst grenzt doch schon an Masochismus! Solche Aussagen können nur Leute treffen, die noch nie ernsthaft mit Java gearbeitet haben. Ich will
Du hast insofern Recht, als dass ich noch nie ernsthaft mit Java gearbeitet habe (Das interessiert zwar kein Schwein und spielt hier keine Rolle, soll aber gesagt sein.) und meine Variante fuer Hardwarezugriffe mit Java absolut unüblich ist. Sie ist aber möglich und genau deshalb war das "Außer Java" oben von Eric mMn falsch. DAS wollte ich zeigen und wie man deinem Posting anmerkt, ist die Info auch völlig richtig bei Euch (zumindest bei dir) angekommen.
Es ist eben ein Unterschied zwischen "Das kann fast jede andere Sprache auch." und "Das geht effizient auch in fast jeder anderen Sprache."
jetzt nicht behaupten, dass das alles vollkommen unmöglich ist mit Java, aber
eben
einen ioctl kann man z.B. nur via JNI absetzen - also mit einem dazugelinkten C-Objectfile - und das will man sich wirklich nicht antun, denn dann kann man
Genau, unschön aber möglich. Da bei Java so viele Sachen schön plattformunabhänging machbar sind, betrachtet man das JNI als abstruses Element, das man möglichst nicht verwendet. - OK. Nun schauen wir uns mal C an: Wenn du in C ioctl und ähnliche nicht in C definierte Sachen verwendest, nutzt du quasi auch nur ein "C Native Interface". Es passiert letzlich nichts anderes als beim JNI, nur haben solche Sachen in C einfach nicht dieses "bösen Touch" wie bei Java.
BTW: Was ist ein C-Objectfile? Egal, ich weiss was du meinst.
Reinhard