Ich denke, "Skriptsprache" ist ein schreckliches Wort, das extrem veraltet ist oder bestenfalls zu einer Klasse von domänenspezifischen Sprachen passt. Ihr Lehrer richtet einfach alles, worüber er offensichtlich nicht genug Verständnis hat, auf eine Achse des Bösen aus.
Eine vernünftige Unterscheidung ist die zwischen Hochsprachen und Niedrigsprachen oder zwischen statisch und dynamisch typisierten Sprachen, die wirklich orthogonal sind.
Assembler ist auf niedriger Ebene dynamisch typisiert (wenn es überhaupt Sinn macht, von Typen zu sprechen), C ist auf niedriger Ebene statisch typisiert, Ruby ist auf hoher Ebene dynamisch typisiert, Haskell ist auf hoher Ebene statisch typisiert. Java ist weder auf hoher noch auf niedriger Ebene statisch typisiert, C ++ ist sowohl auf hoher als auch auf niedriger Ebene statisch typisiert. Und so weiter.
Die Diskussion kann nur sein, welche Paradigmen für einen Einsteigerprogrammierer besser geeignet sind.
Ich bin ziemlich davon überzeugt, dass Low-Level-Programmierung wahrscheinlich keine ist. Es könnte schon in den frühen 90er Jahren gewesen sein, als man damit in angemessener Zeit tatsächlich interessante Ergebnisse erzielen konnte.
Aber das Programmieren wird von Leidenschaft angetrieben. Leidenschaft wird durch Belohnungen genährt. Anfänger sollten daher mit lohnenden Tools beginnen. Niedrigstufige Werkzeuge lohnen sich nicht mehr, da es eine Unmenge hochstufiger Werkzeuge gibt, mit denen Sie in einem Bruchteil der Zeit das gleiche Ergebnis erzielen.
Das menschliche Denken ist abstrakt. Wenn wir lernen, die Welt zu verstehen, tun wir dies durch sehr grobkörnige Abstraktionen und gehen bei Bedarf ins Detail.
Damit ein Kind seine Umwelt versteht, wird es nicht Mathematik, dann Physik, dann Chemie, dann Biologie, dann Geschichte, Soziologie und Philosophie unterrichtet. Du gibst ihm ein sehr einfaches Modell der Welt, um damit fertig zu werden und wirst, wenn er jung ist, endlos Fragen auf dich werfen und deine Autorität später komplett negieren.
So denken wir. Das menschliche Gehirn kann nur begrenzte Informationsmengen "Einheiten" verarbeiten, aber der Grad der Abstraktheit spielt bei der Quantisierung von Informationen nur eine geringe Rolle. Zum Beispiel: Das Lesen des Ausdrucks '34 * 75 'ist für uns einfacher als das Berechnen, während es für Computer umgekehrt ist. Ein Bündel schwarzer Pixel in einer verzerrten Linie zu erkennen (und damit zu abstrahieren), die dann als einzelne Ziffer erkannt (und damit wieder abstrahiert) werden kann, ist ein enormer Arbeitsaufwand.
Meine Großmutter versteht die Idee, eine Datei zu öffnen. Unter dieser Ebene hat sie jedoch kein Verständnis. Und ehrlich gesagt, wenn sie dies hätte lernen müssen, indem sie zuerst die internen Abläufe der Hardware und des Betriebssystems studiert hätte und was nicht, wäre sie nie dort angekommen.
Es gibt eine Menge Leute, die Dinge überkomplizieren, weil sie nie gelernt haben, in klaren, präzisen und dabei eleganten Lösungen zu denken, sondern sich zu viel Zeit mit austauschbaren Details auf niedriger Ebene und der Lösung von Problemen mit diesen zu beschäftigen. Menschen beizubringen, wie Computer zu denken, ist der schlechteste Ansatz für die Programmierung.
Der Wert der Programmierung liegt in der Lösung eines Problems. Das Ausdrücken als Code ist eher eine langweilige, mechanische Aufgabe und sollte einfach mit allen geeigneten Werkzeugen durchgeführt werden.
Oh, und mach dir keine Sorgen, dass du die Hinweise nicht verstanden hast. Ich hatte ungefähr das gleiche Problem im gleichen Alter. Das Problem ist hier auch die fehlende Abstraktion. In der Regel lernen Sie Zeiger aus einem C-Buch kennen, und während Sie Schwierigkeiten haben, sie zu verstehen, geht dies mit der Speicherzuweisung und damit mit dem Stapel- und Heapspeicher usw. einher. Das abstrakte Konzept hinter Zeigern ist Indirektion. Eine Variable, die einen Index für ein bestimmtes Array enthält, ist genau das (tatsächlich ist es in C dasselbe, wo das bestimmte Array Ihr Adressraum ist), und Sie benötigen hierfür keine Zeigerarithmetik.
Dies soll nur veranschaulichen, dass die Auswahl einer hohen Abstraktionsebene das Verständnis der Dinge erheblich erleichtert.
EDIT: und wenn es um das Tippen geht, bevorzuge ich statisch getippte Sprachen. Und ich denke, Programmierer für Einsteiger sollten das Konzept der Typen (das abstrakt ist) klar verstehen.