Seit ich am Computer daddeln kann faszinieren mich die Möglichkeiten, was man alles mit einem Computer für Computer erstellen kann. Also auch das Erstellen eigener Programme. Ich habe allerdings sehr lange gebraucht, um mich mit Programmieren zu beschäftigen. Das, was ich damals im Informatik-Unterricht in der Schule gelernt habe, war leider nicht zu viel zu gebrauchen. Es bot lediglich einen Einstieg, um zu verstehen, was beim Programmieren passiert, wie das abläuft und was dafür nötig ist. Mit DOSLOGO & WinLOGO, JavaHamster, WinAli und ähnlichem war man in seinen Möglichkeiten doch sehr eingeschränkt. Als wir mit Hilfe von BlueJ damals mehr oder weniger richtig in Java programmiert haben, wuchs mein Interesse immer weiter. Nur war mir Java zu der Zeit ein Buch mit sieben Siegeln. Ich konnte ein bisschen damit herumrechnen und öde Texte auf den Bildschirm zaubern. Das war’s.
Glücklicherweise war das aber auch gerade die Zeit, in der das Internet immer mehr Einzug in private Haushalte hielt. Also wollte ich Webseiten “programmieren”. In der BRAVO ScreenFun gab es dazu auch eine kleine Einführung, sowie eine Buch-Empfehlung. Ich habe mich dann in die Materie eingelesen und fleißig Webseiten erstellt, deren Quelltext eigentlich nur durch FrontPage hätte schlechter gestaltet werden können. Aber was soll’s? Ich konnte die Ergebnisse sofort begutachten. Ohne stundenlanges Kompilieren oder viel Geld für eine IDE auszugeben.
Kurz darauf gab es wieder eine interessante Buch-Empfehlung. Diesmal ging es um Programmieren im Allgemeinen. In dem Buch wurden die Sprachen BASIC, QBASIC, VB, VBA, C++ und Java vorgestellt und dem Leser anhand kleiner Tutorials näher gebracht. Die wurden mir aber schnell langweilig, weil ich nicht wusste wie man damit eine GUI erstellt.
Schließlich bin ich bei PHP gelandet. Das konnte ich mit meinem Wissen über HTML & CSS hervorragend kombinieren. JavaScript wurde damals von vielen Benutzern aus Sicherheitsgründen deaktiviert und stellte somit keine Option für mich dar.
Dank XAMPP ist es kein Problem PHP-Code, der einen Server zur Ausführung benötigt, lokal auf dem eigenen Rechner auszuführen. Super Sache.
Mittlerweile bin ich aber an einem Punkt angelangt, an dem ich bestimmte Anwendungen erstellen möchte, die aber nicht auf meinem Server ablegen will. In einigen Fällen ist das auch einfach nicht sinnvoll oder überhaupt möglich.
Es stellt sich nur die Frage, welche Sprache man dafür wählt. Und in genau dem Dilemma stecke ich gerade.
Python
Schöne Sprache, leicht zu lernen. Mit Tkinter lassen sich auch relativ leicht GUIs erstellen. Bereitet mir aber Schwierigkeiten bei der Weitergabe der Programme an Windows-User.
C
Weit verbreitet, sehr mächtig, recht kompliziert und schon ziemlich alt. Hab mich bisher nicht ernsthaft dran getraut.
C#
Junge, moderne Sprache, die auf C basiert. Allerdings kommt sie aus dem Hause Microsoft und ist deshalb für mich als Linux-User uninteressant.
C++
Quasi Nachfolger von C, ebenfalls sehr mächtig und weit verbreitet, aber auch kompliziert. Ich habe angefangen C++ und auch Qt zu lernen, komme aber bisher noch nicht so recht damit klar. Außerdem habe ich auch hier wieder Probleme beim Kompilieren meiner Programme für Windows.
Java
Sehr weit verbreitet, ist auf sehr vielen Computern vorhanden. Bislang hat mir Java gar nicht zugesagt, aber seit ich vor ein paar Tagen damit angefangen habe, ändert sich meine Meinung nach und nach. Die Erstellung von GUIs empfinde ich als einfacher als bei Python oder C++ und solange ich keine systemspezifischen Methoden benutze, sollte ich keine Probleme mit Windows bekommen. Allerdings finde ich sowohl Eclipse, als auch NetBeans ziemlich verwirrend. Was aber daran liegen könnte, dass ich bislang nicht wirklich mit IDEs gearbeitet habe.
Fazit: Ich lerne jetzt erstmal Java und gucke, wo es mich überall hinführt und gehe dann weiter in Richtung C++. Programmieren zu können kann manchmal sehr nützlich sein. Auch wenn man es (so wie ich) nur auf einem relativ niedrigen Level (nämlich als Hobby) kann.
Warum überhaupt das Ganze? Nun, aktuell möchte ich meinen Seifenrechnern auch denen zur Verfügung stellen, die nicht 24/7 online sind bzw. sein können. Und je mehr ich dazu lerne, umso mehr Möglichkeiten werden sich mir bieten. Es gibt schließlich immer mal Situationen, in denen man bestimmte Vorgänge mit einem kleinen Programm beschleunigen möchte.