Welche Progammiersprache wird denn heutzutage in der Schule im Fach Informatik verwendet?



  • volkard schrieb:

    zum Beispiel schrieb:

    n := FillInTheBlank request: 
        'geben Sie eine Zahl ein'.
    Transcript show: 
        'Sie haben ', n, ' eingegeben.'.
    

    Viel Müll, oder?
    Warum die Rückbesinnung bei 80 stehen lassen, wenns auch leicht bis 64 geht.

    10 input "Geben Sie eine Zahl ein", n
    20 print "Sie haben "; n; " eingegeben."
    

    da wird aber kein Fenster für die Zahleneingabe geöffnet - mein Zweizeiler hat GUI 🙂



  • Sqwan schrieb:

    zum Beispiel schrieb:

    was hältst du von so was ?

    n := FillInTheBlank request: 
        'geben Sie eine Zahl ein'.
    Transcript show: 
        'Sie haben ', n, ' eingegeben.'.
    

    Mal abgesehen davon das ich damit nichts neues machen kann, weil ichs nicht verstehe, finde ichs extrem unübersichtlich.
    Wenn ich das sehe, kann ich haar genau das noch mal machen. Aber nichts neues.
    Da finde ichs in Java offensichtlicher.

    Für einen Anfänger IST es leichter als Java. Kein public static void main, keine Umrechnung mit %d, keine Args und kein System.dies.das ...



  • Dafür gibts nen Haufen anderer Fragen. Was Transcript? Warum soviele Doppelpunkte?



  • Es unterliegt hoffentlich keiner der Ansicht, ein Anfänger müsste alles sofort ohne jede Erklärung verstehen. Das Smalltalk-Beispiel enthält nur Konstrukte, die man ohnehin ständig braucht: Objekte, Variablen und Nachrichten. Hat man die einmal erklärt bekommen, kann man sich die Bedeutung jedes Doppelpunktes erschließen.

    In Java muss man am Anfang einmal mal glauben, dass man 90% des Programmes so hinzuschreiben hat. Zu wissen was zum Beispiel static bedeutet, ist für das Verständnis von Hello World nicht erforderlich. Im Gegenteil, man wird sich einige Zeit mit Java beschäftigen, bevor man static versteht.

    Und zu dem Basic-Beispiel muss ich auch noch was sagen. INPUT und PRINT sind Schlüsselwörter, also magisch. Nach PRINT wird beispielsweise ein Newline ausgegeben, es sei denn, man hängt ein Semikolon an. Das Verständnis von PRINT oder INPUT hilft einem kein bisschen beim Verstehen der restlichen Sprache. Gut für schnelle Ergebnisse, immerhin.



  • Fedaykin schrieb:

    Faszinierend... wir hatten in der Mittelschule im Fach Informatik noch so tolle dinge wie Dos und Geos 2.0 (kennt das irgendwer?) gelehrt bekommen, wie man mit Excel umgeht und natürlich Grundlagen der Informatik (Was ist ein Bit/Byte, Umrechnungen int/hex/oct, Ram-Rom wie funktionieren Mouse, was ist ein Betriebssystem etc).

    Wir auch, mit ausnahme von geos.
    Die 10 Zeilen die Java für einen anfänger zu viel hat.
    Dafür kann man dann (irgend wann) eine aktuelle sprache.

    Wenn man sich Bewirbt und sagt: "Ich kann Smaltalk"
    Und ein zweiter "Ich Java"
    Und beide sind bis dahin gleich gut, wird man wohl den nehmen der Java kann.

    Zumal heut zu tage viele Abteilungen die für Azubis zuständig sind nicht mal wissen das Smaltalk ne sprache ist. Java ist aber jedem ein begriff.



  • @Sqwan: Das von dir Geschilderte ist aber eher das Problem an dem Konkreten "Wir unterrichten echte Programmiersprachen"
    Viel wichtiger wären sachen wie: Ich weiss was Programmiersprachen ausmachen und kann mich daher sehr schnell in neue Einarbeiten. Wirkliche Grundlagen halt.

    Das sowas idealerweise am Beispiel gelehrt wird ist ok. Aber was nützt es wenn jemand die gesamte Library Landschaft von Java runterbeten kann, wenn er nicht weiss, dass es Speichersparender ist eine const Variable zu nehmen, anstatt ein member zu definieren der nie geändert wird.

    Er muss wissen das ein Zeiger auch platz belegt, aber nicht soviel wie das Objekt selbst auf das er zeigt. Er muss wissen was Zeiger/Referenzen sind etc... womit man das übt ist mir egal. Die Grundlagen müssen stimmen.

    Sowas sind essentielle sachen. Die leider nicht immer gelehrt werden. Manche Lehrer halten ihre Programmiersprache für das nonplusultra und lassen die Leute diese Sprache runterbeten ohne die Grundlagen zu unterrichten. Solche leute haben massiv probleme wenn sie auf einmal eine neue Sprache lernen sollen. Es fällt mir ja schon schwer mich von Garbage Collected Sprachen wieder mal auf C++ um zu steigen. Aber man kommt nach einer weile recht schnell rein, wenn man weiss worauf man achten muss.



  • Fedaykin schrieb:

    @Sqwan: Das von dir Geschilderte ist aber eher das Problem an dem Konkreten "Wir unterrichten echte Programmiersprachen"
    Viel wichtiger wären sachen wie: Ich weiss was Programmiersprachen ausmachen und kann mich daher sehr schnell in neue Einarbeiten. Wirkliche Grundlagen halt.

    Das sowas idealerweise am Beispiel gelehrt wird ist ok. Aber was nützt es wenn jemand die gesamte Library Landschaft von Java runterbeten kann, wenn er nicht weiss, dass es Speichersparender ist eine const Variable zu nehmen, anstatt ein member zu definieren der nie geändert wird.

    Er muss wissen das ein Zeiger auch platz belegt, aber nicht soviel wie das Objekt selbst auf das er zeigt. Er muss wissen was Zeiger/Referenzen sind etc... womit man das übt ist mir egal. Die Grundlagen müssen stimmen.

    Sowas sind essentielle sachen. Die leider nicht immer gelehrt werden. Manche Lehrer halten ihre Programmiersprache für das nonplusultra und lassen die Leute diese Sprache runterbeten ohne die Grundlagen zu unterrichten. Solche leute haben massiv probleme wenn sie auf einmal eine neue Sprache lernen sollen. Es fällt mir ja schon schwer mich von Garbage Collected Sprachen wieder mal auf C++ um zu steigen. Aber man kommt nach einer weile recht schnell rein, wenn man weiss worauf man achten muss.

    Da gebe ich dir ja recht. Das Problem ist, das man dafür Informatik-Interessiert sein muss. Sonnst ist es langweilig, und man lernt garnicht mehr.
    Mitlerweile ist mir die Sprache auch recht egal. Wobei mir Smaltalk doch ein wenig speziell scheint von der Syntax her. Also die ist Extrem anders als bei Moderneren sprachen. Jedenfalls das was ich da gesehen habe.

    Das problem ist, das man schüler einer 8-9 klasse extrem schwer für Abstracte sachen begeistern kann. Alles was nicht bunt ist und Strahlt, ist doof.
    Natürlich ist die Library-Landschaft von Java für die Programmierung uninteressant, dafür gibts ja die Doku.
    Natürlich dürfen Refferenzen etc nicht zu kurz kommen. Auch MUSS klar sein wofür abstract, final, static, private und und und gut ist. Das kommt ja dann mit und mit. Wie gesagt Java ohne OOP kann man sich so wie so schenken. Und OOP ohne OOP zu verstehen funktioniert einfach nicht.

    Und auch OOP finde ich in Java leichter zu lernen als in C++.
    Ich finde in C++ sehen die klassen schon sehr "Komisch" aus.
    Und einfach alle Klassen in einen Ordner und die Klasse mit der Main Kompilieren und alles klappt is in C++ ja auch nicht.

    Das Package system ist eine Stärke von Java. Jedenfalls für Java-Anfänger.
    Spart jedenfalls komplizierte Make-Files.

    Es ist jedenfalls leicht zu sagen das Java nicht das richtige ist.
    Ich habe versucht die Stärken zu zeigen und zu begründen warum es für anfänger gut ist. Zu begründen warum es das nicht ist, ist sicher einfacher.
    Aber was macht C++ denn besonders gut für Anfänger die kaum oder garnicht motiviert sind überhaupt zu programmieren?!?!?!
    Gleiches für Smaltalk oder Basic oder oder oder.



  • Sqwan schrieb:

    Wenn man sich Bewirbt und sagt: "Ich kann Smaltalk"
    Und ein zweiter "Ich Java"
    Und beide sind bis dahin gleich gut, wird man wohl den nehmen der Java kann.

    Ich würde wohl den nehmen, der Smalltalk kann.

    Auch wenn ich kein Smalltalk verwende.



  • Mr. N schrieb:

    Sqwan schrieb:

    Wenn man sich Bewirbt und sagt: "Ich kann Smaltalk"
    Und ein zweiter "Ich Java"
    Und beide sind bis dahin gleich gut, wird man wohl den nehmen der Java kann.

    Ich würde wohl den nehmen, der Smalltalk kann.

    Auch wenn ich kein Smalltalk verwende.

    Und kannst du das auch begründen warum den Smaltalk könner?



  • Weil er sich Smalltalk selber beigebracht hat, während der andere denkt, er würde Java können, weil er eine 1 in der Schule hatte.

    Aber ich würde wohl den mit Java nehmen, weil sehr viele Smalltalk-Postings von sehr eingebildeten Leuten kommen, die offenbar nicht programmieren können, während die Java-Leute mehr können und aufgeschlossener sind.



  • gehen wir mal davon aus, der der java kann, kann es auch.
    Und der der Smaltalk kann, kann es auch.
    Beide haben auch ahnung von der Programmierung.
    Also über realschule hinaus.

    Sagen wir mal beide haben eine Ausbildung gemacht. Und Anschließend informatik studiert.

    Mal abgesehen davon bereitet Schule auf Studium und Beruf vor.
    Und hier in der Umgebung kenne ich keine Firma die Smaltalk entwickler sucht.
    Die meisten sollen C# oder Java können. Außerem wird viel in PHP, Perl in verbindung mit CSS und Ajax gesucht. Sogar Phyton habe ich schon gesehen das es gesucht wird. Außerdem AutoIt. Aber Smaltalk noch nie.

    Und von bekannten die Rund um köln studieren habe ich bisher auch nur gehört:
    1. Sem C
    2. Java



  • Sqwan schrieb:

    Und kannst du das auch begründen warum den Smaltalk könner?

    Weil es mir sympathisch ist, wenn jemand eine Sprache lernt, weil er sie gut findet, und nicht weil er glaubt, dass sie "gefragt" sei. Weil jemand mit einer Meinung zu Programmiersprachen mir lieber ist als jemand der leidenschaftslos Java nimmt. Weil ich Java hasse.

    Und das, was volkard sagt.

    Lustige Sache: die Leute von Jane Street (bitte Google verwenden, kann gerade die URL nicht raussuchen) meinen, dass OCaml ihnen hilft, bessere Programmierer zu finden. Und das kann ich nachvollziehen.



  • Ich erwarte in einem C++ Forum garkeine leidenschaftlichen Java-Entwickler zu finden. Zumal ich java selber nicht gut leiden kann.

    Eine Sprache nicht zu mögen sollte aber nicht dazu führen das man ihr ihre vorteile aberkennt. Und das einfach so ohne begründung.

    Mag ja sein das du Java hasst. Leider trägt das überhaupt nicht konstuktiv bei.

    Sag mir lieber welchen vorteil C++ oder so hat für unmotivierte Anfänger?!

    Außerdem gibt es sehr wohl leidenschaftliche java-entwickler.

    Es ist einfach eine Unterstellung das Smaltalker leidenschaftlicher oder besser als Java-nutzer sind.

    Vorallem helfen uns solche unterstellungen nicht weiter.

    Kann hier endlich mal jemand sagen was besser als Java wäre und auch begründen warum. Und mal aufhören zu begründen warum ausgerechnet Java das Flasche ist.
    Und das Argument für Smaltalk das man sich das selber beigebracht hat und leidenschaftlicher ist, zieht hier eh nicht. Hier gehts um schule, wo es verpflichtet wird. Und ich bezweifel das die meisten Schüler freiwillig lieber Smaltalk machen als jav, geschweige denn mehr leidenschafft dafür haben.
    90% der Schüler würden Leidenschaftlich lieber zuhause bleiben.



  • Meine Güte, ich habe doch nur deine Frage beantwortet. Wenn dir eine ehrliche Antwort nicht passt, wieso fragst du dann? Naja egal.

    Ich denke, wirklich gute Programmierer machen das auch leidenschaftlich. Und optimalerweise würde die Schule diese Leidenschaft wecken. Das ist viel wichtiger, als welche Sprache nachgefragt wird. Denn eine zusätzliche Sprache lernen kann man immer. Wenn man aber keine Lust hat, überhaupt zu programmieren, wird man da auch wenig lernen.

    Daher wäre meiner Meinung nach für die Schule z.B. Python gut geeignet. Sehr einfach zu lernen, und scheint auch vielen Leuten sehr gut zu gefallen. Und dann kommt positiv hinzu, dass es durchaus Nachfrage nach Python-Programmierern gibt.



  • Sqwan schrieb:

    Ich wills mir aber nicht vorstellen. Ich wills benutzen.
    Und jeder schüler ist begeistert wenn er mehr als ne Konsole sieht.
    Iwas, was er auch benutzt. Bedenke, es geht hier um leute die das lernen MÜSSEN. Die meisten haben keinen Bock auf nen Schwarzen kasten.
    Programmieren in der Schule ist nicht das was wir hier kennen.
    Die meisten sind extrem unmotiviert wenn sie ne konsole sehen.

    Dann würde ich aber nicht Java mit Swing usw. nehmen, sondern C mit OpenGL.

    Denn GUIs sind eigentlich eher langweilig, bei OpenGL kann man grafisch gleich richtig sehr viel herumspielen und für den Anfang muß das ja nichtmal in 3d sein.

    Ein schüler sieht einfach keinen sinn, irgend einen scheiß zu schreiben der am ende in der Konsole läuft. Das benutzt er nicht, das hat er seinen lebtag nicht gesehen, es ist für ihn einfach überflüssig.

    Aber wo ist jetzt der Unterschied ob ich dem Schüler eine For Schleife vorsetze oder eben bswp. in Mathe die p-q Formel zur Lösung einer Quadratischen Gleichung?

    Beides ist entsprechend abstrakt und kann daher auch entsprechend trocken sein und die Quadratische Gleichung lernt er ja auch, daher spricht eigentlich nichts gegen die reine Konsolenprogrammierung.

    Dagegen einen einarmigen Banditen zu programmieren, getränke-automaten, Mathematische sachen umzusetzen (Beispielsweise ein programm das Funktionen plottet)ist interessant. Und das Motiviert.

    Und jetzt soll mir mal einer sagen, das ist in C/C++ genau so leicht wie in Java.

    Ist es, wenn ich OpenGL dafür nehme.
    Meinetwegen noch die SDL für die Eingabe und Maus dazu.



  • Informatik an Schulen ist ein Verbrechen.



  • Sqwan schrieb:

    Mitlerweile ist mir die Sprache auch recht egal. Wobei mir Smaltalk doch ein wenig speziell scheint von der Syntax her. Also die ist Extrem anders als bei Moderneren sprachen.

    ja is'das möglich 😃

    Ruby:

    [ 1, 2, 3, 4 ].inject(0) { | sum, item | sum + item }
    

    Smalltalk:

    #( 1 2 3 4 ) inject: 0 into: [ :sum :item | sum + item ]
    

    hm - hä ?



  • Zeus schrieb:

    Informatik an Schulen ist ein Verbrechen.

    Begründungen auch 🤡



  • auch nicht ganz unähnlich:

    Ruby:

    1.upto(10) { | n | STDOUT.write print n, "." }
    

    Smalltalk:

    1 to: 10 do: [ :n | Transcript show: n asString, '.' ]
    


  • Bashar schrieb:

    Zeus schrieb:

    Informatik an Schulen ist ein Verbrechen.

    Begründungen auch 🤡

    Oh nöeeee, wollte doch nur sowas in Raumm werfen aber,

    • Eine allgemeinbildende Schule hat nicht den Auftag Schüler ein Handwerk zu lehren. Themen wie Medienkompetenz oder Lerntechniken stehen nach meiner Meinung im Vordergrund, die ingesamt dann auch allen Schüler eher helft.
    • Informatik ist zu groß, als das man es in 3 Stunden pro Woche aka x Jahren etwas gescheites davon abgekommt. (Aus persönliche Erfahrung: dauert einige Konzepte viel zu lange die zu begreifen - Rekursion in 4 Semester in Prolog..., wann wird ein Schüler damit fertig? ).
    • Den Schüler, die davon wirklich profitieren, ist zu klein ( in meinen Fall 1/25, wenn es den Informatik gegeben hätte)
    • Außerdem ist es fraglich in welche Qualität Informatik unterrichter wird. (Aber das sind jetzt Stories von Dritten)

Anmelden zum Antworten