Java als neue "Schulsprache" ?

Objektorientierte Programmiersprache auf Basis einer virtuellen Maschine (https://www.oracle.com/java/)
Dominik
Beiträge: 381
Registriert: Mo Jul 07, 2008 9:39 pm

Re: Java als neue "Schulsprache" ?

Beitrag von Dominik » Mo Mai 04, 2009 9:06 pm

<offtopic>

@ Xin
Ach ich darf ja auch mal was nicht so Themen bezogenes Schreiben bzw nicht konstruktives.
Zudem fand ich es Konstruktiv den dies war eine feststellung zum Thema, hätte er es zugegeben hätt sich ja alles erklärt
Egal

@fat-lobyte
*es geht immerhin um Lebenswichtige Themen, die das Schicksaal so mancher Personen bestimmen. Aber trotz der Verantwortung die ihr auf euren Schultern tragt**
Find ich spitze :D

ymmd

</offtopic>
Rechtschreibefehler sind gewollt und dienen der Unterhaltung

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Java als neue "Schulsprache" ?

Beitrag von Dirty Oerti » Mo Mai 04, 2009 9:11 pm

dP. hat geschrieben:Eigentlich ist die Sprache egal, solange man bei ihr Konzepte lernt.
Ganz meine Meinung.

Der einzige Grund weshalb ich Java nicht nehmen würde:

1) Es ist zu unperformant (gibt es das Wort?). Ich "darf" im Rahmen eines Projektes ein Spiel in Java schreiben...während die Java-Engine bei einen Modell eines Baumes zusammenbricht (< 5 FPS) legt die C++-Engine (die sowohl auf Linux als auch auf Windows,MAC,etc läuft, ganz im Gegensatz zu der Java-Engine, die NICHT auf Linux läuft) mit ein paar 60 FPS doch noch ganz gute Werte hin.. :)

2) Der Programmaufbau ist für jemanden, der sich noch nie damit beschäftigt hat, schwer zu verstehen (alles muss in einer Klasse stehen).

3) Ich weiß nicht, woher das kommt, aber wenn ich was in Java schreib tippe ich mich immer halb tot, weil erstens die Funktionen/Klassen der Bibliotheken komisch lange Namen haben und zweitens der Aufbau eines einfachen Programmes in eine Klasse auch mehr Schreibarbeit erfordert.


Zum Rest(lichen Hin und Her):
Streitet doch nicht :)
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Java als neue "Schulsprache" ?

Beitrag von Xin » Di Mai 05, 2009 9:00 am

Dirty Oerti hat geschrieben:
dP. hat geschrieben:Eigentlich ist die Sprache egal, solange man bei ihr Konzepte lernt.
Ganz meine Meinung.
Überhaupt nicht meine Meinung.

Konzepte zu lernen ist richtig. Das Dumme dabei ist nur, dass man in zu hohen Sprachen die Konzepte eben nicht lernt, sondern sich dran vorbei mogelt.

In Java lernt man eben nicht offensichtlich, was ein Zeiger ist.
Es gibt dafür ein null-Objekt, also es gibt ein Objekt, das es nicht gibt. Wie soll das ein Anfänger verstehen?
Und wenn man damit arbeitet, dann gibt es eine Null-Pointer-Exception, obwohl es keine Pointer gibt.
Das Konzept ist wirr und damit überhaupt nicht für Anfänger geeignet.
Dirty Oerti hat geschrieben:1) Es ist zu unperformant (gibt es das Wort?). Ich "darf" im Rahmen eines Projektes ein Spiel in Java schreiben...während die Java-Engine bei einen Modell eines Baumes zusammenbricht (< 5 FPS) legt die C++-Engine (die sowohl auf Linux als auch auf Windows,MAC,etc läuft, ganz im Gegensatz zu der Java-Engine, die NICHT auf Linux läuft) mit ein paar 60 FPS doch noch ganz gute Werte hin.. :)
Das führe ich vorrangig auf eine schlechte Java-Implementation zurück, Java selbst ist von der Geschwindigkeit ziemlich gut, hakt aber beim Nachkompilieren.
Hier ist Java von der Geschwindigkeit vermutlich deutlich benachteiligt, weil es laufend Daten aus der virtuellen Maschine in die echte Maschine bringen muss, damit es von da aus in die Grafikkarte kopiert wird. Wenn das nicht perfekt implementiert ist...

Darf ich fragen, welche C++-Engine Du verwendest?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

whitenexx
Beiträge: 19
Registriert: So Mai 03, 2009 11:40 pm
Wohnort: Leverkusen
Kontaktdaten:

Re: Java als neue "Schulsprache" ?

Beitrag von whitenexx » Di Mai 05, 2009 1:07 pm

In Java lernt man eben nicht offensichtlich, was ein Zeiger ist.
Es gibt dafür ein null-Objekt, also es gibt ein Objekt, das es nicht gibt. Wie soll das ein Anfänger verstehen?
Und wenn man damit arbeitet, dann gibt es eine Null-Pointer-Exception, obwohl es keine Pointer gibt.
Das Konzept ist wirr und damit überhaupt nicht für Anfänger geeignet.
Da muss ich zustimmen, aber das hängt zum Teil auch vom Informatiklehrer ab.
Mein Informatiklehrer hat uns sehr wohl erklärt, gezeigt und beigebracht, was ein Zeiger ist.
Dabei ist er vom eigentlichen Thema "C#" abgekommen und naja das ist auch ein Beispiel dafür, dass man es doch lernen kann.
Aber wie du schon sagtest, in den meisten Fällen wird einem das nicht beigebracht (vermute ich mal).

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Java als neue "Schulsprache" ?

Beitrag von Xin » Di Mai 05, 2009 1:24 pm

whitenexx hat geschrieben:
In Java lernt man eben nicht offensichtlich, was ein Zeiger ist.
Da muss ich zustimmen, aber das hängt zum Teil auch vom Informatiklehrer ab.
Mein Informatiklehrer hat uns sehr wohl erklärt, gezeigt und beigebracht, was ein Zeiger ist.
Dabei ist er vom eigentlichen Thema "C#" abgekommen und naja das ist auch ein Beispiel dafür, dass man es doch lernen kann.
Der ist sehr merkwürdig, dass er da von C# abkommt, denn schließlich sind Zeiger in C# voll unterstützt - durch die entsprechende C-Schreibweise (z.B. char *), wie auch im Sprachkern über die ref- und out-Attribute.

Ein Abweichen von C# ist somit eigentlich gar nicht nötig, man muss nur die Motorhaube mal öffnen (unsafe) und dann darf man bei C# auch an den einzelnen Schräubchen drehen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

whitenexx
Beiträge: 19
Registriert: So Mai 03, 2009 11:40 pm
Wohnort: Leverkusen
Kontaktdaten:

Re: Java als neue "Schulsprache" ?

Beitrag von whitenexx » Di Mai 05, 2009 1:35 pm

Hmm kann sein, wir sind mit C# noch nicht so weit. Es war irgendwie irgendwas im Vergleich mit anderen Sprachen (bin nicht mehr sicher warum genau er es erklärt hat, ist schon ein halbes Jahr her...).

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Java als neue "Schulsprache" ?

Beitrag von Xin » Di Mai 05, 2009 1:38 pm

whitenexx hat geschrieben:Hmm kann sein, wir sind mit C# noch nicht so weit. Es war irgendwie irgendwas im Vergleich mit anderen Sprachen (bin nicht mehr sicher warum genau er es erklärt hat, ist schon ein halbes Jahr her...).
Ich befürchte, dass die Kenntnis über die Zeiger inzwischen genauso weit ist.... "Bin mir nicht mehr sicher.... ist schon ein halbes Jahr her".. ;-)

Programmierst Du eine Low-Level-Programmeirsprache?
Ansonsten werf mal allgemein einen Thread in 'Uservorstellung'.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Java als neue "Schulsprache" ?

Beitrag von Dirty Oerti » Di Mai 05, 2009 1:47 pm

Xin hat geschrieben:Konzepte zu lernen ist richtig. Das Dumme dabei ist nur, dass man in zu hohen Sprachen die Konzepte eben nicht lernt, sondern sich dran vorbei mogelt.
Sag ich doch :) Die Sprache ist egal, SOLANGE man die Konzepte lernt.
Folglich kann man Java (zumindest in Teilgebieten) schon verwenden.
In Java zu programmieren und gleichzeitig CPU-Register/Zeiger/... zu erklären ist aber nicht gerade klug.
Xin hat geschrieben:Darf ich fragen, welche C++-Engine Du verwendest?
OpenSceneGraph, in Version 2.8 :) Wieso?
Es ist vom Aufbau her vergleichbar mit der jMonkey-Engine (die Java-Engine, die übrigens die schnellste ihrer Art sein soll).


Am klügsten wäre wohl eine Art Aufteilung:
Zu Beginn werden Konzepte vermittelt. Dazu verwendet man eine festgesetzte Sprache (C++ wäre mein Vorschlag).
Mit Konzepten meine ich hier Zeiger, Speicherverwaltung, Sprache, etc.
Dann sollten die Schüler die Sprache selbst wählen können, in dieser werden dann Aufgaben gelöst (Zinsprogamm, Berechnung einer Flugbahn, etc).

Das wird wohl aber an den Fähigkeiten der meisten Lehrer scheitern.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

dP.
Beiträge: 23
Registriert: Di Apr 14, 2009 2:52 pm

Re: Java als neue "Schulsprache" ?

Beitrag von dP. » Di Mai 05, 2009 6:33 pm

Informatikunterricht ist kein Programmierunterricht, auch wenn die Programmierung in der Schule sicherlich einen guten Anteil haben sollte. Aber Zeiger ist meiner Meinung nach nichts, was da unverzichtbar wäre. Ganz im Gegenteil. Von daher halte ich C und C++ für denkbar schlechte Kandidaten für den Unterricht.

C++ erschlägt einen am Anfang, ganz besonders wenn man in der 6 (8, 10, 11) Klasse ist und keinen Dunst von gar nichts hat. Und genau das ist hier das Klientel, das bedient werden will. Nicht der rechneraffine 14 Jährige, der von alleine auf die Idee kam mit Assembler auf seinem C64 rumzuspielen, sondern junge Menschen, die noch nie Quelltext gesehen haben und sich überhaupt nicht vorstellen können, wie der Rechner aufgebaut ist / funktioniert.
Und die Menschen haben innerhalb von drei Wochen keinen Bock mehr, wenn man denen den C++ Primer um die Ohren haut.

Wie ich bereits sagte, ist die Sprache eigentlich egal. Man kann es sich aber leicht oder weniger leicht machen.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Java als neue "Schulsprache" ?

Beitrag von Xin » Di Mai 05, 2009 7:40 pm

dP. hat geschrieben:Informatikunterricht ist kein Programmierunterricht, auch wenn die Programmierung in der Schule sicherlich einen guten Anteil haben sollte. Aber Zeiger ist meiner Meinung nach nichts, was da unverzichtbar wäre. Ganz im Gegenteil. Von daher halte ich C und C++ für denkbar schlechte Kandidaten für den Unterricht.
Informatik wird heute häufig zum Power-Point-Unterricht.
dP. hat geschrieben:C++ erschlägt einen am Anfang, ganz besonders wenn man in der 6 (8, 10, 11) Klasse ist und keinen Dunst von gar nichts hat.
Man muss auch in C nicht mit Zeigern beginnen. Und in C++ schon gar nicht.
dP. hat geschrieben:Und genau das ist hier das Klientel, das bedient werden will. Nicht der rechneraffine 14 Jährige, der von alleine auf die Idee kam mit Assembler auf seinem C64 rumzuspielen, sondern junge Menschen, die noch nie Quelltext gesehen haben und sich überhaupt nicht vorstellen können, wie der Rechner aufgebaut ist / funktioniert.
Zur Informatik gehört die Algorithmik.
Abläufe organisieren. Datenverarbeitung.

Das wird aber offenbar kaum noch unterrichtet.
dP. hat geschrieben:Wie ich bereits sagte, ist die Sprache eigentlich egal. Man kann es sich aber leicht oder weniger leicht machen.
Ich habe beim Unterrichten von C/C++ bisher wenig Probleme gesehen.
Mit entsprechender Vorbereitung kann man hier die Sache schrittweise aufbauen. Es ist nicht so, dass man C/C++ komplett können muss, um es zu lernen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten