woaah, das ist einmal eine weitläufige frage....
also erst einmal: die arten des programmierens:
- das erstellen von webseiten alleine ist noch kein programmieren, HTML ist einfach eine Beschreibungssprache - so wie du in MS-Word - um einen Text fett zu machen - den text markierst und auf das Fett-Icon klickst, gibts du in HTML ein <b> vorne dran und ein </b> hintendran. HTML und XML sind zwar praktische Vorkenntnisse, aber nicht eigentliches programmieren.
- das eigentliche programmieren beinhaltet grob gesagt: variablen, schleifen und bedingungen. diese drei dinge werden in *allen* programmiersprachen gebraucht, und wenn du diese dinge einmal kapiert hast, wird es auch nicht mehr sooo eine grosse hexerei, weitere programmiersprachen zu lernen. daher ist es vermutlich nicht das dümmste, erst mal mit einer "einfachen" programmiersprache anzufangen, denn was man da lernt, wirst du immer gebrauchen können.
- eine wichtige unterscheidung besteht zwischen skriptsprachen (applescript, perl, php etcetc) und eigentlichen programmiersprachen (c, java, objc, ruby, c++, delphi etcetc). skriptsprachen sind normalerweise etwas leichter im syntax, dafür deutlich langsamer und vor allem weniger mächtig. fast alle grösseren programme sind daher in einer programmiersprache geschrieben, während skriptsprachen vor allem eben bei kleinen skripts und tools beliebt sind. und dann gibt es einen riesigen anwendungsbereich von skriptsprachen (vor allem php), nämlich dynamische webseiten. das kann von einer kleinen datenbank-liste über ein grosses forum wie apfeltalk bis zu riesigen projekten gehen.
bei den programmiersprachen gibt es noch die unterscheidung der pointerbasierten c-sprachen und (fast) allen anderen. auch wenn viele programmierer früher oder später an einer c-sprache hängen bleiben, ich würde nicht damit anfangen, da wäre ein einstieg sehr massiv....
wichtiger als die sprachen sind aber eigentlich die frameworks: das sind sachen, die ein programmierer nicht selber programmieren musst. ein grandioses beispiel für frameworks ist apples cocoa, wo man sich als programmierer gar nicht um solche sachen wie die anzeige im dock oder das abspeichern der dateien kümmern muss, das wird einfach frei haus geliefert.
die umfangreichsten frameworks gibt es vermutlich für java, aber auch c und c++ haben extrem viele. und php und perl sind da auch nicht gerade schwach gestellt. das auf os x dominante objective-c hat zwar nicht so viele frameworks, aber meines erachtens schlicht und einfach die geilsten.
schlussendlich glaub ich, stechen für anfänger zwei sprachen hinaus, die nicht allzu brutal im einstieg sind, aber viel bringen und in denen man über lange zeit immer noch etwas mehr lernen kann: java und php:
- mit java lernst du sehr schnell schönes programmieren. von anfang an. allerdings dauert es recht lange, bis du wirklich etwas programmieren kannst, was du dann auch wirklich gebrauchen wirst. so sollte es möglich sein, dass du schon nach relativ kurzer zeit einen taschenrechner programmieren kannst, aber hallo, jedes betriebssystem liefert sowieso schon einen taschenrechner mit, einer der mehr kann, schöner aussieht und schneller gestartet ist.
- php hingegen hat einen eher schlechten ruf, hat aber den vorteil, dass du innert kürzester zeit auch sachen programmieren kannst, die du auch wirklich anwenden willst. kleine sachen. kleine web-projekte. aber immerhin. und bis du begreifst, weshalb so viele programmierer über php fluchen, bist du mit den programmier-grundprinzipien auch schon so vertraut, dass dir das erlernen einer neuen sprache leicht fallen wird.
und wie nun das ganze lernen? hmm. eine möglichkeit ist deine nächste buchhandlung mit IT-abteilung, und dann dort die verkäufer belagern. das kann manchmal gut kommen, manchmal nicht.
ich selber habe auf verschlungene wege zu programmieren begonnen. der entscheidende kick kam, als ich
selfHTML begonnen hatte, webseiten zu erstellen und dann relativ rasch begonnen habe, diese mit php dynamisch zu machen. php habe ich mit
diesem tutorial gelernt, allerdings hatte ich schon früher verschiedene sprachen ausprobiert und weiss daher nicht, wie gut dieses tutorial für leute ist, die bei 0 anfangen. wenn du lieber mit java beginnen willst, ist
javabuch.de ein sehr guter start (HTML-version frei verfügbar), allerdings weiss ich auch hier nicht wie es für leute ohne jegliche vorkenntnisse ist.
das wichtigste allerdings ist: aus code lernst du mehr als aus jedem buch: schau dir beispielcode an. lade (kleine!) opensource-projekte herunter und schau, ob du drauskommst was was macht. verändere werte, verändere mechanismen. da lernst du am meisten...
ansonsten musst du halt so vorgehen, wie du es als programmierer auch immer wieder tun wirst: etwas ausprobieren, voll gegen die wand rennen damit und feststellen, dass du schon wieder x stunden mit einem völlig falschen ansatz verbracht hast. ich habe das erste mal mit 9 jahren eine programmiersprache (basic) gelernt, aber nix damit hingebracht und daher wieder die modelleisenbahn hervorgenommen. etwa mit 11 habe ich dann wieder einen anlauf gemacht, diesmal mit turbo-pascal und einem buch. aber wieder konnte ich zwar alles mögliche damit machen, aber kein programm, das mir wirklich etwas gebracht hätte. diesmal kamen die modell-segelflieger dran. mit 15 dann noch ein anlauf, diesmal qbasic, anhand von beispielcode (whoa, mit nibbles konnte man ja geile sachen machen), aber auch das hat sich dann irgendwie erschöpft. so richtig los ging es bei mir erst im vierten anlauf mit 20 jahren....