Schlagwort-Archive: Programmieren

10 PRINT ”HALLO WELT!”

Ein dunkelblauer Bildschirm. Ein hellblaues Kästchen blinkt hektisch und lädt mich dazu ein, dem Gerät vor mir Befehle zu erteilen. Wenige Stunden später fliegt ein Ballon quer über die Mattscheibe.

So oder so ähnlich haben sicher viele ihre ersten Programmiererfahrungen gesammelt – indem sie die kurzen Quelltexte aus dem Handbuch des C64 eingetippt haben und dann Lust auf mehr verspürten. Es war ja auch so einfach: Einen kleinen Schalter am Brotkasten umlegen, und nach wenigen Sekunden konnte man loslegen und den Computer mehr oder weniger sinnvolle Dinge vollführen lassen. Benutzeroberfläche und Entwicklungsumgebung für Programme waren eins. Heute liegen die Einstiegshürden etwas höher. Computernutzer werden selten durch die Umgebung dazu verführt, sich mit dem Programmieren zu beschäftigen. Sie müssen eigentlich zuerst den Wunsch dazu hegen und sich dann eine für sie passende Umgebung beschaffen.

Wer nun glaubt, dies wäre einer dieser “Früher war alles besser”-Beiträge, der irrt! Gerade das Internet eröffnet so viele Möglichkeiten, um die ich die heutigen Einsteiger beneide und die ich auch gern gehabt hätte. Die einzige Quelle für neuen Lern-Input war für mich lange Zeit das 64er-Magazin, das ich als 11-Jähriger (ab Ausgabe 4/91, ich weiß es genau) regelrecht verschlungen habe. Dann hieß es wieder lange Zeit warten, denn die Zeitschrift erschien ja nur alle vier Wochen. Andere Programmierbegeisterte zu finden, war in meiner beschaulichen Heimatstadt gar nicht so einfach – was konnte ein Schüler da auch groß tun, dessen Welt sich auf die Nachbarschaft und die Schule beschränkte?

C64 und Raspberry Pi

C64 und Raspberry Pi

Heute ist schon ein Browser das Tor zur Welt. Über Suchmaschinen finden sich Tutorials, es lässt sich in Foren Kontakt zu anderen aufnehmen, es können Fragen und Antworten ausgetauscht werden, usw. In der Code Academy lässt sich fast so einfach mit dem Programmieren loslegen wie auf dem guten alten C64 – in verschiedenen Programmiersprachen. Diejenigen, die sich auch gerne mit Hardware beschäftigen möchten, finden beispielsweise im Raspberry Pi eine kostengünstige Plattform. Das kleine Motherboard ist mit einer “General Purpose Input/Output”-Schnittstelle ausgestattet, die wie der User-Port des C64 frei programmierbar ist und zum Experimentieren animiert. Der Quelltext für einfache Beispiele, etwa für das Ein- und Ausschalten eines Signals, werden zusammen mit einer Entwicklungsumgebung gleich mitgeliefert.

Warum ist (mir) das so wichtig?

Vor einer Weile traf ich auf einen Studenten der Wirtschaftsinformatik, der zuvor nie wirklich programmiert hatte. Es stellte sich im weiteren Gespräch heraus, dass er überhaupt keine Vorstellung davon hatte, was im Inneren eines Computers vor sich geht. Was ein Compiler ist, konnte er sich gerade so zusammenreimen. Den Begriff Assembler hatte er schon einmal gehört, allerdings wusste er nicht, was es damit auf sich hat. In einer Vorlesung war zwar schon einmal der Begriff Von-Neumann-Architektur gefallen, aber was Register sind, wie im Rechenwerk durch geschicktes Verschalten von Gattern zum Beispiel eine Addition durchgeführt wird – pure Magie für ihn.

Nun könnte jemand einwenden: “Klar, Wirtschaftsinformatik. BWL mit Excel!” Zum einen bin ich aber selbst Wirtschaftsinformatiker, zum anderen war der Student nicht dumm. Er hatte sich lediglich nie intensiv damit auseinander gesetzt, wie Rechner tun was sie tun. Er hatte nie die Begeisterung kennengelernt, die beim Programmieren enstehen kann. Und möglicherweise hatte er nicht das Glück gehabt, im Gymnasium einem nerdigen Physiklehrer ausgesetzt gewesen zu sein. Das brachte mich zum Nachdenken. Muss jemand, der anfängt Wirtschaftsinformatik zu studieren, so etwas wissen? Oder erwartete ich das bloß, weil ich selbst zufällig schon viel davon mitgebracht hatte? Wie wichtig ist IT-Wissen für Durchschnittsbürger überhaupt?

Quelltext

Quelltext

Der Medienforscher Douglas Rushkoff meint dazu, Code Literacy sei im 21. Jahrhundert kaum verzichtbar. Wer die entsprechenden Fähigkeiten nicht mitbrächte, müsse alle Geräte und Programme so akzeptieren, wie sie angeboten werden. Jemand, der sich nicht näher mit IT auskennt, könne nicht unterscheiden zwischen technischen Einschränkungen und solchen, die bloß betriebswirtschaftlich begründet sind. Er oder sie wäre den Herstellern und Anbietern komplett ausgeliefert.

Jillian York von der Electronic Frontier Foundation geht sogar noch einen Schritt weiter. In einem Interview sagte sie, jeder sollte programmieren lernen, um sich zu schützen. Regierungen würden den Zugriff auf das Internet verstärken und Bürger zunehmend überwachen. Damit sind nicht nur Regime wie Syrien oder China gemeint, auch in Deutschland grassieren Sicherheitswahn und der Abbau bürgerlicher Rechte. York plädiert daher dafür, schon Kinder zu einer stärkeren Auseinandersetzung mit Computern jenseits von YouTube und Facebook zu bewegen.

Gehe zurück auf Los!

Damit wären wir wieder beim Ausgangspunkt meines kurzen Gedankenausflugs angekommen. Wie “verführen” wir Kinder dazu, sich mit der Technik hinter den bunten Bildchen zu beschäftigen? Für Schulen und Lehrpläne scheint es schwierig zu sein, mit der rasanten Entwicklung Schritt zu halten. Expertise lässt sich zum Glück in mehreren Städten über die Initiative “Chaos macht Schule” des Chaos Computer Club einladen. Vielleicht gibt es in Schulen aber auch falsche Ansätze? Dürfen kleine Hardware-Spielereien entwickelt werden, etwa mit dem Raspberry Pi? Kann erlebt werden, wie toll es sein kann, mit eigenen Programmen eigene Probleme zu lösen? Wird Begeisterung geweckt – oder doch abgetötet?

Was denkt ihr?

am 26.12.2012 erschienen im Diskmag „Digital Talk“ #96

Welche Kalenderwoche haben wir doch gleich?

While cleaning up my harddisk I stumbled upon an old piece of software: TimeTray. It’s a tiny program that I once wrote for a former colleague of mine. He was fed up with switching tools whenever he just wanted to know the current calender week — I’m not sure, but Windows 7, 8, 10, or later don’t even show the calender week when hovering with the mouse pointer over the time, right?

TimeTray does nothing but display the number of the current calender week in the system tray or task bar or whatever you call it. Just make sure that you’re running a Java Runtime Engine (e. g. the JRE from Oracle), and put TimeTray.jar into your autostart folder, crontab, … It should run on Windows, Linux, MacOS and who knows where. A standalone .exe file for Windows that doesn’t require Java might come later.

TimeTray is totally free, but in case you like it, please consider a small donation for Child’s Play Charity and mention „otacke sent me“ in the comments. Even $1 is highly appreciated!

I tweaked the program a little bit since its first incarnation. You can download the latest „somewhat stable“ version of TimeTray from github. That’s where you can also find the source code that you can use as you wish. It’s released under the DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE.

timetray-01-picsay.png


Deutsch

Beim Entrümpeln meiner Festplatte bin ich über ein altes Stück Software gestolpert: TimeTray. Das ist ein ganz kleines Programm, das ich mal für einen ehemaligen Kollegen geschrieben habe. Er war es leid, in Windows ständig in ein anderes Programm wechseln zu müssen, wenn er nur mal schnell die Nummer der aktuellen Kalenderwoche wissen wollte — ich bin nicht sicher, aber Windows 7, 8, 10 oder später zeigen nicht einmal die Kalenderwoche an, wenn man mit dem Mauszeiger über die Uhrzeit fährt, oder?

TimeTray macht nichts außer die aktuelle Kalenderwoche in der Taskleiste oder Menüzeile,  oder wie auch immer ihr es nennt, anzuzeigen. Stellt nur sicher, dass ihr eine Java Runtime Engine (z. B. die JRE von Oracle) installiert habt und kopiert TimeTray.jar in euren Autostart-Ordner, eure crontab, … Es sollte auf Windows laufen, auf Linux, auf MacOS und wer weiß noch wo. Eine eigenständige .exe-Datei für Windows, die Java nicht benötigt, kommt vielleicht später.

TimeTray ist absolut kostenlos, aber falls es euch gefällt, zieht doch bitte eine kleine Spende für Child’s Play Charity in Betracht mit dem Kommentar „otacke sent me“. Und wenn es nur 1 Dollar sein sollte…

Ich habe das Programm seit seiner ersten Fassung etwas angepasst. Ihr könnt euch die aktuellste „durchaus stabile“ Version von github herunterladen. Dort findet ihr auch den Quelltext zu eurer freien Verfügung. Ich veröffentliche ihn unter der DO-WHAT-THE-FUCK-YOU-WANT-TO-PUBLIC-LIZENZ.


Download: TimeTray