Samstag, 12. Juli 2014

Mein Gehirn in Sirup eingelegt

Ich hatte früher schon Probleme mit Mathematik und dem Nachvollziehen von logischen Ereignissen. Wahrscheinlich habe ich dahingehend inzwischen eine regelrechte Blockade aufgebaut, denn bei mir fallen die Groschen dermaßen langsam, dass währenddessen Weltgeschichte geschrieben wird.
Es dauert also unglaublich lange, bis ich dieses ganzen Dinge kapiere. Geht das eigentlich nur mir so?
Ich arbeite jetzt, wie schon erwähnt, mit dem Buch, mit Gailer und mit dem erwähnten Video-Tutorial. Ich springe mal hierhin mal dorthin. Was ich schon verstanden habe: Praktisches Üben ist unerlässlich, wie bei allen Sachen, die man lernt.
Im Buch hänge ich immer noch auf Seite 11 fest (ja, Seite 11 von 675 - das kann ja was werden!). Ich habe das mit den Schleifen noch nicht drauf. Dafür habe ich das mit den Deklarationen und Initialisierungen von Variablen kapiert, ist ja nicht so schwer. Außerdem habe ich schon einen Währungsrechner programmiert und habe den Booleschen Test verstanden. if und else ist mir nun nicht mehr unbekannt. Aber ich muss es halt üben.
Diejenigen, die sich mit der Thematik auskennen, werden wahrscheinlich über das, was ich schreibe, lachen. Das, was ich gerade lerne, sind die aboluten Grundlagen, auf denen alles andere aufbaut. Da ist eigentlich noch nichts Kompliziertes bei.

Übrigens habe ich eine weitere Seite gefunden, auf der es Übungsaufgaben für Java gibt:
http://wiki.freitagsrunde.org/Javakurs/%C3%9Cbungsaufgaben

Montag, 30. Juni 2014

Ich bin der König der Welt!

Jaha, ich habe es geschafft. Ich habe endlich das JDK ans Laufen bekommen und die ersten Zeilen erfolgreich ohne Syntaxfehler programmiert. War auch ziemlich easy, hatte noch nichts mit Nachdenken zu tun sondern nur mit Abschreiben.
Habe mir auch gleich die Entwicklungsumgebung Eclipse runtergeladen, weil das einfacher sein soll.
Nun gut, in die Hände gespuckt, jetzt geht es richtig los. Diese ganze Variablen-Sache hat mehr mit Mathematik zu tun als ich dachte. Ich hatte ja erwähnt, dass ich auf dem Gebiet eine Null bin. Mal sehen, wie weit ich komme.

Sonntag, 29. Juni 2014

Erste Frustration

Ich bin ein kleines bisschen gefrustet, denn es ist alles doch schwerer, als ich es mir vorgestellt habe.
Ich stecke noch immer im ersten Kapitel fest und es werden bereits so viele Begriffe verwendet, die ich nicht verstehe und von denen augegangen wird, dass ich sie verstehen müsste, dass mir schwindelig werden könnte.
Das ärgert mich sehr, weil ich mir dieses Buch, dieses sehr teure Buch, ja gekauft habe unter der Vorraussetzung, dass es sich an Anfänger richtet, die keine Ahnung vom Programmieren haben. So wurde es angekündigt und jetzt stehe ich da und habe, wie im letzten Blogbeitrag geschrieben, diesen Hinweis bekommen, dass sich das Buch für mich eigentlich nicht eignet.
Wie gesagt möchte ich mich trotzdem durchbeißen, aber ich muss noch weitere Tutorials nebenher machen, um die grundlegensten Grundlagen von Programmiersprache zu lernen.
Ich denke, wenn ich die Grundlagen, die Grundbegrifflichkeiten verstehe, wie z.B. das mit den Variablen oder den Integer-Werten oder Funktionen oder was auch immer das ist, ich denke, dann kapiere ich das alles auch viel besser. Nur, bei sämtlichen Tutorials, die ich bisher gefunden hatte, wurde davon ausgegangen, dass man bereits irgendetwas kann.
Aber ich kann gar nichts. Das ist das große Problem.
Ich denke, wenn es einmal "Klick" gemacht hat, dann geht es rasch voran.

Zum Glück gibt es ja meinen guten alten Freund YouTube, auf dem ich eine interessante Tutorial-Reihe gefunden habe.
Der User hageldave erklärt in seiner Video-Reihe das Programmieren mit Java für den Anfänger. Und zwar für den richtigen Anfänger. Seine Erklärungen sind nicht perfekt, nicht optimal, aber er arbeitet praktisch und erklärt zu allem, was er macht, das Hintergrundwissen. Es ist nicht ausschließlich gut, aber prima als Ergänzung zu "Java von Kopf bis Fuß" und den Tutorials von Herrn Gailer.

Ansonsten wollte ich heute Vormittag außerhäusig etwas an meinem Netbook programmieren, bzw. die ersten Baby-Zeilen schreiben. Einfach üben, wie es im Buch steht. Leider habe ich mir Java 8 runtergeladen, das auf meinem XP-System nicht mehr läuft. Hätte Java 7 nehmen müssen und jetzt sitze ich hier, und kann nichts machen. Da muss ich wohl warten, bis ich wieder zu Hause bin. Ärgerlich, hatte mir das so schön vorgestellt.

Samstag, 28. Juni 2014

Hätte ich doch anders anfangen sollen?

Heute ist endlich das Buch "Java von Kopf bis Fuß" angekommen. EIgentlich kostet es 50 €, ein ganz schöner Batzen. Ich habe es bei Ebay für 30 € bekommen.
Trotzdem: Viel für ein Buch zu einem Thema, von dem ich gar nicht weiß, ob ich es überhaupt packe.
Aber ich bin mal optimistisch, habe ja schon viel Gutes über das Buch gelesen, und schlage es auf. Doch was erwartet mich gleich auf den ersten Seiten? Folgendes:

Ähm ... ja. Da falle ich eigentlich gleich durchs Raster. Im ersten Abschnitt ist es nämlich so, dass ich eben keinerlei Erfahrung mit dem Programmieren habe, nicht mal ein bisschen. Ich weiß zwar inzwischen durch das Tutorial von Hernn Geiler Gailer, dass es Schleifen gibt, womit bestimmte Operationen immer und immer wieder wiederholt werden, klar, aber geschrieben habe ich so etwas noch nicht, weiß noch nicht mal, wie so eine Schleife überhaupt aussieht.
Da musste ich schon hart schlucken.
Und im zweiten Teil muss ich gleich die erste Frage mit "Ja" beantworten. Genau das hatte ich doch in meinem ersten Beitrag geschrieben. Ich kann ein bischen html, kann keine Scriptsprache.

Ups, das sind richtige Dämpfer für mich.
Trotzdem gehe ich die Sache an. Dann werde ich mir halt unbekannte Dinge aneignen. Inzwischen gibt es doch für fast alles ein Tutorial, nicht wahr?

Meine erste Aufgabe ist es, die Begriffe Syntax und UML zu verstehen, auch wenn sie nicht wirklich relevant sind. Aber ich möchte kein Buch lesen, bei dem ich bestimmte Wörter (und das werden nicht die einzigen sein) immer überlese, weil ich denke, sie seien nicht wichtig. Spätestens im fortgeschrittenen Stadium eines solchen Buches werde ich nur noch spanisch, nein, das ging ja noch, chinesisch verstehen.
Also fange ich so richtig elementar an.
Nach der Recherche zu diesen Worten muss ich mal Java installieren. Was ich noch machen muss, ist einen Eintrag zu meiner PATH-Umgebungsvariablen hinzufügen, damit das Programm laufen kann.
Natürlich habe ich keine Ahnung, was dieses PATH-Zeugs ist. Auch dahingehens muss ich mich erstmal informieren.
Ob das hier alles am Ende von Erfolg gekrönt sein wird, wenn ich nicht mal weiß, wie ich dieses Programm installieren kann?

EDIT: UML ist eine Modellierungssprache. Ist wohl ein ziemlich komplexes Thema. Ich brauche das nicht, sagt das Buch. Gut so, denn ich verstehe es nicht.
Syntax ist das System von Regeln, nach denen eine bestimmte Sprache aufgebaut ist. So ist also die html-Syntax deutlich anders als die Java-Syntax, aber Java und andere Programmiersprachen ähneln sich von der Syntax her, womit es auch leichter ist, eine andere Programmiersprache zu erlernen, wenn man eine bereits gut kann.
Ich stelle mir das so vor wie mit den germanischen Sprachen. Wenn man Französisch als Fremdsprache hat (Java), dann ist es leichter, Spanisch (C#) und Italienisch (C++) zu lernen, als Chinesisch (Klingonisch), weil sich die Syntax der Sprachen ähnelt.
Ich hoffe, meine Erklärung ist richtig. Zumindest kann ich es mir so gut bildlich vorstellen. Im Detail ist es wahrscheinlich etwas differenzierter, aber für den Anfang sollte mir das reichen.

EDIT 2: Gut, die PATH-Geschichte ist auch geregelt. Einmal danach gegoogelt, schon die Lösung gefunden. So stellt man also die PATH-Umgebungsvariable ein:
http://www.java-forum.org/einfuehrungen-erste-schritte/94072-java-umgebungsvariable-einstellen-windows-7-a.html

Mittwoch, 25. Juni 2014

Die Sprache, mit der ich anfange, programmieren zu lernen

Ich habe ja bereits erwähnt, dass es etliche Programmiersprachen gibt. Und welche eignet sich, um später Spiele programmieren zu können?
Ich wusste auch nicht, wie und womit ich starten sollte. Einfach Null Ahnung.

Übrigens: Wer das hier liest merkt schon, dass ich noch ziemlich viel palavere. Ganz viel Geschwurbel ohne Hand und Fuß. Aber so wie ich lerne, das Programmieren und das ganze Drumherum zu verstehen, so werden auch die Texte in diesem Blog kompetenter. Davon gehe ich zumindest aus.
Noch eine kleine Anmerkung: Hier wird es keine Tutorials geben. Ich dokumentiere hier nur meinen Werdegang und verlinke natürlich zu den Seiten, die mir weitergeholfen haben.

Zurück zum Thema:
Zunächst stellte ich eine Frage auf gutefrage.net, obwohl diese Seite mit einem Konglomerat an Halbwissenden aufwatet. Dort bin ich schon oft enttäuscht worden, aber vielleicht hatte ich diesmal Glück.
Und so war es auch. Einer der Hinweise leitet mich an folgende Seite weiter:

http://www.spieleprogrammierer.de/wiki/Spiele_programmieren_lernen

Das ist ein wirklich schön geschriebener Artikel, der einem den Einstieg erleichtert.
Ich habe also alles schön gelesen, bin hier und da den Links gefolgt und letztlich bei einem so wunderbaren Tutorial gelandet, dass ich mich dazu entschieden habe, diese Programmiersprache "als erstes" zu lernen (Die Anführungsstriche setze ich deshalb, weil ich kaum in der Lage bin, einschätzen zu können, mehrere Sprachen zu lernen).
Es geht um Java. Von jeher sympathisch, weil Minecraft in Java geschrieben wurde. Banaler Grund, aber das war mir halt ein Begriff.
Ich möchte kurz zu dem interaktiven Tutorial verlinken und danach ein paar Worte darüber verlieren:

http://gailer-net.de/tutorials/java/index.html

DAS ist wirklich erste Klasse.
In vielen Lehrbüchern und Tutorials wird ein gewisses Grundverständnis für Dinge aus der Informatik vorausgesetzt. Doch sobald ich die ersten Fachwörter höre gehe bei mir die Ohren zu. Da bin ich schon raus.
Dieses Tutorial von Heinrich Gailer erklärt quasi von der Maus an, worum es sich handelt. Stück für Stück arbeitet man sich an das Thema Java heran.

Ich habe also die ersten vier Kapitel mehrmals gemacht, brav das Vokabeltraining und das Quiz zur jeweiligen Lektion erledigt. Und weil ich es verstand, fühlte ich mich gleich wie King Louie.
Dabei konnte ich nach wie vor noch nicht eine Zeile programmieren.
Dann wurde es konkreter. Java wurde vorgestellt, die virtuelle Maschine erklärt und die ersten Zeilen eines Codes erklärt.
Doch die ersten, grundlegenden Dinge, die ich tun sollte, sollten sich in MS-DOS abspielen, und wir wissen alle, wie alt das ist. Ich habe also die folgenden Lektionen überflogen (mir Java etc. noch nicht installiert) und gedacht, dass das alles nicht mehr so aktuell wirkt.
Die erste Version der Seite gailer-net.de ist von 1999. Letzte Aktualisierung ist von 2006. Auch das ist mittlerweile acht Jahre her.
Ich zog eine Flappe und ließ es
das erst Mal auf sich beruhen.

Was gibt es also für gute Lektüre, um Java zu lernen? "Java ist auch eine Insel" soll ein gutes Buch sein, man kann es sogar kostenlos lesen.
Aber es richtet sich nicht an so blutige Anfänger wie mich. Ich habe reingelesen und nichts verstanden.
Bin ich doch zu doof, um programmieren zu lernen?
Das werde ich in den nächsten Tagen feststellen, denn jetzt habe ich mal Nägel mit Köpfen gemacht. Ich habe mir das Buch "Java von Kopf bis Fuß" gekauft.
Wenn ich 35 € (eigentlich kostet es sogar 50 €) für ein Buch über Programmieren ausgebe, dann muss es mir schon ernst sein, denn für gewöhnlich bin ich recht geizig sparsam.

Darum werde ich sicherlich im nächsten Beitrag von meinem ersten Eindruck zu diesem Buch berichten. Ich warte jetzt mal auf die Post und harre gespannt der Dinge, die da kommen.

Dienstag, 24. Juni 2014

Meine ersten Schritte in die Welt des Programmierens

Hallo, ich bin Kaius. Ich bin ein wirklich kreativer Mensch. Ich schreibe, ich mache Musik, ich let's playe und ich bin auch ansonsten offen für viele neue Dinge. Das betrifft alles die eine rechte Gehirnhälfte, wenn man das Hemisphärenmodell weiterhin als aktuell betrachtet (was es nicht ist, aber das ist ein anderes Thema).
Bleiben wir also bei diesem Modell. Meine linke Gehirnhälfte hingegen hat weniger zu tun. Immer noch genug, aber bei Weitem nicht so viel wie die Rechte. Mathematik war für mich bis zur zehnten Klasse ... in Ordnung. Ich war kein Überflieger, habe mich im Mittelfeld bewegt; ich konnte halt rechnen.
Physik, Chemie, Informatik: all das war mir ein Graus, so dass ich in der Oberstufe keines dieser Fächer mehr belegte. Mathematik hingegen blieb Pflicht, und so quälte ich mich durch jede einzelne Unterrichtsstunde, weil ich nichts verstand. Ich war zu begriffsstutzig, zu faul, zu bequem, zu sehr mit kreativen Dingen beschäftigt. Also versagte ich.
Und bekam im Abschlusszeugnis der 12 sage und schreibe 0, in Worten: Null Punkte.
Von da an hatte die Mathematik mitsamt ihrem logischen Verständnis von Dingen bei mir verkackt. Ich sage es ganz deutlich.

Ich interessiere mich sehr für Computer und Spiele. Ich bestaune die Spieleschmieden, die Programmierer, die Entwickler von Apps und dem ganzen unterhaltsamen Zeugs, das meine kreative Seite anspricht.
Jetzt bin ich 30 und frage mich, ob ich es nicht auch hinbekommen kann, als absoluter Nobody im logischen Denken das Programmieren zu lernen. Java, C#, C++, Python, Visual Basic - all das sind nicht mehr als böhmische Dörfer für mich. Ich habe null Ahnung von der Materie und weiß gar nicht, wie man das überhaupt hinbekommen soll.
Vor ein paar Jahren habe ich mir mal per selfhtml ein bisschen was beigebracht und dachte, das wäre eine gute Voraussetzung, um so etwas zu lernen.
Ist es aber nicht. Das hat nichts damit zu tun. Schade eigentlich. Also fange ich bei Null an.

In diesem Blog werde ich meinen Werdegang dokumentieren. Ich werde schreiben, wie ich es versuche zu lernen, was ich lese, wie weit ich bin, woran ich verzweifle und ob das Ganze überhaupt einen Sinn für mich macht. Sollte ich am Ende nur beim Spielen bleiben?
Die Grundmotivation, programmieren zu lernen, war, ein Spiel zu programmieren. Am besten noch eine App, die nicht so aufwändig ist und schnell viel Geld einbringt.
Das ist natürlich Humbug, vor allem dann, wenn man nicht den Funken einer Ahnung hat.
Ein Arbeitskollege, der sehr geübt im Programmieren ist, sogar die wohl komplizierteste aber flexibelste Programmiersprache C++ beherrscht, hat mich an das Thema herangeführt. Er programmiert derzeit mit Visual Basic in Microsoft Excel ein sehr praktisches Arbeitsblatt. Ich war davon angetan und ließ mir ein bisschen was erklären. So bin ich dazu gekommen, mich etwas mehr mit dem Thema zu befassen.

Im nächsten Beitrag wird es darum gehen, wie ich mich auf eine bestimmte Programmiersprache festlege und bereits erste Erfolge als Nobody vorweisen kann. Zwar nicht praktisch, dafür aber theoretisch.