Java und der Schulunterricht

Es gibt 315 Antworten in diesem Thema. Der letzte Beitrag () ist von schockerjo.

    Also, ich finde java, sehr angenehm zu Programmieren. Es ist Plattform Unabhängig, was ein Vorteil ist. Es kommt denke ich, immer auf den Einzelfall bzw. Anwendung an, für welche Sprache man sich entscheidet.
    Meine Projekte Genesis Game Engine | GFX | smartli.me - Der smarte URL shortener

    Mit Java hat man allerdings sehr sehr viele Einschränkungen. .NET ist da durchaus flexibler. Davon abgesehen, dass Java sehr oft Lücken hat etc. Manches ist halt einfach nur irrsinning, finde ich.

    .NET kann btw, wie gesagt, auch plattformunabhängig sein, das ist nicht das Problem.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Für dich und viele andere ist dies kein Problemm. Jetzt versetzen wir uns mal, in einen Älteren Herren, der sich nur Wenig mit dem PC auskennt. Für den ist es eine Herausforderung die Installationen zu machen. Mit Java Hingegen kann er die Anwendung einfach Starten und Mono ist noch jünger wie Java
    Meine Projekte Genesis Game Engine | GFX | smartli.me - Der smarte URL shortener

    Ich muss @Andy16823 recht geben. Es kommt grundsätzlich immer drauf an, welches Werkzeug man für welchen Job verwendet. Deshalb gibt's auch keine "bessere" Sprache als Gesamtpacket (d.h. Syntax, syntaktischer Zucker, Framework, usw.), sondern ggf. bessere Sprachfeatures, usw. In der Hinsicht gilt halt die Devise, dass mehr Übersichtlichkeit und Bedienbarkeit, usw. für eine bessere Sprache sprechen.
    Die .Net-Plattformunabhängigkeit unter Einbezug des Frameworks ist effektiv mangelhaft, denn das ist auf Windows ausgelegt. IL-Code an sich ist plattformunabhängig, das stimmt schon.

    Gruß
    ~blaze~
    Objektorientierte Sprachen haben alle einen ähnlichen Aufbau. Es ist nunmal Tatsache, dass bei der einen Sprache wichtige Features einfach fehlen. Die eine hat Mehrfachvererbung, die andere nicht etc. Ob man gewisse Features nun braucht, oder nicht ist problemabhängig. Aber ein Callbacksystem, dass man immer braucht durch Polymorphie zu lösen ist wirklich absolut unwartbar und unflexibel.
    @Andy16823 Wo ist die Inbetriebnahme einer Java Anwendung einfacher?
    Du musst erst JRE installieren und kannst danach erst die Anwendung starten, bei nem halbwegs aktuellen Windows Computer kannst du die Anwendung direkt starten ohne das du etwas installieren musst.

    Zum Thema "Warum Java an Berufsschulen so häufig vorkommt":
    Viele Lehrer in den Bereichen kommen aus der Wirtschaft (zumindest an den zwei BS an denen ich war) und Fakt ist leider dass in der Java sehr gerne eingesetzt wird (J2EE lässt grüßen).

    Andy16823 schrieb:

    Es ist Plattform Unabhängig
    Theoretisch ja, aber das sagt man nur, weil es sich gut anhört. Frag man richtige Entwickler, wenn du mehr als nur 5 Standard Methoden verwendest, musst du hier auch plattformspezifisch programmieren.

    Andy16823 schrieb:

    jünger wie Java
    jünger als Java ;)
    Afaik ist's ja bei nativen Anwendungen so, dass das benötigte Zeugs direkt in der kompilierten .exe mitgeliefert wird, sodass Du nix mehr installieren musst...
    Ist schon klar, dass man jetzt nicht hergeht und an Schulen C(++) lehrt, da das imo zu kompliziert wäre, um einfach in die Programmierung einzusteigen, da die Sprachen sau viel bieten und syntaktisch Java oder .NET einfacher ist. Zumindest sehe ich das so.

    Aber gut, installieren musste immer was, auch bei Java die Runtime, sonst läuft auch da nix. Hat slice ja grade gesagt.
    Und naja, dann ist es wieder diskutierbar.

    Aber wenn schon Java gelehrt wird, dann sollte man dies schon korrekt machen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Bluespide schrieb:

    jünger als Java ;)

    1. Umgangssprache. Sprache ändert sich danach, wie sie genutzt wird
    2. Siehe Duden. Dort wird es auch so verwendet. Zwar nur als nicht sehr gängig, trotzdem korrekt.

    Einfach ist java wirklich nur zu beginn. Mmn, möchte man sich was schönes übersichtliches machen, was irwas mit Mathematik zu tun hat, wird imho komplizierter
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Ich habe an der FH nun seit fünf Wochen Informatik-Unterricht: 2h Praktikum, 2h Vorlesung. Und ich habe ja ncihts gegen den Prof, aber unterrichten, kann er dieses Fach einfach nicht. In meiner Klasse bin ich der Einzige, der programmieren kann, während es gerade mal einen gibt, der C-Erfahrung hat. Aber das kratzt den Dozenten kein bisschen, der munter fröhlich schon in zu Beginn von Konstruktoren, Methoden und Applets/Applikationen schwafelt, wovon natürlich kein Anfänger etwas damit anfangen kann. Als es mal um Operatoren ging und er die trivialen und gewohnten Arithmetik-Zeichen erklärt hatte, zeigte er der Klasse "<<" und fragte, ob jemand sich vorstellen könnte, was das für ein Operator sein könnte. Ich meine, HALLO??? Sowas fragt man keine Maschinenbauer am Anfang ihres Informatik-Unterrichts! Das hat mich so aufgeregt, dass ich ihm sofort gesagt habe, dass das das Zeichen für bitweises Shiften nach links ist, nur, damit er anhand der Reaktion der anderen ablesen konnte, dass diese Frage unangebracht war. X(
    Und was steht im Modulbeschrieb? "Prozedurales Programmieren mit Java"... prozedural... Das ist ja zum Mäuse melken!! Wenn er uns anhand einer objektorientierten Sprache prozedurales Programmieren beibringen will, dann haben Wörter wie "Klasse", "Objekt" und dergleichen nichts im Unterricht verloren! Ich weiss ja nicht, wie sie sich das vorgestellt haben, aber so geht das definitiv nicht! Zumal die IDE(BlueJ) ja mal sowas von Schei**e zu bedienen ist. Die unterscheidet sich vom Notepad gerademal dadurch, dass man Klassen graphisch anlegen kann und Kompilieren und Ausführen in einem Schritt erledigt. Wenn es schon Java sein MUSS, dann bitteschön eine anständige IDE! Eclipse ist dafür durchaus geeignet und hat mehr mit VS gemein als mit BlueJ.
    Ich hocke mittlerweile nur noch wegen diesen vermaledeiten ECTS-Punkten im Unterricht und wegen der verschwindent kleinen Möglichkeit, noch etwas Unbekanntes aufzuschnappen. Aber das Praktikum ist ja mal sowas für den... Ok, ich merke, ich steigere mich hier in etwas unschönes hinein - sorry :saint: . Ich versuch's mal neu: Das Praktikum ist insofern kontraproduktiv, als dass der gemeine Student nach der Doppellektion nur noch verwirrter aus dem Zimmer torkelt, als er eben jenes zuvor betreten hatte. Wenn wenigstens das Physik-Praktikum vorher wäre, könnte ich mir den halben Nachmittag freinehmen, aber...

    Und was Java allgemein angeht: Ich sage nicht, dass Java Schei**e sei. Nur, dass ich deren Handhabung Schei**e empfinde. Wenn andere die Sprache gut finden - klar, kein Problem, schön für euch, aber mir schlägt der Unterschied von .Net zu Java einfach zu sehr auf den Magen. (Programmier-)Sprachlich wie auch Entwicklungsumgebungsmässig(Eclipse ist eigentlich noch ganz ok).

    Trade schrieb:

    Aber wenn schon Java gelehrt wird, dann sollte man dies schon korrekt machen.




    Das ist aber Unabhängig von der Sprache.
    Meine Projekte Genesis Game Engine | GFX | smartli.me - Der smarte URL shortener

    Higlav schrieb:

    als dass der gemeine Student nach der Doppellektion nur noch verwirrter aus dem Zimmer torkelt,

    Ja, ist nicht bequem, stimmt schon.

    ABER:
    Studium<>Schule

    Ich glaube nicht, das es heute viel anders ist als seinerzeit an der TH Aachen:
    Während der Vorlesungen, Seminare, Kolloquien etc. wurd mir Stoff bis zum Abwinken um die Ohren geballert, der dann im heimischen Stübchen aufgearbeitet werden musste. OHNE Internet, nur mit diesen Dingern aus Papier (Bücher), die man kaufen oder an einem vermieften Ort (Bibliothek) ausleihen musste.
    Und den Lehrenden war es vollkommen gleichgültig, ob Du irgendetwas verstanden hattest, wie Deine Vorbildung war, oder ob der Hochwasserstand des Rheines über Normalpegel lag.
    Musstest Du eben STUDIEREN.
    Hat sich da das Paradigma denn heute so grundlegend geändert?

    Übrigends: Java war zu der Zeit noch lange nicht in Sicht, die bei uns gelehrten Sprachen waren FORTRAN und COBOL. Nicht weil wir ptogrammieren sollten, sondern ausschliesslich um DENKEN zu lernen.
    Hm, jetzt sind wir von Lehrern, die nicht unterrichten können, nach Java vs .Net gekommen :D
    Ich fühle mich, also verwöhnten .Net-ler, bei Java einfach im Regen stehen gelassen.
    In Java ist alles eine Klasse. Man kann auch nur Klassen deklarieren. Die primitiven Datentypen sind Ausnahmen. Für die gibt's dann aber auch Wrapper-Klassen, weil primitive Datentypen anders sind (z.B. kann man an 'nem int keine Methoden aufrufen). Primitive Datentypen sind klein geschrieben. Die dazugehörigen Wrapper-Klassen sind groß geschrieben und haben den selben Namen, außer, wenn sie's nicht tun: byte -> Byte, short -> Short, long -> Long, boolean -> Boolean, string -> String; Aber: int -> Integer, char -> Character.
    Ha! Reingelegt. "string" gibt's nämlich nicht, sondern nur "String". Strings in Java funktionieren wie Strings in .Net, außer, wenn sie's nicht tun. if (Text == "Hallo Welt")? Nope, da werden die Referenzen geprüft, und das funktioniert, außer, wenn's nicht funktioniert. Man müsste if (Text.equals("Hallo Welt")) verwenden, weil der ==-Operator nicht überladen ist. Kann man in Java überhaupt Operatoren überladen? (Hint: Nein) Das gilt natürlich nicht für die switch-Direktive. Denn da funktioniert das ganz hervorragend.
    Aber dafür haben wir Checked Exceptions (oder so). Die muss man behandeln. Hat man in einer tiefer liegegenden Methode eine neue Exception zu werfen? Ooooh, das wird interessant. Entweder, man fängt sie in der gleichen Funktion wieder, oder man muss in die Signatur "throws MyCustomException" schreiben. Natürlich ist damit nicht genug, denn die Exception muss in allen aufrufenden Funktionen ebenfalls gefangen, oder mit der throws-Klausel weitergeworfen werden. Also wenn man ganz unten was ändert, darf man die nächsten 20 Minuten damit verbringen, in allen Aufrufern und deren Aufrufern bis rauf zur main-Methode das throws MyCustomException hinschreiben... oder man macht einfach in jede Methode erst mal ein ganz großes try-catch und gibt die Message einfach auf die Konsole aus, dann könnte man sich das sparen... aber das würde man ja niiieeee machen. (Vielleicht kommt daher Pokemon-Exceptionhandling.)
    Aber hey, dafür haben wir in-place Methodenüberschreibung, weil uns für Events nichts besseres eingefallen ist. Das macht Events nicht einfacher zu verwenden, aber dafür mit Style.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Also mal nebenbei, ich bekomme Ruby gelehrt an der Schule... Ist auch wundervoll, vorallem die Software Shoes dazu. Da designt man nämlich eine GUI HTML-Like, aber ohne das HTML ^^ Das heißt, man gibt keine Namen an, sondern alles wird untereinander plaziert, und zwar in der Reihenfolge in der man es aufschreibt. Yey :D
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Hat sich da das Paradigma denn heute so grundlegend geändert?

    Da hat sich leider noch nichts bei der RWTH geändert, jedenfalls gibt es immer noch Dozenten bei denen die Studenten aushelfen müssen und Übungen bei denen nicht mal was besprochen wird.
    Aber zurück zu Java. In einer einstündigen Vorlesung sage ich mir ca. 10 mal: "Und deshalb hasse ich Java", jedoch verdräng ich die Gründe direkt wieder. Ich muss mal anfangen die aufzuschreiben, vielleicht veröffentliche ich das Buch dann.
    ca. 10 mal: "Und deshalb hasse ich Java", jedoch verdräng ich die Gründe direkt wieder

    So geht's mir mit PHP. Das wird bei uns gerade unterrichtet... also insofern, dass wir in der Klasse sitzen und da stur von oben nach unten durcharbeiten. Wenn wir eine Frage haben, hilft uns der Lehrer.
    Ach ja, ich hätte es fast vergessen. Das tutorial gibt's auch auf Deutsch. Mit all den Übersetzungsfehlern, die man sich vorstellen kann. Das verwenden wir.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    Gonger96 schrieb:



    @Artentus
    Könntest du die Diskussion auslagern?


    Also wegen mir nicht. Bin aus dem Flamewar Alter raus :)

    Dafür wiederhole ich aber gerne nochmal jenes, auf dass Du gar nicht eingegangen bist.

    Das war im Grunde auch gleichzeitig mein Schlusswort. Die Welt ist einfach nicht eindimensional.. ist zumindest meine Überzeugung.

    wertherchen schrieb:

    Vielleicht sollte man sich einfach mal darüber Gedanken machen, das Sprachen, Frameworks nie 1 zu 1 zu vergleichen sind. Ihre Berechtigung haben so ziemlich alle Sprachen, selbst die Sprachen die man persönlich überhaupt nicht leiden kann, die sich für einen einfach "nicht gut" anfühlen.

    Dann kommt es ja auch immer darauf an, für welche Systeme man programmieren muss oder darf. Ich persönlich habe bisher immer heterogene Szenarien vorgefunden, da konnte ich nicht einfach sagen "Das will ich jetzt mit C# und WPF mache". Es gibt auf unixoiden Systemen nunmal kein WPF, das will MS ja auch gar nicht.

    Also muss man sich da auch mit anderen Technologien auseinandersetzen.. zumindest geht - oder ging es mir - immer so. Und eigentlich finde ich das auch sehr bereichernd, nicht nur einen Hammer im Werkzeugkasten zu haben.
    Worauf soll ich da eingehen? Das ändern doch nichts daran, dass Arbeiten mit Java ein Krampf ist. Habe ich nicht die Möglichkeit mit .Net zu arbeiten, hab ich noch C und C++ zur Verfügung, da bräuchte ich mir mit Java keinen abbrechen.

    Higlav schrieb:


    Ähm... Orion? Darf ich fragen, welche "6" du meinst? :D Die Schweizer- oder die Deutschland-/Österreich-Variante?

    Da hier mehrheitlich Deutsche on sind habe ich mit dem Deutschen System gerechnet. Bin aber selber auch Schweizer wie du vermutlich schon mitbekommen hast. ^^
    Metal-Schweiz wurde nun offiziell veröffentlich nach all den Jahren :)

    Mein Lehrer hat sich (bzw die Schule) für Java entschieden...die Begründung, welche uns gesagt wurde, lautete "weils kostenlos ist" -.- von OOP hatte mein Lehrer anscheinend auch noch nie was gehört...jetzt im Praktikum (1 Jahr in nem Betrieb arbeiten) musste ich mir das ganze Zeugs selbst bei bringen bzw nachlernen -.- und in c# bzw vb.net ...ich finde mit VS ist es deutlich angenehmer zu programmieren, als mit Java in eclipse oder dergleichen