Programmieren lernen

wolfodo123

Grünschnabel
Hallo Leute. Ich hab einen Traum ein Browsergame zu erstellen. Es ist ein kleines und einfaches Browsergame.

Es soll ein Strategie Spiel wie Stämme werden. aber erstmal komplett vereinfacht.

Nun wie fange ich an sowas zu lernen.

Ich weiß gar nicht was ich brauche PHP, C++? Es ist relativ kompliziert das ganze :D. Ich weiß ich hab gelesen werde dafür Jahre brauchen um nur 1 Angriff programmieren zu können. Oder überhaupt zum laufen zu kriegen. Das demotiviert mich schon das es so extrem kompliziert ist. Ich hab 0 erfahrung mit Programmieren

Gibt es gute Entwicklungsumgebungen?

Ich dachte ich fang da mit PHP an oder brauch ich nochwas anders dazu? Welche Bücher empfehlt ihr mir
 
Für ein solches Vorhaben benötigt man vor allem eines: Ein Konzept, wie das ganze umzusetzen ist (Profi spricht von Lastenheft). Das Erlernen einer Programmiersprache ist anfänglich vor allem dadurch geprägt, kleine Häppchen zu verdauen.

Lektüre ist schwierig, da was zu empfehlen, ich habe PHP durch das Manual gelernt. Aber das hier hat gute Rezessionen und klingt auch erstmal nach dem, was dir weiter helfen könnte:
http://www.amazon.de/PHP-für-dich-V...TF8&qid=1402128049&sr=8-2&keywords=php+lernen

Alles weitere:

- Einen Webserver zum ausprobieren, der PHP unterstützt. Hier wäre das Rund-um-sorglos-Paket XAMPP von Apachefriends zu empfehlen.
- Eine Datenbank wie MySQL, welche auch bei XAMPP dabei ist (möglich wäre auch MariaDB oder PostgreSQL)
- phpMyAdmin zum designene der Tabellen-Struktur und ausprobieren von SQL (auch bei XAMPP dabei)
- Jede Menge Zeit, Geduld und Motivation. Gut Programmieren zu können dauert wirklich Jahre. Ein bis zwei solltest du auf jeden Fall einplanen.

Ich würde am Anfang allerdings erstmal mit einer kleineren Applikation anfangen (z.B. eine Bücherliste, DVD-Sammlung, etc.). Die dabei erlernten Konzepte brauchst du auf jeden Fall für dein Vorhaben, aber es ist nicht so umfangreich, du wirst schneller ein Ergebnis haben, und das brauchst du, um dich selbst zu motivieren.
 
Hi

Das mit den Jahren kommt hin, grad wenn man noch überhaupt nichts kann
auch für eher einfache Sachen (verglichen zu großen Browsergame "eher" einfach)

Für alle folgenden Punkte gilt:
Wenn man sich bei etwas nicht sicher ist oder etwas ungenau beschrieben wird oder ... :
Google zusätzlich zur Hauptlernquelle zu verwenden ist nicht schlecht, sondern perfekt.
Falls man merkt, dass die Englishkenntnisse nicht reichen,
tut man sich einen großen Gefallen, die zuerst zu verbessern.
Und das ganze Lesen hilft nichts, wenn man die gelernten Sachen nicht auch ausprobiert
und (viel) kleinere Dinge als das Browergame begleitend zum Lernen erstellt

a) HTML und CSS
http://de.selfhtml.org/
Es gibt Editoren, die einem Sachen wie Autovervolltändigung anbieten oder in denen man die Seite
zu einem gewissen Grad zeichnen statt schreiben kann. Rate aber dringend davon ab, sowas am Anfang
zu verwenden. Zuerst gut genug werden, um etwas in Notepad ohne viel Nachschauen schreiben zu können...
Sich mit dem W3C-Validator anfreunden gehört auch dazu.

b) Für die Neuerungen bei HTML5 und CSS3 ...
Hier ist "nur" Google allein vielleicht gar nicht schlecht.
"html5 new things" und unbedingt nicht nur den ersten Eintrag,
sondern mehrere lesen und zu vorgestellten Sachen selber noch suchen.
Stichworte wie "responsives Design" fördern auch Interessante zu Tage.

c) JavaScript (ist nicht Java)
zB. hier das Inhaltsverzeichnis links: http://www.w3schools.com/js/default.asp
und danach etwas jQuery von http://www.w3schools.com/jQuery/
Zumindest soweit, dass man einmal versteht, wozu jQuery gut ein kann
(dafür kann man dann auch noch hier rein schauen: http://api.jquery.com/
Links Kategorien von Funktionen. Solang man weiß "XYZ würde mit jQuery
viel einfacher gehen" kann man ja bei Bedarf noch immer nachschauen)
Neben HTML-Element-Zugriffen und -Modifikationen ist zB. Ajax bei jQuery etwas,
was man nicht verpassen sollte, letzteres macht aber erst später Sinn

(spätestens an dem Punkt sollte man sich zutrauen,rein vom Aussehen her
"jede" Seite im Internet nachzumachen, wenn man genug Zeit und Nachschau-Möglichkeit hat.
Wenn man irgendwas sieht, bei dem man nicht denkt "das könnte mit x,y und z gemacht werden",
sondern überhaupt keine Ahnung hat, wie das entstanden ist,, besser gründlicher von vorne beginnen)

d) Diverses
Zeitlich "eher" kurzer Teil, aber mehr Text hier:

Xampp als Nachbildung eines richtigen Servers installieren, mit Apache und MySQL.
PHPmyAdmin installieren.

Sich klar machen, was ein HTTP-Server ist und tut.

Etwas über htaccess-Dateien lesen, die in ihrem Ordner irgendwelche Auswirkungen haben können,
wie zB. den Zugriff von außen sperren (und das einmal ausprobieren)

ModRewrite als weiteres htaccess-Feature kennenlernen, um Aufrufe von Urls
ggf. nach vorgegebenen Regeln auf andere umzuleiten
(wie zB. http://www.tutorials.de/members/wolfodo123.274978/ könnte
zB. zu http://www.tutorials.de/member.php?action=show&id=274978 werden)
Die Syntax der Regexp verstehen, was {} usw. bedeuten, sowieso [L] etc. am Schluss von Zeilen

Sich klar machen, dass PHP eine Programmiersprache ist, die vor allem eingesetzt wird,
um beim Aufruf einer Website den HTML/CSS/JS-Inhalt abhängig von anderen Sachen erst zu erzeugen
(=jedes mal anderer Inhalt möglich). Aufrufbar über normale Links wie http://www.domain.de/zeigeuhrzeit.php
vorausgesetzt man hat zeigeuhrzeit.php vorher programmiert. Man kann Parameter
mitgeben, die das Programm verarbeiten kann, wie zeigeuhrzeit.php?zeitzone=newyork
Und PHP ist nur bei der Erstellung von HTML etc. dabei ist.
Sobald die erzeugte Seite im Browser angezeigt wird kann sie mit PHP nicht mehr verändert werden
(dass ist dann wieder Javascript) und hier etwas über die Rolle von Ajax nachdenken.

Verstehen, dass eine (relationale) Datenbank zum Speichern von "tabellarischen" Informationen gut ist,
vorstellbar als Tabellen wie die hier (mehrere Verschiedene.
Also fixe Spalten, Zielen gehören zusammen, man kann Zeilen einfügen, löschen, suchen...
Zum programmiermäßigen Ändern gibt es eine Sprache namen SQL, zum menschlichen Anschauen
und Ändern mit Tastatur und Maus Programme wie zB. PHPmyAdmin (für die DB MySQL).
Nützlich für PHP-Programme, um Sachen zwischen mehreren Seitenaufrufen eines Benutzers zu speichern
(nicht die einzige, aber eine der vielseitigsten Möglichkeiten dafür).

Sich mit Zeichensätzen auseinandersetzen:
Wozu sie gut sind und paar Infos über die gebräuchlichsten (UTF-8, ISO8859-1...)

e) SQL
Nicht so schwer, aber auch etwas.
http://www.w3schools.com/sql/default.asp
Als Testumgebung bietet sich das schon installierte PHPmyAdmin mit MySQL and

f) PHP, Teil 1
Vorerst einmal besser komplexes HTML, CSS, JS/Ajax, SQL rauslassen und die Sprache selbst lernen
(find grad einen Link nicht, den ich reinstellen will...wird nachgereicht)
Vom Helloworld bis inkl. Objektorientierung, so ca.
(wobei OO als Konzept am Anfang schwer zu verdauen ist. Dafür Zeit nehmen)
Paar Sachen, die danach speziell Beachtung verdienen: $_GET, Sessions, Stringarten,
header, ini_set, include/require+Autoloader, Sicherheitssachen wie XSS (und alles was damit zu tun hat...Google,)
Programmierpattern generell und in Objektorientierung

g) PHP, Teil 2
Paar weitere Spezialkapitel:
*Datenbankzugriffmit MysqlI (das ist der Buchstabe i am Schluss) oder PDO.
(Tutorials mit mysql_query sind veraltet und böse, nicht beachten)
(inkl. Prepared Statements und Wissen über SQL-Injections)
*Regexp (preg_match &Co.). Da kommt das Wissen von ModRewrite früher auch hilfreich.
*DomDocument, XML

...und dann alles bisher verbinden.
HTML und CSS für das starre Aussehen der Seite,
PHP für dynamische Inhaltsgenerierung auf Basis von SQL-Daten,
JS für alle Effekte dazwischen drin.


...ich weiß, die Menge allein in den verlinkten Inhaltsverzeichnissen ist erschlagend.
Deswegen "Jahre". Noch ein Buch zu Softwareprojektplanung dazu,
damit einem die Menge an trockenem Lernstoff nicht ausgeht...

Es gibt vermutlich niemanden, der wirklich alles gründlich lernt und übt,
bevor das erste größere Programm versucht wird...und man daran scheitert;
oder so grauenhaft programmiert, dass man es nach ein paar Monaten Weiterlernen
nicht mehr anschauen kann. (ging mir genau so).
Aber es hilft wirklich.
 
Zuletzt bearbeitet:
Zurück