Buchempfehlungen zum lernen von Programmieren

phoenix1337

Lt. Junior Grade
Registriert
Mai 2007
Beiträge
376
Hallo,

Ich habe mir vorgenommen in den Sommerferien (die ja in Moment sind) programmieren zu lernen. Ich will jetzt nicht direkt Betriebssysteme schreiben, sondern nur ein wenig Ahnung davon haben.

ich dachte mir am besten kaufe ich mir ein Buch :). Ich habe im Bücherladen gesehen das es tausende Bücher, zum lernen von Programmiersprachen gibt. Daher 2 Fragen:

1. Welche Sprache bietet sich für mich an ? Wie gesagt ich bin totaler Newbie und habe echt total kein Plan. Sollte aber auch ne Sprache sein mit der ich was anfangen kann (habe mir sagen lassen das Visual Basic das beste für Anfänger ist).

2. Welches Buch könnt ihr mir zum Programmieren lernen empfehlen. Am besten eins wo alles schön langsam und übersichtlich beschrieben ist.

Hoffe ihr könnt mir ein paar gute Bücher nennen, sonst muss ich mich auf mein Glück verlassen:D
 
Was sind deine Beweggründe Programmieren zu lernen? Hast du konkrte Ziele (z.b. Flash-Seiten erstellen, Spiele programmieren, ...), oder willst du allg. ein bißchen was von Programmierung wissen?

Wie alt bist Du?
 
Also wenn du noch ein Win9x Rechner hast bzw. bei WinXP mit Einschränkungen leben kannst und einsteigen willst, empfehle ich dir QBasic. Der größter Nachteil ist natürliche deren veraltete Struktur; der Vorteil ist, das auf qbasic.de DAS Angebot gibt, was wirklich alles bietet, z.B. Tutorials (Lernprogramme), Bücher, Quelltexte, Beispielprogramme, Forum, Kompiler, FAQ usw. Bei aktuellen Programmiersprachen bräuchtest du immer andere Quellen. Lern diese Programmiersprache so ca. 3 - 5 Wochen. Dann kannst du auch aufsteigen, da du die notwendigsten Begriffsinterna kennst.
Aktuelle Programmiersprache würde ich dir C# 2.0 empfehlen. Die orientiert sich an Visual Basic .NET (beachte, es gibt ein total veraltetes VBasic bis zur 6 und dann eine "neues" Visual Basic ab .NET). Allerdings sind diese objektorientiert und das ist der Hammer sage ich dir, obwohl sie viel leichter sind als z.B. C! Erleichtern kann dir die Objektorientierung eine Übungsprogrammiersprache wie z.B. Robot Karol: http://www.schule.bayern.de/karol/
Wenn dir paar Bugs nicht ausmachen und du auf eine nette Community setzt, könnte ich dir auch empfehlen, das Nischenprodukt PureBasic auszuprobieren. In einem Monat habe ich da die ersten grafischen Anwendungen geschafft - das ist enorm schnell.

Aber wie cameo bereits sagte, bräuchte man mehr Informationen über dich und dein Ziel.
So oder so: Fange erst mit einem Basic-Dialekt an und steige dann erst später auf andere Sprachen um.

Und meine Buchempfehlung: Programmieren für Dummies ist das perfekte Einsteigerwerk für dich! Liest sich auch wirklich stellenweise sehr humorvoll und ist überhaupt nicht trocken, sondern wird rocken ^^

Übrigens: (X)HTML ist zwar keine richtige Programmiersprache, solltest du aber in Betracht ziehen, da es _sehr_ einfach und nützlich im Computeralltag ist!
 
Zuletzt bearbeitet:
Hey,

Meine Beweggründe sind Interesse. Ich habe halt Lust ein wenig selber programmieren zu können. Konkrete Ziele habe ich eigentlich nicht, ich will einfach nur ein wenig Ahnung davon haben und vielleicht auch schon kleine Programme schreiben können (ohne einen bestimmten Zweck). Ich bin übrigens erst 16
___

Seby007 schrieb:
Und meine Buchempfehlung: Programmieren für Dummies ist das perfekte Einsteigerwerk für dich! Liest sich auch wirklich stellenweise sehr humorvoll und ist überhaupt nicht trocken, sondern wird rocken ^^

Die Buchempfehlung hört sich doch sehr gut an. Wird da allgemein über programmieren geschrieben oder beziehen die sich in dem Buch auf eine bestimmte Sprache ? Gibt es in dem Buch auch erste Erklärungen wie man kleiner (sehr sehr kleine) Programme schreibt ?

Wie gesagt ich will nicht größenwahnsinnig werden :)

Edit:

Frage hat sich geklärt. Auf Amazon sind alle Informationen zu dem Buch.
http://www.amazon.de/Programmieren-für-Dummies-Wallace-Wang/dp/3826628691
 
Zuletzt bearbeitet von einem Moderator: (Doppelpost zusammengeführt, Regeln lesen!)
Also, folgendes:

Wenn Du einfache, kleine Programme für Windows only schreiben willst, dann bietet sich Delphi an. Von Borland gibt es dementsprechend eine grafische IDE.

Du kannst natürlich Dich auch direkt an JAVA & Ruby on Rails oder C++ machen, was aber für den Einstieg ein wenig zu extrem wäre.

Für Java & Co. bietet sich die kostenlose IDE Eclipse an.

Buchempfehlungen:

Schaue einfach mal auf der Seite von O'Reilly vorbei oder bei www.entwickler-press.de
 
Also ich würde dir mehr zu dem Dummy-Buch raten:
Es ist ca. bis zu ersten Hälfte (oder war es bis zu 2/3 ?) absolut programmiersprachenabhängig. Liberty Basic habe ich nur überflogen und das Buch lohnt sich trotzdem.
Das zweite Buch würde ich dir nicht empfehlen (trotz der guten Kritiken), weil a) objektorientiert, b) unnötig mit mehreren Programmiersprachen überladen und Killerargument c) sind die Sprachstandards total veraltet, wenn du es heute nutzen wollen würdest.
 
Hier die FB-Übersichtsseite zum Thema Programmieren mit Links.

Grundsätzlich solltest du dir überlegen, ob du eine Programmiersprache benutzen willst, die man hauptsächlich für Applikationen verwendet (Java, C(++), usw.) und bei der man den Quellcode kompiliert, oder eine Sprache wie HTML oder Skriptsprachen, die einfach so ausgeführt bzw. gerendert werden.
 
Zuletzt bearbeitet:
Hallo,

mit "ich will einfach eine Programmiersprache leren ist es leider nicht getan". Man sollte schon genau wissen was du erreichen willst, um dir gute Empfehlungen zu geben.

Gründsätzlich sollte unterschieden werden zwischen Programmiersprachen fürs Web und solchen für Anwendungen auf Windows zB. Und genau da ist der Punkt, bei dem du uns sagen musst in was für eine Richtung du eher gehen willst.
 
phoenix1337 schrieb:
Meine Beweggründe sind Interesse. Ich habe halt Lust ein wenig selber programmieren zu können. Konkrete Ziele habe ich eigentlich nicht, ich will einfach nur ein wenig Ahnung davon haben und vielleicht auch schon kleine Programme schreiben können (ohne einen bestimmten Zweck).
Ist ok!
Es ist nicht zwingend notwendig ein konkretes Ziel vor Augen zu haben (z.b. Spiele Programmieren).
Was du dich allerdings Fragen musst ist:
"Was kann ich mir von 5 Wochen allgemein Programmieren Lernen, ohne konkretes Ziel erwarten"

Wenn Du den klassischen Weg wählst,
also zunächst einmal nur Programme schreiben, deren Eingabe/Ausgabe nicht über ein Benutzerfenster (Buttons, Eingabefelder, ...) läuft
sondern über die Konsole (z.b. bei Windows: start/programme/zubehör/Eingbeaufforderung)
dann bist du nach 5 Wochen gegebenenfalls so weit, dass du ...

*) einfache algorithmische Probleme lösen kannst:
z.b.: Benutzereingabe wiederholen, bis eine korrekte Eingabe durchgeführt wurde,
suchen des kleinsten Elements eines Array
sortieren eines Arrays
...
...

*) eigene Funktionen/Methoden (wie auch immer das dann in der von dir gewählten Sprache heißt) schreiben und verwenden kannst

*) ein wenig in die objektorientierte Programmierung hinein geschnuppert hast:
einfache Klasen erstellen
Zugriff auf die Attribute über die Methoden der Klasse regeln
(!! keine Vererbung/Polymorphismus zunächst einmal !!)

(Ann.: Man kann in 5 Wochen sicher auch mehr schaffen. Es ist aber sinnvoll sich auf DAS zu konzentrieren und durch üben zu festigen)

Diese Themen sind in der Tat die Grundlage der moderneren Softwareentwicklung, insofern hast du dein Ziel erreicht
Ich will einfach nur ein wenig Ahnung davon haben und vielleicht auch schon kleine Programme schreiben können

Die Frage ist aber nun: Hast du dir das erwartet?

Das lösen einfacher algorithmischer Probleme kann sehr interessant sein, wenn man eine gewissen Freude an Denksportaufgaben hat. Es kann aber auch ziemlich öd sein, wenn man sich ständig fragt: "Was hat das denn nun alles mit einer grafischen Benutzeroberfläche / Computerspiel / Flash-Intro einer Webseite / .... zu tun"

Du kannst natürlich gleich mit einer Sprache / bzw. Entwicklungsumgebung anfangen, die gezielt auf die Erstellung von Windows-Anwendungen ausgerichtet ist, z.b. Delphi.

An der oben genannten Fragestellung kommst Du allerdings nicht herum:
"Was kann ich mir nach 5 Wochen erwarten?"
Du kannst dann zwar ein Windows-Fenster mit Buttons, Checkboxes, Eingabefeldern erstellen. Aber wozu? Damit du dann in zwei Eingabefeldern Zahlen eingibst, und nach einem Mausklick auf 'ok' wird die Summe dieser beiden Zahlen ausgegeben. bzw. wenn zusätzlich eine checkbox angeklickt ist, wir statt der Summe das Produkt ausgegeben (*gähn*)
Da ist das Lösen einfacher algorithmischer Probleme weit aus interessanter.

Ähnlich verhält es sich, wenn Du in weiter Folge z.b. interaktive Flashseiten mit ActionScript, oder einfache Computerspiele mit einem Authoring-Tool (z.b.: 3D Game Studio) erstellen willst:
Du gelangst früher oder später (eher früher) an den Punkt, an dem es darauf ankommt, was Du über die Grundlagen der Programmierung gelernt hast. Um die Grundlagen kommst du also nicht herum!


Jetzt aber genug geschwafelt!



Die beste Sprache für Programmieranfänger ist meiner Meinung nach 'Python', da sie
*) ein klare und verständliche Syntax besitzt
*) ein einfaches Typkonzept umsetzt
*) vollständig objektorientiert ist
(wobei man natürlich nicht objektorientiert programmieren muss, wenn man das nicht will)

Als Buch würde ich dir
"Python für Kids"
empfehlen
http://www.amazon.de/Python-für-Kid...9365340?ie=UTF8&s=books&qid=1182881012&sr=1-1

Lass dich von dem Titel nicht täuschen. Das Buch ist in erster Linie für Anfänger gedacht. Das Alter ist letztendlich zweitrangig.
Und verfall bloß nicht in falschem Stolz, und denk dir "ich hab's nicht nötig mit einem 'Pixie-Buch' zu lernen".
Programmieren lernen ist schwieriger als man glaubt, und da sollte einem jede Erleichterung willkommen sein.
Es ist ein Irrglaube zu denken, dass ein Buch ZU einfach sein könnte, und dem Programmieranfänger langfristig schadet, weil ihn die Autoren nicht "hart rannehmen". Alles Blödsinn! Beim Programmieren lernen gilt: Helfe, was helfen mag!

Das wichtigste beim Programmieren lernen ist das üben! Und zwar das üben von SINNVOLLEN Beispielen! Man kann recht schnell die Syntax der wichtigsten Sprachelemente erlernen. Das bedeutet aber nicht, dass man ein (einfaches) algorithmisches Problem lösen kann.
Melde dich halt einfach nochmal, sobald du mit
if-Anweisungen, Schleifen, Arrays
umgehen kannst.

Seby007 schrieb:
Also wenn du noch ein Win9x Rechner hast bzw. bei WinXP mit Einschränkungen leben kannst und einsteigen willst, empfehle ich dir QBasic. Der größter Nachteil ist natürliche deren veraltete Struktur; der Vorteil ist, das auf qbasic.de DAS Angebot gibt, was wirklich alles bietet, z.B. Tutorials (Lernprogramme), Bücher, Quelltexte, Beispielprogramme, Forum, Kompiler, FAQ usw.
Das gibt's zu ziemlich jeder Sprache. Kann sein, dass man bei anderen Sprachen ausgiebiger suchen muss. Aber dazu gibt es ja https://www.computerbase.de/forum/;)

Seby007 schrieb:
Lern diese Programmiersprache so ca. 3 - 5 Wochen. Dann kannst du auch aufsteigen, da du die notwendigsten Begriffsinterna kennst
Gerade dieser "Aufstieg", wie du sagst, ist über Python viel eher möglich, da - wie du selbst festgestellt hast - QBasic ein sehr veraltetes Spachkonzept umsetzt, wo hingegen Python vollständig objektorientiert aufgebaut ist, somit also bereits einen "Aufstieg" darstellt.


Seby007 schrieb:
Und meine Buchempfehlung: Programmieren für Dummies ist das perfekte Einsteigerwerk für dich! Liest sich auch wirklich stellenweise sehr humorvoll und ist überhaupt nicht trocken, sondern wird rocken ^^
Geht es da allgemein um Programmierung, oder orientiert sich das Buch an einer konkreten Sprache.
Ersteres halte ich persönlich nicht für sinnvoll, obwohl ich nicht ausschließen möchte, dass auf diese Art ein gutes Buch entstehen könnte, aber als Anfänger möchte man halt wirklich das was man liest sofort, 1:1 umsetzen. Wenn man dann lediglich von den "Konzepten" liest, und diese dann auf die gewählte Sprache umlegen muss .. ich weiß nicht.

Den Dummie-Büchern stehe ich allgemein etwas kritisch gegenüber. Manche sind nicht schlecht. Viele sind aber auch Schrott!
Wenn's nicht um
"Töpfern / Nordic Walking / Pokern für Dummies"
geht, dann würde ich kein Risiko eingehen und die Finger davon lassen



excalibur1976 schrieb:
Wenn Du einfache, kleine Programme für Windows only schreiben willst, dann bietet sich Delphi an
Ja! Wenn du gleich ein Fenster mit Buttons und Eingabefeldern sehen willst, dann ist Delphi sicher das Beste.

Ich habe halt meine Einwende dagegen das Programmieren auf diese Art zu erlernen (siehe oben).
Wenn man dann irgendwann einmal von Delphi genug hat, hat es einem mehr geschadet als genutzt, da man sich nicht auf die Grundlagen, sondern nur auf das erstellen der grafischen Benutzeroberfläche konzentriert hat


excalibur1976 schrieb:
Du kannst natürlich Dich auch direkt an JAVA & Ruby on Rails oder C++ machen, was aber für den Einstieg ein wenig zu extrem wäre.

Für Java & Co. bietet sich die kostenlose IDE Eclipse an.

Buchempfehlungen:

Schaue einfach mal auf der Seite von O'Reilly vorbei oder bei www.entwickler-press.de

Ruby ist an sich für Anfänger hervorragend geeignet. Es gibt dazu halt nicht viel gute Einsteigerliteratur.
Java ist nichts für Anfänger erst recht nicht C/C++, wird aber Anfängern in Schulen/Unis oft aufgezwängt.

Die O'Reilly - Bücher würde ich in deinem Fall nicht empfehlen. Es sind gute Bücher, jedoch nicht gezielt für Anfänger ausgerichtet.

Man muss generell fragen, was eigentlich "Anfänger"-Literatur darstellt.
Nur weil es eine gutes Buch ist UND bei 0 anfängt, heißt das noch lange nicht, dass es für Anfänger gut geeignet ist.

Darüber hinaus hängt es auch davon ab, in welcher Situation man sich befindet.
Lernt man das Programmieren z.b. im Zuge einer Lehrveranstaltung eines Studiums, dann wird einem die Thematik ja in erster Linie in der Vorlesung vermittelt. In diesem Fall braucht man eigentlich nur noch ein Referenzwerk, um gegebenenfalls einzelne Themen nachzulesen/vertiefen. In diesem Fall muss das Buch auch nicht um jeden Preis so einfach und verständlich wie möglich sein
(gerade DAFÜR sind z.b. die O'Reilly Bücher hervorragend geeignet)

excalibur1976 schrieb:
Für <XYZ> & Co. bietet sich die kostenlose IDE Eclipse an.
Für einen Anfänger ist die Verwendung einer IDE der totale Overkill!!
Man braucht lediglich einen Texteditor.
Wobei es sich natürlich auszahlt einen Editor zu verwenden, der für die gewählte Sprache
Syntax highlighting und automatisches Einrücken unterstützt.

'JEdit' ist ein sehr guter und einfacher Editor:
Man öffnet einfach die Quelldatei, der Editor erkennt die Dateiendung und aktiviert das Einrücken/Highlighting für diese Sprache.
Mit Strg + PgUP|PgDn kann man zwischen den Quelldateien wechseln.
Fertig! Mehr braucht man nicht.

(Java muss hierfür installiert sein. Wenn's damit Probleme gibt, kann geholfen werden)

Jede mehr oder weniger sinnvolle Debatte über die Verwendung von, weiß der Teufel was für IDE's und Editor, einfach ignorieren. Als ob das für einen Anfänger auch nur die geringste Rolle spielen würde!


MacroWelle schrieb:
Grundsätzlich solltest du dir überlegen, ob du eine Programmiersprache benutzen willst, die man hauptsächlich für Applikationen verwendet (Java, C(++), usw.) und bei der man den Quellcode kompiliert, oder eine Sprache wie HTML oder Skriptsprachen, die einfach so ausgeführt bzw. gerendert werden.
Diese Spracheinteilung ist in diesem Fall nicht sinnvoll, sonder nur verwirrend.
Du hast natürlich recht, dass sowohl HTMML als auch Skriptsprachen etwas gänzlich Unterschiedliches sind, wie Sprachen in denen ein Quelltext in Maschinencode übersetzt wird. Diese Unterscheidung ist für einen Anfänger aber irrelevant. Eine Skriptsprache wie Ruby ist letztendlich ähnlich aufgebaut wie Java, C++. Die Unterschiede zu diesen Sprachen kommen Anfängern sogar entgegen (z.b. einfacheres Typkonzept). Python, das ich empfohlen habe, ist übrigens auch eine Skriptsprache.

Viel wichtiger für 'phoenix1337' ist die Unterteilung in Höhere Sprachen(Java, C++, Python, Ruby, C#, .....) und Auszeichnungssprachen (HTML, XML, LaTex).

Bei einer Auszeichnungssprache wird (letztendlich) nur das Erscheinungsbild eines Dokuments festgelegt. Ein auf die Art erstelltes Dokument ist also gar kein "Programm" im eigentlichen Sinn, weshalb man diese Sprache in der Regel auch nicht als "Programmiersprachen" bezeichnet.
Ich schätze mal, dass 'phoenix1337' eher das erlernen einer höheren Sprache vorschwebt.

BMichelberger schrieb:
Gründsätzlich sollte unterschieden werden zwischen Programmiersprachen fürs Web und solchen für Anwendungen auf Windows
Wenn die Zielsetzung von 'phoenix1337' lauten würde:
"Ich möchte lernen, wie ich man den Inhalt einer Webseite von der Eingabe in einem Formular abhängig macht",
dann würde eines solche Unterscheidung sinn machen. Ist aber nicht der Fall, daher irrelevant
 
Wow, erstmal fettes danke an dich, cameo, das du dir die Mühe gemacht hast so ausführlich zu antworten.

Ich habe den Eindruck das du mich sehr gut verstanden hast, was meine Ziele angeht. Daher vertraue ich dir auch mal bei deiner Buchempfehlung Python für Kids. Dieses Buch hätte ich mir wahrscheinlich ohne deinen Rat nie im Leben gekauft (alleine schon wegen dem Cover), aber da ich ja wie gesagt der Meinung bin das du mich sehr gut verstanden hast und Ahnung davon hast was das richtige für Anfänger ist, werde ich es mir kaufen :)

Nochmal danke für deine Bemühungen :bussi:


P.S. Nein, ich stehe nicht auf Männer.
 
Zuletzt bearbeitet:
phoenix1337 schrieb:
Wow, erstmal fettes danke an dich, cameo, das du dir die Mühe gemacht hast so ausführlich zu antworten.
Schon gut! Ich kann mir schließlich durch etwas Support in Programmierfragen eine reines Gewissen erkaufen, um dann in den Hardwareforen als hemmungsloser Bittsteller aufzutreten :heilig:



phoenix1337 schrieb:
P.S. Nein, ich stehe nicht auf Männer.
Wenn Du das nicht betont hättest, hätte das auch niemand angenommen :D
 
Nur noch ein kleiner Abschlusskommentar zu dem Dummiebuch: In der Tat ist es eine Art Vorarbeit vor der eigentlichen Programmierung. D.h. wird vielleicht etwas mehr Zeit brauchen, aber es wird später angenehmer sein. Außerdem sind da nur die absoluten Basics enthalten, also du lernst da nix überflüssiges. M.E. verpasst du dann etwas als totaler Einsteiger, aber jedem das seine. Viel Erfolg!!! :)
 
Zurück
Oben