Hallo EmaNymton,
ich bin hier gerade über deinen Post gestolpert und dachte ich gebe dir eventuell mal etwas feedback wie wir bei uns in der Arbeitsgruppe Python benutzen und warum wir Java nicht bzw. es knall hart ignorieren.
Kurz zu unserer AG, wir forschen im Bereich der Biophysik mittels molekular Dynamik, müssen also massenhaft Daten durch unsere CPU's und vor allem die IO jagen (es sind öfters mal ein paar hundert GB). Früher war dieses Feld sehr FORTRAN lastig und auch heute existieren Unmengen an altem FORTRAN code (mit Vorliebe noch FORTRAN77), weswegen ich mir das mittlerweile auch schmerzlich beibringen musste (immerhin ist F95 Python erstaunlich ähnlich).
Ich habe vor ca. 1 1/4 Jahren mit Python angefangen zu programmieren und zwar als kompletter Anfänger. Hatte Programmieren weder in der Schule noch während meines Bachelor Studiums. Damals habe ich erst probiert mir Perl beizubringen, da das einer meiner Vorgänger benutzt hat und naja... heute kann mehr oder weniger niemand mehr seinen Quelltext lesen. Das hat mich dann auch sehr gestört weswegen ich mir dann wieder etwas anderes gesucht habe. Ich bin dann über die Community auf Python gekommen, da es zum einen gerade doch recht gehyped wird und zum anderen viele in unserem Bereich seit einiger Zeit in Python programmieren, weswegen eine Reihe exzellenter Librarys verfügbar ist.
Ich konnte relativ schnell das machen, was ich noch heute jeden Tag brauche, Daten einlesen, crunchen, plotten .... das ganze ging ohne IDE sondern schlichtweg mit dem Text Editor von statten. Mittlerweile bin ich zwar auf PyCharm umgestiegen (die es übrigens in einer free version gibt und excellent ist) trotzdem bräuchte ich in 90% der Fälle keine IDE selbst für große Projekte, wo es dann mal schnell ein paar tausend Zeilen Code werden. Mich selber hat immer motiviert, das alles sehr schnell ging und das ich vor allem dank IPython und Co schnell und einfach Code testen und benutzen konnte.
Mittlerweile muss jeder der bei uns anfängt Python lernen, lediglich meine Chefin weigert sich noch etwas, aber wenn man 30 Jahre lang F77 programmiert darf man das auch. Immerhin hat sie es jetzt doch endlich eingesehen spätestens nachdem ich ihr SymPy gezeigt hatte.
Python war immer schnell genug für alle Aufgaben und dank Numpy und co spart man sich viel Zeit. In den letzten Jahren habe ich auch Kurse in C und dem an den Unis bei Ingenieure sehr getypten Matlab gehabt und muss sagen, keine Sprache konnte mir bisher das bieten was mir Python bietet. Python ist schnell genug und dank Cython und f2py hatten wir noch nie Performance Probleme. Gerade dieses interagieren mit anderen Sprachen macht Python sehr mächtig wie ich finde, da es einem erlaubt, das beste zu kombinieren und sehr schnell und vor allem einfach glue code zu produzieren, welche meist 80-95% eine Projekts ausmacht.
Bzgl. den IDE Sachen möchte ich auch anfügen, das Programmieren mit IDE sehr viele Nachteile am Anfang hat. IDE's nehmen einem sehr sehr viel ab und man gewöhnt sich schnell an auf seine IDE zu vertrauen hinsichtlich Formatierung und Co. Ich finde es aber viel wichtiger per Hand lernen zu müssen, wie man guten Code schreibt. Noch heute bringe ich unseren studies Python ohne IDE bei und von Anfang an achte ich auf sauberen code. Erst nach 1-3 tagen wenn die Grundlagen sitzen, lasse ich sie an die IDE wobei für BA-Arbeiten viele dann bei IPython bleiben und hier sehr schönen Code produzieren.
Ich glaube also, dass es gut ist, wen du deinen Schülern Python beibringst, zum einen werden Sie später sicherlich was davon haben wenn sie mal in die NW's gehen und zum anderen ist vieles in Python viel einfach verständlich. Ein Beispiel ist Parallel Programmierung, welche ich heute viel wichtiger finde als OOP (ehrlich gesagt ist in den NW heute noch sicherlich 80% des codes prozedual und nicht OO), da es einen motiviert seinen Gehirnschmalz anzustrengen. Außerdem ist OOP sehr abstrakt wie ich finde und wenn man es nicht wirklich gut erklärt bekommt, steht man schnell da und versteht nur noch Bahnhof. Ein Beispiel ist hier eine gute Bekannte, welche von R kommt und jetzt Java lernen musste. OOP hat sie erst dank Python verstanden und selbst das hat ewig gebraucht. Selbst ich habe so meine Problemen mit OOP vor allem wenn man mal von dem Standard Krims Krams weg muss, wird es sehr schnell sehr wirr.
Ich verstehe auch nicht, warum GUI's im Lehrplan stehen, immerhin gibt es wesentlich wichtigeres und vor allem hat man schneller Erfolge. Ich fände es viel sinnvoller nach den ersten Gehversuchen mit Ratespielen und Co. einfach mal Datensätze einzulesen und zu verarbeiten. Das hilft dann auch bei anderen Schülerprojekten und man sieht eher warum Programmieren sinvoll ist. Ich meine was habe ich davon wenn ich irgend ein mehr oder weniger zinnfreies GUI programmiere? Viel anschaulicher ist doch, ich habe z.B. meine Kontoauszüge und will wissen wie meine monatlichen Ausgabe und Einnahmen sind. Bei sowas sieht man viel eher den Sinn, ist z.B. meine Meinung. Außerdem haben Terminals etwas sehr meditatives
Allerdings wirst du leider um JAVA nicht rumkommen dafür sorgt ja schon das Land (leider).