Es gibt 10 Arten von Menschen. Die, die binär rechnen können und jene, die es nicht können.
...if I did use a high-level language, what language should it be?
In the 1960s I would probably have chosen Algol W;
in the 1970s, I would then have had to rewrite my books using Pascal;
in the 1980s, I would surely have changed everything to C;
in the 1990s, I would have had to switch to C++ and then probably to Java.
In the 2000s, yet another language will no doubt be de rigueur.
Donald E. Knuth Emeritierter Prof für die Programmierung von Computern http://www-cs-faculty.stanford.edu/~knuth/taocp.html
Verfasser der "Algorithmen-Bibel" The Art of Computer Programming, ein "mustu kennen" für Programmierer und solche, die
diese Kunst erlernen wollen
Und da ist sie (IMHO), diese andere Programmiersprache: Python
Vor ein paar Wochen mußte ich auf die Schnelle darstellen, wie sich ein Rechtecksignal aus ein paar Sinusschwingungen recht gut annähern läßt. Wie das?? Ich war froh, daß es Python gibt. In jeder anderen Programmiersprache hätte ich keinen solch souveränen Eindruck schinden können (dummerweise war meine Vorbereitung auf einen Kursus für fortgeschrittene Programmierer alles andere als fortgeschritten, noch dümmer daß man sich als Kursleiter in keiner Menge verstecken kann)
f(x)= sin(x) + 1/3 * sin(3x) + 1/5 sin(5x) + 1/7 sin(7x) + ....
Das ist leicht gesagt, aber wenn man das ganze einfach zeigen kann, dann steigt nicht nur der Unterhaltungswert, sondern auch der Glaube der Schüler an solche Formeln. Mit Matplotlib hat man ein recht nützliches Tool auf der Platte, ich war für diese Stunde gerettet und für die folgende Woche vorgewarnt !!!
Ein Sudoku-Lösungsprogramm hatte ich kurz davor geschrieben, das ging schneller als eine Freeware im Netz zu finden!!! Im schlimmsten Fall sucht man ohne Vorbereitung nach Bugs, aber keine Viren, Trojaner etc., die man sich aus einem schick anmutenden Funktionenplotter einfängt.
Wenn man sich vor rund 30 Jahren fragte, was denn wohl 2+2 sei, dann hat man das in den C64 eingegeben und das Ergebniss kam dann auch ziemlich schnell (Meine ersten Versuche, Ausschnitte der Mandelbrotmenge zu berechnen, lassen wir mal beiseite, das dauerte schon mal eine Nacht und länger) Die Compilierzeit auf diesem Siemens Monster, mit dem ich als Student mein Programmier-Praktikum vertrödeln durfte war allerdings auch nicht ohne. Am Terminal neben uns versuchte sich ein Maschinenbauerduo in Fortran, während wir irgendwelche Näherungsformeln für Differentialgleichungen in Pascal nicht gebacken kriegten (lag wohl am Versuch, die Fehlermeldungen vom ersten Durchlauf mit zu Compilieren, was zu einer gigantischen Fehlermeldung führte)
Was aber sehen wir heute? Wenn man mit etwas Geduld den CALC gefunden hat dann ist fast alles gut. Fast, denn mit irgendwelchen komplizierten Formeln darf man den Windows Standardrechner auch nicht belästigen.
Es war Mitte der 80er als Student durchaus üblich, sich einen PC zu leihen. Für 25,- DM die Woche hatte man einen flotten Rechner samt Monitor und eine prall gefüllte Festplatte voller ansonsten unerschwinglicher Software. Turbo Pascal, nette Tools für Studenten der Elektrotechnik, und natürlich Spiele!!!
Obschon man auf IBM PC nicht verwöhnt wurde, wenn man die schönen bunten vom C64 gewohnt war.
Für diesen Zweck habe ich mich recht schnell mit Python angefreundet, da ist das Berechnen (wozu habe ich in erster Linie einen Rechner??) wirklich ein Kinderspiel (relativ zu anderen Abenteuern)
Eine erfreuliche Entwicklung (vom enormen Energieaufwand mal abgesehen) hat das Internet gemacht, von Projekten wie etwa Wikipedia bin ich durchweg begeistert. Weniger erfreulich ist die Menge an Schmuddelseiten und der dazu erforderliche Aufwand an Serverleistung, da ließe sich sicher sinnvolleres mit anstellen, aber ...
Da guck ich mir lieber auf Seiten wie Youtube an, wie die Kreativität der Leute zu steigen scheint, wenn man seine Talente weltweit veröffentlichen kann, dazu hier meine Favoriten.
Was aber nun das Programmieren angeht, kann ich jedem Neulinng, der sich nicht entscheiden kann, welche Programmiersprache er verwenden soll, zu Python raten. Das macht Spaß, führt in kürzester Zeit zu Ergebnissen und es ist eine sehr mächtige Sprache, die nach allen Seiten erweiterbar ist. So ist die Wandlung in C++ kein großes Problem, womit das Manko einer Interpretersprache keins mehr ist. (Was es auf Grund der heutigen Rechner ohnehin in den seltensten Fällen darstellt, die Geschwindigkeit ist mit dem GW-BASIC der original PC anno 1985 nicht zu vergleichen)
Meine ersten Programmierversuche machte ich bei der Bundeswehr Anfang der 80er auf einem in BASIC programmierbaren Taschenrechner. Ich hockte da vor einem Radarschirm und durfte nicht einschlafen, nicht ganz trivial Nachts von 2 bis 4, wenn man da etwa anfing zu lesen war man bei dem leisen einschläfernden Brummen der Lüfter schon geliefert. Es war eine lustige, vor allem wach haltende Beschäftigung, auf diesem kleinen "Computer" kleine Progrämmchen zu schreiben. Eins was uns lange beschäftigte war eines, das folgenden Satz schrieb:
Dieser Satz enthält drei a, ein b, ein c, fünf d, achtundzwanzig e, ein f, drei g, drei h, ... und vier z.
Wer mag kann das ja mal per Hand versuchen, viel Spaß!!! Es gibt da einen Artikel der beschreibt, wie sich jemand eine Pangram machine extra für die Lösung dieses selbstbezüglichen Satzes baute, sehr viel Zeit und Geld investierte und dann ungläubig sah, wie ein generischer Algorithmus den Satz in wenigen Stunden fertigstellte.