Menü
Avatar von ddtthh
  • ddtthh

mehr als 1000 Beiträge seit 31.07.2015

Re: Unsinn.

Fakt bleibt: ein signifikanter Teil der Lehrenden teilt meine Ansicht.

Nö, das ist reine Fantasie. In osteuropäischen Ländern wird die Sprache wohl an Schulen noch verbreitet unterrichtet. Warum ist völlig offen, offensichtlich hat man da, im Gegensatz zu anderen Teilen Europas, die Lehrpläne nicht geändert. Vielleicht ist man auch nur etwas hinterher.

Das ist kein Beleg für ihre Korrektheit, aber ein klarer Beweis dafür, dass es sich nicht nur um meine persönliche Meinung handelt.

Du weißt nichts über die Motivation der Leute da. Dazu hätte man sie befragen müssen.

Ich warte auf Belege für deine Theorie der umfassenden Inkompetenz dieser Fachleute als Ursache dafür.

Was Du erwartest, ist mir egal. Ich habe nicht gesagt, dass osteuropäische Lehrer inkompetent wären. Vermutlich gibt es andere Gründe dafür.

Am Rande bemerkt: Dass es sich dabei nicht nur um Informatiker handelt, kann durchaus auch positiv sein, denn viele Informatiker neigen, wie auch andere Ingenieurswissenschaftler, zu schlechter Allgemeinbildung und Fachidiotentum.

Tun andere Fächer genau so.

Die Aussage ergibt sich unmittelbar aus der Tatsache, dass die Sprache noch breitflächig erwünscht und vertreten ist, obwohl sie keinerlei Fürsprecher mehr außerhalb des Bildungssektors hat.

Fürsprecher außerhalb des Bildungssektor sind für die Wahl bei dem Wettbewerb ja irrelevant. Also belegt die Wahl nur, dass diese Sprache irgendwo gelehrt wird, nicht warum.
Irgendwie scheint Dich das komplett zu überfordern, dass Deine Aussagen Dein einzige Beleg einfach nicht her gibt.
Und wie gesagt werden viele akademische Sprachen an Unis als Lehrsprachen eingesetzt. An Schulen weniger, weil man da vor Allem an Vorgaben von Ministerien gebunden ist.

Du darfst aber gern versuchen, eine alternative Erklärung dafür zu finden.

Habe ich, Du weigerst Dich nur, sie zu akzeptieren.

https://www.openhub.net/languages?query=&sort=code

Hm, interessant. Ich habe leider nicht so recht herausgefunden, was die Datenbasis ist. Offensichtlich einige, große Opensourceprojekte.
Wenn man diverse andere Metriken aus allerlei Quellen ansieht, etwa die typischen Rankings der Popularität oder auch Github-Statistiken (da gibt es leider keine LOCs, sondern nur Commits, Projekte, ...), dann ist C dagegen weit abgeschlagen.

Ich vermute, dass das daran leigt, dass C einmal eine sehr Hardware-nahe Sprache ist, und oft sehr viel Code geschrieben wird, um etwas zu erreichen. Und daran, dass in die Statistik einige sehr große C-basierte Hardware-Projekte einfließen.

Auch ist der Großteil des produzierten Codes natürlich kein Opensource. Javascript und Java treiben etwa viele Business-Anwendungen und ähnlichen Kram an. Bereiche, in denen der meiste Code entstehen würde. Denn da arbeiten ja auch die meisten Entwickler. Natürlich ist das oft weniger langlebiger Code, aber es dürfte die Masse sein.

Letzen Endes ging es aber um die Frage, ob man bei einer imperativen Sprache heute erwarten kann, dass es in irgend einer Weise OO gibt, oder ob das etwas besonders ist.
Und das ist es halt nicht. Selbst C wurde um OO erweitert. Es überrascht daher auch komplett nicht, dass Pascal es wurde. Fortran wurde es auch. Es dürfte keine imperative Sprache geben, die noch nennenswert genutzt wird, die nicht irgendwer um OO erweitert hat. C ist wie gesagt auch kein Beispiel dafür.

Ich empfinde es als nichts besonderes mehr. Du siehst das anders. Warum das so ist, weiß ich nicht, vielleicht hast Du in einer anderen Zeit programmieren gelernt. Es ist aber auch nichts, worüber es sich lohnt, eine Diskussion zu führen, denn es ist eine rein persönliche Einschätzung.

Ein großer Anteil des verfügbaren C++-Codes ist schwerpunktmäßig imperativ; das liegt daran, dass viele Entwickler einfach nur einen C++-Compiler nutzen und simple C++-Konstrukte aus Komfortgründen, aber effektiv 90% ihres Codes reines C ist.

Vielleicht, weiß ich nicht. Ich habe ehrlich gesagt keine Lust mehr, über Punkte zu streiten, die mich nie interessiert haben.
Wenn Du heute einen zufälligen Programmierer fragst, ob es ihn überraschen würde, wenn eine Programmiersprache OO-features hat, wird er vermutlich "nein" sagen.

Und damit liegst du nachweislich falsch. Diese "Kosmetik" sorgt nämlich z.B. dafür, dass ohne messbaren Mehraufwand eine der kritischsten Fehlerklassen, nämlich Buffer Overflows, drastisch eingedampft wird.

Habe ich mich vielleicht falsch ausgedrückt. Sicher vermeidet das viele Fehler. Aber es löst das Kernproblem nicht. Manuelle Speicherverwaltung macht Arbeit, und die wird man durch Rangechecks alleine nicht los.

Rust ist ein interessantes Projekt, aber sicher nicht anfängerfreundlich. Die Syntax ist umständlich und das Borrowing-Konzept gut durchdacht, aber, da haben wir es wieder, völlig unintuitiv.

Man muss für das Borrowing-Konzept nichts verstehen, dass man nicht verstehen muss, wenn man mit manueller Speicherverwaltung arbeiten will. Da ich das für vergleichsweise kompliziert halte, würde ich das aber auch nicht als erste Sprache vermitteln. Jedenfalls nicht an Schüler.

Bei typischen Anfängerprogramme compilieren außerdem auch mit Borrow-Checker erstmal einfach. Das war bis vor Kurzem noch anders, geht nun aber gut.

Du steigst ja z.B. auch nicht mit Quicksort oder Heapsort ein, sondern mit Bubblesort.

Das ist etwas anderes. Da geht es um das Verständnis von Algorithmen überhaupt. Keiner programmiert später groß Bubblesort. Es geht darum, wie man bestimmte Ziele beim Programmieren erreicht. Und imperatives Manipulieren von Datenstrukturen ist sehr umständlich.

Simple Faustregel: wann immer die unter Fachleuten übliche Lösung zu komplex für Anfänger ist, zeigt man diesen zunächst eine einfachere; daran gibt es nichts abzulehnen.

Unsere Meinung unterscheidet sich hier wohl bezüglich "zu komplex".
Man muss hier auch beachten, dass sich Anfänger da in ihren Fähigkeiten und auch in ihrer Weise zu denken, stark unterscheiden.
Die Idee, es gäbe "die Lösung" ist schon absurd.
Imperatives Programmieren ist jedenfalls etwas, was ziemlich schnell sehr kompliziert und undurchschaubar wird. Man sollte nicht den Eindruck entstehen lassen, dass das so sein müsste.

Nein. Du vermittelst leider den Eindruck völliger Betriebsblindheit und besitzt offenbar keinerlei Gespür dafür, was für Nichtfachleute gut lesbar und verständlich ist. Rust ist für Programmieranfänger nichts als Kauderwelsch.

Ich hab genug mit Programmieranfängern zu tun. Aber Du vermittelst den Eindruck, dass Du meinst, Du hast das didaktische Konzept für Alle gefunden. Das ist vermutlich der einzig sichere Indikator, dass jemand komplett daneben liegt.

Du verstehst nicht, wie die Kids ticken, das ist ein Muster, das sich durch deine gesamte Argumentation zieht.

Du erweckst den Eindruck, Kids wären eine homogene Masse. Zunächst einmal hatte ich Deine Aussage für Pascal als Lehrsprache auch für wesentlich pauschaler gehalten. Dass es Dir vor Allem um jüngere Schüler geht, wurde mir erst mit der Zeit klar.
Allerdings sind "Kids" auch sehr verschieden. Natürlich gibt es da auch welche, die Mathematik stark motiviert, und die ein abstrakter Zugang auch motivieren würde.
Es gibt natürlich auch welche, die dann komplett desinteressiert oder überfordert sind, oder für die schnell was blinken muss.
Ändert sich eigentlich auch später nicht so grundsätzlich, nur trennen sich die Leute dann etwas stärker. In der Schule muss man halt jeden irgendwie erreichen.

Es erreicht genau diejenigen, die 1-2 Jahre später ihr Informatik-Studium beginnen.

Und? Sollte die Schule denen nix bieten?

Darüber kann man streiten. Fakt ist aber auf jeden Fall, dass man so generell mehr über die Maschine "Computer" lernt, weil die eben durch und durch imperativ funktioniert.

Naja. Wenn man nur Pascal programmiert, so wie ich das auch noch im Informatikunterricht gemacht hat, erfährt man nichts über einen Computer.
Zwar ist eine Registermaschine natürlich imperativ, aber man weiß das ja nicht, wenn es einem keiner vermittelt.

Speicherverwaltung war da nur Beifang, also wo ist das Problem? Oder möchtest du behaupten, die Kids seien heute einfach dümmer? :)

- Einführung in Algorithmen und Datenstrukturen, von den Basics bis hin zur Rekursion und balancierten Bäumen
- Schaltungslogik und -technik von den Basics bis hin zum JK-Master-Slave-Flipflop und praktischem Aufbau einer ALU
- Einführung in die Assemblerprogrammierung und freie Projekte

Und das haben alle komplett durchdrungen? Aber ein paar funktionale Basics sind dann echt zu viel?
Sorry, Du erweckst einfach den Eindruck, dass Du meinst, dass man genau das genau so gelernt haben muss, wie Du das gelernt hast. Und dass das genau der einzige Weg und der Beste ist.
Wer wirklich mit Rekursion klar kommt, versteht auch, was eine Funktion ist, und dass man die als Wert übergeben kann.

Klar wird das vermittelt und es spricht auch nichts dagegen, es ist nur wenig praxisrelevant. Du weißt doch: funktionale Sprachen sind die Zukunft der Softwareentwicklung, in etwa so, wie die kalte Fusion die Zukunft der Energieversorgung ist. Mit anderen Worten: sie werden auch immer die Zukunft bleiben ^^

Quatsch. Praktisch alle neueren Sprachen haben heute funktionale Elemente und viele wurden um diese erweitert. Von daher ist dieser Spruch mittlerweile überholt.

Wie oben noch mal erläutert, geht aus der IOI-Quelle hervor, dass ein signifikanter Anteil der Informatiklehrenden meine Ansicht vertritt.

Wie oben erleutert, hast Du dafür natürlich keinen Beleg.
Ich betrachte diese Debatte damit als beendet. Wenn da kein neues Argument kommt, gehe ich nicht weiter drauf ein.

Weiter unten demonstrierst du zudem, das Upton-Video immer noch nicht aufmerksam gesehen zu haben.

Habe ja um Verständnis gebeten, dass ich zu faul für Deine Arbeitsaufträge bin...

"Die Ausrichter des IOI/BWInf sind keine Fachleute"

Habe ich nicht gesagt.

"(Schüler-)Wettbewerbe sind unwichtig"

Ist meine Meinung ja. Didaktisch zudem für mich nicht überzeugend.
Sehe nicht, dass es zu dem Punkt eine "Wahrheit" geben kann, aber Du kennst sie vermutlich.

"Lehrsprachen müssen für die Uni geeignet sein, nicht für die Schule"

Habe ich auch nicht gesagt. Deine ursprüngliche Aussage war völlig pauschal.
Lehrer sind in ihrer Entscheidung was sie lehren, aber nicht frei. Deswegen ist die Beobachtung, dass sie etwas tun, allein, nicht sinnvoll.
Abgesehen davon beschäftigen sich natürlich auch Wissenschaftler an Unis mit der Frage, wie man Schülern etwas beibringt. Solche Leute wären sicher auch gute Quellen.

"Anspruchsvoller Informatik-Unterricht ist in der Schule nicht notwendig/möglich"

Habe ich nicht gesagt. Ich habe gesagt, dass der Umfang, der im Vergleich zu Mathematik gering ist, dem erzielbaren Verständnis in der Breite grenzen setzt. Und de facto weiß ja kaum der Schulabgänger, der nicht besonders interessiert ist, irgendetwas über Informatik.

"Rust ist eine geeignete Einsteigersprache"

Ich habe gesagt, dass ich sie besser finde um manuelle Speicherkontrolle zu unterrichten, als andere Sprachen.
Ich habe auch gesagt, dass das mein Gefühl ist, nicht, dass ich das für einen stehenden Fakt halte.
Solche Fakten behauptest nur Du. Deswegen kann man mit Dir ja auch nicht vernünftig diskutieren.

Soll ich weitermachen oder möchtest du erstmal in dich gehen?

Aus diesem Satz spricht schon wieder ein Level von Arroganz.
Bist Du eigentlich Lehrer? Denn ich hoffe schwer, dass nicht.

Mehrgleisigkeit ja, z.B. ist Python in der Mittelstufe oder bei den Kleinen vermutlich eine gute Lösung, quasi als moderne BASIC-Variante. Aber in der Oberstufe und bei den Undergraduates bietet Python wie gesagt einfach zuviel Abstraktion und zu wenig Maschinennähe.

Wenn jemand mal die Grundlagen kennt, kann man ihm auch deutlich mehr zumuten. Da braucht es dann auch kein Pascal mehr. Es kommt da weniger aufs absolute Alter an, sondern auf die Vorbildung. Wenn die Konzepte in Python gut verstanden sind, habe ich auch kein Problem mehr mit beispielsweise Rust.

Du hast irgendwie wahnsinnig Angst davor, Leuten zu viel zuvermuten, oder etwas zuzumuten, dass Du erst später oder anders gelernt hast.

"Schülerwettbewerbe sind irrelevant für Lehrsprachen, da zählt nur die Uni"

Habe ich so auch nicht gesagt. Die Uni war ein Beispiel, weil da Menschen unabhängig voneinander Lehrsprachen auswählen. Eine Umfrage unter Lehrern wäre sicher auch viel wert.
Ein Auftauchen in einer Liste ohne genannte Kriterien oder Begründung ist kein Argument. Das habe ich nun oft genug ausgeführt.
Das liegt einfach daran, dass es keinen Beleg dafür gibt, dass die Lehrer, die noch Pascal unterrichten, dies tun, weil sie das für die beste Sprache halten.
Was Du belegt hast (oder eigentlich behauptet, aber ich glaube Dir den Teil), ist, dass in Osteuropa noch viel Pascal unterrichtet wird.
Die Motive können wie ausgeführt vielfälltig sein. Auch hier nochmal, ohne neues Argument ist die Diskussion dazu für mich durch.

https://cscircles.cemc.uwaterloo.ca/de/

OK, gibt auch Leute, die es anders versucht haben, hier beschreiben zum Beispiel Wissenschaftler ihre Erfahrung mit funktionaler Programmierung für Erstsemester: https://www.researchgate.net/publication/2345572_Teaching_Functional_Programming_to_First-Year_Students
Man findet auch immer wieder einzelne Vorlesungen, die funktionale Programmierung für Erstsemester einfügen, hier einer, der es wohl mit Scala macht (http://www.programmingusingscala.net/ für CS1/2). Scala wäre mir persönlich vermutlich zu komplex und die Komplexität zeigt sich evtl. zu leicht.

Das sind alles Einzelbeispiele, eine systematische Untersuchung dazu kenne ich nicht.
Aber ich glaube, dass man Anfängern einmal etwas zutrauen sollte, eine gewisse Bereitschaft zum Experimentieren haben sollte, und dass vieles an der Didaktik im Detail hängt.
Du scheinst Dich schon längst darauf festgelegt zu haben, dass Du genau weißt, wie es geht und wie es muss, und dass alle, die mal was Anderes versuchen würden, ganz sicher keine Ahnung haben können.

Haben sie ja schon. Im Diplomstudiengang wurden 90% der Theorie ins Vordiplom gestopft, im Hauptstudium gabs dann nur noch 1-2 Mathevorlesungen und eine Vertiefung in TheoInf in homöopathischer Dosis.

Im Hauptstudium konnte man bei mir vor Allem auswählen. Wer da Theorie bis zum Abwinken wollte, der konnte das natürlich machen. Die meisten Grundlagen waren natürlich durch, die theoretischen wie auch die praktischen.

Im B/M-System wurde das entzerrt und eher gleichverteilt.

Wie es genau aussieht, ist sehr unterschiedlich. Aber es ist meist so, dass die Fähigkeiten komplexe Konzepte zu verstehen, mit dem Verlauf des Studiums nicht nennenswert zunehmen. Es gibt nur mehr Vorwissen, was manche Dinge etwas erleichtert. Aber ob man etwa formale Logik in Semester 1 oder 8 macht, macht fast keinen Unterschied bezüglich des Lernerfolgs. Das Ergebnis, wenn man zu viele Fächer nach Hinten schiebt, sind daher höhere Abbruchquoten weiter Hinten im Studium.

Hättest du das Video aufmerksam gesehen, wüsstest du sogar, was die genauen Auswirkungen sind, wenn man erst an der Uni anfängt zu Programmieren, die werden dort nämlich genannt :)

Ok, dann hast Du mir also nie verraten, was Du aussagen willst.
Auf diese Spielchen mit "rat aus Videos was ich meine", habe ich keine Lust.
Ich habe auch schon mindestens in einem füheren Beitrag gesagt, dass Du einfach sagen sollst, was Du sagen willst.
Von daher ist der Punkt jetzt wahrscheinlich auch durch. Wenn Du es mir sagen wolltest, hättest Du es ja vermutlich mittlerweile getan.

Bewerten
- +
Anzeige