Hi,
Hier gings doch um einen BP7-Ersatz.
Ich denke Java ist dafür prima geeignet. Java ist einfach...plattformunabhängig...standardisiert. Objektorientiert...einfacher als C (Thema Zeiger, Array..Speicherverwaltung) Man kann eine Menge damit machen...Zeichen/Zeilenweise E/A, GUI's, Internet, etc....
Wies mit der PC-Steuerung ausschaut weiß ich net (iss sowas mit Java möglich ?) Aber irgendwie bekommt man sowas sicher auch hin...
Bye, Stephan
On Tue, Dec 05, 2000 at 09:53:33PM +0100, Stephan Goetter wrote:
Hier gings doch um einen BP7-Ersatz.
Ich denke Java ist dafür prima geeignet.
Mit Ersatz war wohl eher gemeint: "etwas äquivalentes"...
Java ist einfach...plattformunabhängig...standardisiert.
Plattformunabhängig? Mein Amiga weigert sich beharrlich Javacode auszuführen oder zu kompilieren im Gegensatz zu ANSI-C/C++
Objektorientiert...einfacher als C (Thema Zeiger, Array..Speicherverwaltung)
Das ist Visual Basic auch alles...
Man kann eine Menge damit machen...Zeichen/Zeilenweise E/A, GUI's, Internet, etc....
Zeichen/Zeilenweise E/A?? Na das ist doch mal eine Neuerung! GUI's kann ich auch mit Perl machen und "etc." sowieso.
Wies mit der PC-Steuerung ausschaut weiß ich net (iss sowas mit Java möglich ?) Aber irgendwie bekommt man sowas sicher auch hin...
Na viel Spaß auch! In Java kann man bis heute nicht (auf den üblichen verdächtigen Plattformen) ordentliche Soundausgabe machen, da würd ich mir das mit der Robotersteuerung zweimal überlegen...
Gruß, Eric
p.s. Disclaimer: Nein, ich bin nach wie vor kein Java-Hasser, ich betrachte es nur etwas kritischer...
Am Mit, 06 Dez 2000 schrieb Eric Schaefer:
On Tue, Dec 05, 2000 at 09:53:33PM +0100, Stephan Goetter wrote:
Hier gings doch um einen BP7-Ersatz.> > Ich denke Java ist dafür prima geeignet.
Mit Ersatz war wohl eher gemeint: "etwas äquivalentes"...
Etwas äqivalentes zu Borland Pascal ist auch immer veraltet. Gebraucht wird doch eher ...etwas Zeitgemäßes mit Zukunft.
Java ist einfach...plattformunabhängig...standardisiert.
Plattformunabhängig? Mein Amiga weigert sich beharrlich Javacode auszuführen oder zu kompilieren im Gegensatz zu ANSI-C/C++
Meinst du den neuen Amiga oder den alten ? Liegt das nicht vielleicht eher an deinem Amiga und weniger an Java ?
Java gibts inzw. für Intel, PPC, Alpha, ARM, Mips, S390 Außerdem kann der GCC Java/Byte-Code compilieren auf (alle?) GCC-Zielplattformen.
Die Betriebssysteme hab ich absichtlich mal ausgeklammert.
Objektorientiert...einfacher als C (Thema Zeiger, Array..Speicherverwaltung)
Das ist Visual Basic auch alles...
Aber nicht plattformunabhängig...siehe oben.
Man kann eine Menge damit machen...Zeichen/Zeilenweise E/A, GUI's, Internet, etc....
Zeichen/Zeilenweise E/A?? Na das ist doch mal eine Neuerung! GUI's kann ich auch mit Perl machen und "etc." sowieso.
Hattest wohl einen schlechten Tag, Eric. Tut mir wirklich leid deswegen.
Wies mit der PC-Steuerung ausschaut weiß ich net (iss sowas mit Java möglich ?) Aber irgendwie bekommt man sowas sicher auch hin...
Na viel Spaß auch! In Java kann man bis heute nicht (auf den üblichen verdächtigen Plattformen) ordentliche Soundausgabe machen, da würd ich mir das mit der Robotersteuerung zweimal überlegen...
Was bitte hat Soundprogrammierung mit Robotersteuerung zu tun ?
Bye, Stephan
Moin!
Hier gings doch um einen BP7-Ersatz.> > Ich denke Java ist dafür prima geeignet.
Mit Ersatz war wohl eher gemeint: "etwas äquivalentes"...
Etwas äqivalentes zu Borland Pascal ist auch immer veraltet. Gebraucht wird doch eher ...etwas Zeitgemäßes mit Zukunft.
Mannomann, ist das so schwierig? <original poster> meinte, daß der Lehrplan nicht umgestellt werden soll, was er wohl müßte wenn etwas anderes als ein BP Äquivalent benutzt wird...
Java ist einfach...plattformunabhängig...standardisiert.
Plattformunabhängig? Mein Amiga weigert sich beharrlich Javacode auszuführen oder zu kompilieren im Gegensatz zu ANSI-C/C++
Meinst du den neuen Amiga oder den alten ? Liegt das nicht vielleicht eher an deinem Amiga und weniger an Java ?
Den alten. Ist der etwa keine Plattform? (falls es jemandem entgangen ist: der obige Kommentar war meinerseits spaßig gemeint. Sie dürfen jetzt lachen.)
Java gibts inzw. für Intel, PPC, Alpha, ARM, Mips, S390 Außerdem kann der GCC Java/Byte-Code compilieren auf (alle?) GCC-Zielplattformen.
Die Betriebssysteme hab ich absichtlich mal ausgeklammert.
Warum wohl...
Objektorientiert...einfacher als C (Thema Zeiger, Array..Speicherverwaltung)
Das ist Visual Basic auch alles...
Aber nicht plattformunabhängig...siehe oben.
Das ist in der Lehre, wo einfach mal nur Programmierprinzipien gelehrt werden sollen, egal.
Man kann eine Menge damit machen...Zeichen/Zeilenweise E/A, GUI's, Internet, etc....
Zeichen/Zeilenweise E/A?? Na das ist doch mal eine Neuerung! GUI's kann ich auch mit Perl machen und "etc." sowieso.
Hattest wohl einen schlechten Tag, Eric. Tut mir wirklich leid deswegen.
Nein, ich mache mich nur gern über Hypes lustig. Auch fand ich die Feature Liste irgendwie putzig.
Irgendjemand hat mal gesagt: "Die einzig portable Programmiersprache (sogar ohne Neukompilierung [Anm. von mir]) ist immernoch das Bash-Skript" ;-)
Wies mit der PC-Steuerung ausschaut weiß ich net (iss sowas mit Java möglich ?) Aber irgendwie bekommt man sowas sicher auch hin...
Na viel Spaß auch! In Java kann man bis heute nicht (auf den üblichen verdächtigen Plattformen) ordentliche Soundausgabe machen, da würd ich mir das mit der Robotersteuerung zweimal überlegen...
Was bitte hat Soundprogrammierung mit Robotersteuerung zu tun ?
Äh, den Hardwarezugriff (???), der bei Java irgendwie emuliert werden muß, was soo schwierig ja eigentlich nicht sein kann. Selbst DirektX verbirgt die Hardware und ist doch hardwarenah.
Das soll hier kein Javabashing, oder so, sein. Ich finde es nur ziemlich doof, wenn Java als das Allheilmittel hingestellt wird. Java ist sicher für eine Menge Anwendungen recht nett, aber schränkt den Programmierer einfach zu sehr ein. Für alle die Dinge, die von Java direkt unterstützt werden, ist es super, willst Du etwas anderes machen, siehst Du alt aus. Für viele Dinge ist es auch einfach zu hardwarefern (Stichwort: unsigned char).
Gruß, Eric
On Thu, Dec 07, 2000 at 09:58:28AM +0100, Eric Schaefer wrote:
Meinst du den neuen Amiga oder den alten ? Liegt das nicht vielleicht eher an deinem Amiga und weniger an Java ?
Den alten. Ist der etwa keine Plattform? (falls es jemandem entgangen ist: der obige Kommentar war meinerseits spaßig gemeint. Sie dürfen jetzt lachen.)
Nicht jeder Gegenstand mit einer platten Form ist auch eine Plattform :)
Reinhard
On Thursday 07 December 2000 09:58, Eric Schaefer wrote:
Was bitte hat Soundprogrammierung mit Robotersteuerung zu tun ?
Äh, den Hardwarezugriff (???), der bei Java irgendwie emuliert werden muß, was soo schwierig ja eigentlich nicht sein kann. Selbst DirektX verbirgt die Hardware und ist doch hardwarenah.
Das soll hier kein Javabashing, oder so, sein. Ich finde es nur ziemlich doof, wenn Java als das Allheilmittel hingestellt wird. Java ist sicher für eine Menge Anwendungen recht nett, aber schränkt den Programmierer einfach zu sehr ein. Für alle die Dinge, die von Java direkt unterstützt werden, ist es super, willst Du etwas anderes machen, siehst Du alt aus. Für viele Dinge ist es auch einfach zu hardwarefern (Stichwort: unsigned char).
Stichwort byte. Char ist bei Java im Sinne von "Unicode Zeichen" zu verstehen. Byte ist fuer Zugriffe auf die Dateiebene gedacht.
Aber mal im Ernst: Java ist nich in der Lage auf Hardware zuzugreifen, weil es nie dazu gedacht war. (Ausnahme: JNI, aber dann kann man gleich vollstaendig in C/C++ arbeiten.)
Konrad
On Fri, Dec 08, 2000 at 06:57:23PM +0100, Konrad Rosenbaum wrote:
Aber mal im Ernst: Java ist nich in der Lage auf Hardware zuzugreifen, weil es nie dazu gedacht war. (Ausnahme: JNI, aber dann kann man gleich vollstaendig in C/C++ arbeiten.)
Das sehe ich anders. Mit Java kann ich auf viel mehr Hardware zugreifen als mit C. In Java kann ich z.B. Grafiken auf die Graka zaubern, Daten übers Netz schicken, meine Maus abfragen, Sound abspielen usw. In C gibts neben File-IO, stdin+out eigentlich gar nichts, womit ich irgendwelche Hardware ansprechen könnte.
Der Witz ist, dass man bei Programmen, die auf einem Betriebsystem laufen (also nicht DOS) sowieso nicht direkt die Hardware programmierten kann, sondern ein abstaktes Interface nutzen muss. In C existieren solche Interfaces nicht, also kann ich auch nicht die Hardware ansprechen.
Das mag alles etwas ketzerisch klingen, vergleicht aber halbwegs formal die Fähigkeiten von Java und C, auf Hardware zuzugreifen. Wer mal ein C-Buch liest, wird dort absolut nichts zur Hardware finden, da sowas in C (!!!) einfach nicht vorgesehen ist. Punkt.
(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.)
Reinhard
On Friday 08 December 2000 22:13, Reinhard Foerster wrote:
On Fri, Dec 08, 2000 at 06:57:23PM +0100, Konrad Rosenbaum wrote:
Aber mal im Ernst: Java ist nich in der Lage auf Hardware zuzugreifen, weil es nie dazu gedacht war. (Ausnahme: JNI, aber dann kann man gleich vollstaendig in C/C++ arbeiten.)
Das sehe ich anders. Mit Java kann ich auf viel mehr Hardware zugreifen als mit C. In Java kann ich z.B. Grafiken auf die Graka zaubern, Daten übers Netz schicken, meine Maus abfragen, Sound abspielen usw. In C gibts neben File-IO, stdin+out eigentlich gar nichts, womit ich irgendwelche Hardware ansprechen könnte.
es ging ursprünglich um Roboter-steuerung. Die Java-Klasse möchte ich mal in der Standardbibo (java.*.*) sehen. ;-)
Der Witz ist, dass man bei Programmen, die auf einem Betriebsystem laufen (also nicht DOS) sowieso nicht direkt die Hardware programmierten kann, sondern ein abstaktes Interface nutzen muss. In C existieren solche Interfaces nicht, also kann ich auch nicht die Hardware ansprechen.
Das mag alles etwas ketzerisch klingen, vergleicht aber halbwegs formal die Fähigkeiten von Java und C, auf Hardware zuzugreifen. Wer mal ein C-Buch liest, wird dort absolut nichts zur Hardware finden, da sowas in C (!!!) einfach nicht vorgesehen ist. Punkt.
(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.)
Aber Java ist in dieser Hinsicht nicht "fast jede andere Sprache"!
Die allernotwendigsten Sachen sind mit Java möglich (plus einigen Unsinn, den keiner braucht es sei denn er nimmt Java). Aber Erweiterungen sind kaum möglich. Sprich: bei realen Projekten stößt Du früher oder später an die Grenzen von Java und hast keine Chance mehr außer dem Wechsel auf eine andere Sprache (via JNI z.B.). Mit C kannst Du immernoch nach der passenden Bibliothek suchen.
Im Übrigen ist der ANSI C Standard so klein gehalten, weil es genug Bibliotheken gibt.
C und Java haben deutlich unterschiedliche Ziele. Mit Java etwas programmieren zu wollen, was eigentlich ein Kerngebiet von C ist (direkte Hardwareansteuerung) halte ich für einfach nur dumm.
Konrad
Das sehe ich anders. Mit Java kann ich auf viel mehr Hardware zugreifen als mit C. In Java kann ich z.B. Grafiken auf die Graka zaubern, Daten übers Netz schicken, meine Maus abfragen, Sound abspielen usw. In C gibts neben File-IO, stdin+out eigentlich gar nichts, womit ich irgendwelche Hardware ansprechen könnte.
es ging ursprünglich um Roboter-steuerung. Die Java-Klasse möchte ich mal in der Standardbibo (java.*.*) sehen. ;-)
Genau. In C muß ich "nur" wissen, wie ich das richtige Device anspreche und kann damit auch Dinge ansteuern, die ursprünglich nicht vorgesehen waren. In Java kann ich nur die vom Hersteller vorgesehen Interfaces nutzen.
Der Witz ist, dass man bei Programmen, die auf einem Betriebsystem laufen (also nicht DOS) sowieso nicht direkt die Hardware programmierten kann, sondern ein abstaktes Interface nutzen muss. In C existieren solche Interfaces nicht, also kann ich auch nicht die Hardware ansprechen.
Das mag alles etwas ketzerisch klingen, vergleicht aber halbwegs formal die Fähigkeiten von Java und C, auf Hardware zuzugreifen. Wer mal ein C-Buch liest, wird dort absolut nichts zur Hardware finden, da sowas in C (!!!) einfach nicht vorgesehen ist. Punkt.
(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.
Im Übrigen ist der ANSI C Standard so klein gehalten, weil es genug Bibliotheken gibt.
Und weil "drucke Grafik auf Drucker" kein Sprachbestandteil sein kann, sondern, Teil der Maschine. Wenn Java nun eine solche Maschine sein will, muß sie auch die OS üblichen Interfaces zur Hardware bieten (abstrahiert natürlich). Wenn SUN das geschafft hat, können die sich gratulieren. Das Ergebnis wäre eine Arte high-level OS.
Gruß, Eric
On Sat, Dec 09, 2000 at 04:19:45PM +0100, Eric Schaefer 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.
Reinhard
On Saturday 09 December 2000 20:37, Reinhard Foerster wrote:
On Sat, Dec 09, 2000 at 04:19:45PM +0100, Eric Schaefer 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 jetzt nicht behaupten, dass das alles vollkommen unmöglich ist mit Java, aber 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 auch C++ mit Qt einsetzen und das programmiert sich wesentlich einfacher als Java.
Schon weil man Strings besser vergleichen kann: Qt: QString s1,s2; /*....*/ if(s1==s2) //...
äquivalentes Java: String s1,s2; /*...*/ if(s1==null && s2==null) //... else if(s1.equals(s2)) //... das selbe nochmal
Konrad
On Sun, Dec 10, 2000 at 10:00:50AM +0100, Konrad Rosenbaum wrote:
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
*flame* ;-). (Derzeit liegt Konrad vorn :))
jetzt nicht behaupten, dass das alles vollkommen unmöglich ist mit Java, aber 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 auch C++ mit Qt einsetzen und das programmiert sich wesentlich einfacher als Java.
Schon weil man Strings besser vergleichen kann: Qt: QString s1,s2; /*....*/ if(s1==s2) //...
Man kann auch die String-Klasse aus der STL verwenden (zugegeben, QString verwendet praktischerweise gleich unicode).
Ulf der sich die aktuelle ix angesehen hat
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
On Sun, Dec 10, 2000 at 03:39:58PM +0100, Reinhard Foerster wrote: [lotsa funny stuff]
Hiermit wird Ihnen feierlich der "Nitpicker der Woche" Award verliehen...
SCNR, Eric
On 12.12.00 Sebastian Roth (sebbi@claranet.de) wrote:
Bitte um Erklärung: Was ist ein Nitpicker?
Erbsenzähler?
H.
Bitte um Erklärung: Was ist ein Nitpicker?
Erbsenzähler?
- Haarspalter - Krümelkacker - Besserwisser
Gruß, Eric
(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.
Da macht wohl einer den Teufeladvocaten....
Gruß, Eric
Am Dienstag, 5. Dezember 2000 21:53 schrieb Stephan Goetter:
Wies mit der PC-Steuerung ausschaut weiß ich net (iss sowas mit Java möglich ?) Aber irgendwie bekommt man sowas sicher auch hin...
Bye, Stephan
Ich sage nur: Sandbox.
Josef Spillner (der nicht mehr Java programmiert seit er Linux nutzt)
lug-dd@mailman.schlittermann.de