Buch zum Programmieren lernen

ZBoson

Ensign
Registriert
Aug. 2014
Beiträge
198
Hallo Leute!

Ich habe in Österreich gerade mein Abitur abgeschlossen und möchte im Sommer und den nächsten Monaten danach (9 Monate Wehrdienst) programmieren lernen. Ich bin mir noch unschlüssig, was ich studieren möchte, deshalb möchte ich mal in die Welt des Programmierens hineinschnuppern. Deshalb möchte ich mir ein Buch zulegen (bis max. ~40 Euro), aus dem ich lernen kann, zu programmieren.

Prinzipiell ist mir egal welche Programmiersprache, ich möchte aber eher etwas lernen, das in Studiengängen wie Wirtschaftsinformatik oder Informationswirtschaft gebraucht werden kann.

Habe schon vor paar Monaten, als ich noch weniger Zeit hatte, paar Internet-tutorials probiert, allerdings waren die mir teils zu ungenau und nicht ganz kohärent. Ich möchte wissen, was ich gerade tippe.

Habt ihr da paar gute Vorschläge? Würde mich sehr darüber freuen!

LG
 
ZBoson schrieb:
Ich habe in Österreich gerade mein Abitur abgeschlossen

Nein hast du nicht, du hast die Matura gemacht :P

So zu den Büchern, es gibt eigentlich kein gutes Buch, welches dir Programmieren beibringt, ich würde deswegen bei den frei verfügbaren bleiben.

Je nach Sprache kannst du dir hier einige aussuchen: https://www.rheinwerk-verlag.de/openbook/?GPP=opvcs

C: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
C#: http://openbook.rheinwerk-verlag.de/visual_csharp_2012/
Java: http://openbook.rheinwerk-verlag.de/javainsel/

Die sind alle nicht perfekt, aber die Grundlagen werden geliefert und im Studium solltest du dich dann schnell zurecht finden, wenn du halbwegs verstehst um was es da geht.

Ich glaub da sind auch Beispiele drin, ansonsten erfinde selbst Beispiele du umsetzen willst (kleinere Spiele usw.) allerdings brauchst du zuerst die Grundlagen (Datenstrukturen usw.).
 
Ja, habe extra Abitur geschrieben weil nicht jeder weiß dass in Österreich Abitur die Matura ist. :D

Danke für deine Vorschläge!

Edit: Was würdet ihr mir empfehlen? Welche Programmiersprache ist denn im Studium, z.B. bei Wirtschaftsinformatik die geläufigste?
 
Meiner Erfahrung nach unterrichten fast alle Unis und deshalb auch Oberstufen Java.
 
Kann dir auch Java empfehlen. Wenn man einmal den Sinn einer Programmiersprache verstanden hat, so kann man diese Logik auf andere Sprachen leicht übertragen.
Des Weiteren kann ich dir die Buchreihe "Head First" sehr empfehlen. Diese kosten zwar etwas mehr, sind jedoch wirklich einfach zu verstehen und man lernt durch besondere Lernmethode deutlich besser.
 
ZBoson schrieb:
Edit: Was würdet ihr mir empfehlen? Welche Programmiersprache ist denn im Studium, z.B. bei Wirtschaftsinformatik die geläufigste?

Die Sprache als solches ist am Anfang nahezu unwichtig. Die Herangehensweise und "Denke" die das Programmieren benötigt ist weit wichtiger. Was du da anfangs lernst ist recht egal. Was wichtig ist, dass du lernst deine eigenen Lösungen zu hinterfragen (Macht das Programm wirklich unter allen Bedingungen das was es soll?) und vor allem am Anfang das Durchlesen von staub trockener technischer Dokumentation. Es geht da Anfangs wirklich ums Verstehen wieso was wie gemacht wird bzw. gemacht werden sollte.


Bash/Batch Scripte sind schlicht simpel umzusetzen. Grundlegend ist die elementare Logik der meisten Sprachen enthalten.

C -> C ist mächtig und dadurch, dass du dich selbst um die Speicherverwaltung kümmern musst, musst du die Abläufe im PC verstehen (ich sehe das als Pluspunkt!)

C++ Quasi C mit Objektorientierung. Wobei Objektorientierung ein häufig angewendetes System ist. Ich würde aber empfehlen ersteinmal mit C zu arbeiten bevor Objektorientierung hinzu kommt!

Java / C# Objektorientiert ohne dass man sich um die Speicherverwaltung kümmern muss. Auch recht praktisch als Einstieg


Ansonsten wirst du als Wirtschaftsinformatiker häufig mit Datenbanken div. Ausprägung zu tun haben. Entsprechend ist SQL wichtig. Da sind die Anfänge leicht, bis zur hohen Kunst wird es aber aufwendig. Schau dir das mal lieber nebenbei an, wenn du in eine der oberen Programmiersprachen gut hineingekommen bist.
 
Java oder C ist eigentlich deine Entscheidung, beide haben Vorteile wenn man sie als erstes lernt.

Java zwingt dich in die Objektorientierung und eine gewisse Struktur und man kann recht schnell viel machen ohne sich allzusehr mit dem Unterbau und Grundlagen beschäftigen zu müssen. Außerdem zeigt dir der Compiler Fehler sehr gut an.

Mit C muss man mehr auf Grundlagen achten, vor allem aufs Speichermanagement und eine sinnvolle Programmstruktur. Außerdem kann man weniger einfach auf irgendwelche Funktionen zugreifen die man gerne hätte, aber selber nicht umsetzen möchte (find ich am Anfang nicht gut, man soll so viel wie möglich zu Fuß machen, damit man auch weiß was die Komfort Funktionen im Endeffekt tun und wann man welche verwenden darf/soll/kann).
Nachteil für Anfänger ist ganz klar, dass die Fehlersuche viel Anspruchsvoller ist als mit Java oder C#, ein vergessener Semikolon und der Compiler kann dir 100 Fehler anzeigen, nur die Stelle an der der Semikolon fehlt wird nicht dabei sein ;)
(Dafür lernt man aber nicht schlampig zu sein wenn man Code schreibt^^)
 
Also die Fehlermeldungen bei C kann ich so weder für Visual Studio und damit dem Microsoft Compiler noch dem GCC zustimmen. Die Fehlermeldungen sind da ähnlich spezifisch wie bei den JavaCompilern von Oracle bzw. OpenJDK. Solang man nicht total Mist baut werden Fehler meist recht genau benannt.
 
Naja, vor allem bei Speicher violations und Null Pointern kann die Fehlersuche sehr frustrierend sein, wenn man viel Code hat, da der angezeigte Fehler nur sehr selten die Ursache dessen aufzeigt. Stimmt denn das mit den Semikolons nicht mehr? Ich könnte wetten, wenn ich irgendwo einen weglasse, dass dann die verschiedensten Meldungen kommen, ich hab leider grad keine C Compiler zur Hand.

Früher hab ich bei einen 200 Zeilen Programm durchaus 500+ Fehlermeldungen in Visual Studio zusammen gebracht, das war VS 2008, ohne einen großartig komplexen Fehler zu haben, sondern eher einen Schlampigkeitsfehler, der eben nach viel aussieht (z.b. in einer Schleife einen * vergessen).
 
Falls dir der Einstieg schwer fällt, dann würde ich in der Bücherei erst mal ein dünnes Buch ausleihen und die Beispiele am PC mittippen und verstehen lernen. Viele Anfänger dürften mit einem über 1000 Seitigen Buch völlig überfordert sein. Die sind nicht nötig für den schnellen Einstieg, jedoch später für die Details.
 
Danke für eure zahlreichen Antworten!

Es ist so, dass ich wirklich überhaupt keine Erfahrung mit Programmieren habe. Ich habe es zwar einmal halbherzig versucht, habe aber relativ früh aufgegeben, da ich einfach nicht gewusst habe, was ich gerade in den Computer tippe.

Deshalb würde ich ein Buch bevorzugen, welches wirklich für Anfänger geeignet ist.
 
Die hier verlinkten Sachen von Rheinwerk sind für Anfänger wirklich gut geeignet. Es wird etwas Hintergrundwissen vermittelt, wobei alles was noch leichter soviel Wissen verbirgt, dass man so nur zum Codeaffen wird, der irgendwie Quelltext zusammenkopieren kann aber nicht versteht was er da macht. Das Rheinwerk Zeug gibt es auch als Print.
 
Letztendlich ist es auch wichtig, einfach los zu programmieren.
Natürlich sollte man sich auch mit den Grundlagen beschäftigen, aber du wirst durch kein Buch zu einem guten Programmierer. Versuche auch immer, Übungen aus einem Buch zu eigenständig zu variieren und überlege dir eigene Aufgaben. Sei einfach kreativ und probier was aus. Natürlich macht man gerade zu Beginn eine Menge Fehler. Aber das gehört einfach dazu und gerade dadurch lernt man am meisten. Außerdem ist es immer ein gutes Gefühl, wenn man versteht, was man falsch gemacht hat und danach alles so funktioniert, wie es soll. ;)


Damals im Studium haben wir zu Beginn Java gelernt und empfinde es auch als gute Sprache für Beginner. Wenn man es bezüglich der Literatur nicht ganz so trocken mag, kann ich die "Von Kopf bis Fuß"-Reihe empfehlen (Gab es hier auch schon als Vorschlag mit dem englischen Titel "Head First").
 
Zuletzt bearbeitet:
Die Rheinwerk-Bücher sind viel zu umfangreich für komplette Anfänger imho. Da steht ja sogar noch mal explizit in dem Vorwort: "Dieses Buch darf nicht als Programmierbuch für Anfänger verstanden werden. Wer noch nie programmiert hat und mit dem Wort »Übersetzen« in erster Linie »Dolmetschen« verbindet, der sollte besser ein anderes Tutorial bevorzugen oder parallel lesen." Wieso die Bücher für einen kompletten Anfänger empfohlen werden, der statt irgendwelchen Besonderheiten einer Sprache erstmal ein Grundverständnis entwickeln sollte, ist mir ehrlich gesagt schleierhaft.

Meine Empfehlung: Wenn du mit einem Buch beginnen willst, dann such dir auch eins für Anfänger aus. Ich habe im ersten Semester an der Uni parallel zur Vorlesung "Sprechen Sie Java?" gelesen und das war tatsächlich auf (totale) Beginner ausgelegt (mir etwas zu stark, aber für viele sicherlich sehr hilfreich).
 
Bei den Rheinwerk Büchern muss man ab und zu Begriffe selbst erarbeitet ja, es wird viel Hintergrundwissen vermittelt welches für die ersten Ergebnisse nicht notwendig ist. Jedoch hilft das besser als extrem runtergebrochene Literatur. Mit diesen Büchern/Kursen kommt man durchaus etwas hin, es stellt sich aber oftmals kein Verständnis ein und die damit anerzogene Lösungsmethode läuft oftmals darauf hinaus, dass Programmieren aus dem Wiederverwenden bekannter oder dem Zusammensuchen von passenden Codeschnippseln besteht.

Meiner Meinung haben viele meiner Kommilitonen genau dieses Problem,
 
@Wa1lock

Das trifft vllt auf das Java Buch zu, das C Buch ist für Einsteiger geschrieben (bzw. für keine Zielgruppe, denn es geht einfach von 0 los und dann wirds auch komplizierter). Trotzdem wird im Java Buch genug erklärt, wenn man wissen will was der Compiler/Builder usw. macht sollte man meiner Meinung nach nicht Java lernen, das sieht man mit C einfach viel besser.

Ansonsten halt ich persönlich nicht viel von Pseudo Code, das liegt aber wohl daran, dass ich zuerst C gelernt habe und erst danach Algorithmen und diese natürlich gleich ausprogrammiert.
 
Zuletzt bearbeitet:
@Piktogramm Genau, du "musst" zwangsläufig viel für den Anfang unnötiges Wissen lernen. Klar, nachdem erstmal ein Verständnis für Ansätze und die Sprache vorhanden ist, sollte man mit so einem Buch nachlegen (habe "Die Insel" selbst in meinem Bücherregal stehen). Aber für den Anfang halte ich das für Quatsch. Aber das ist auch nur meine Meinung, das kann der TE sicher selbst entscheiden, nur gesagt werden sollte es.

@hallo7 In das C-Buch habe ich nur mal kurz reingeschaut, kann dazu also nichts genaues sagen. Mein Beitrag war vornehmlich auf Java bezogen (daher auch die Einsteiger-Buchempfehlung für Java). Davon abgesehen: Was ein Compiler nun genau macht, wird er ja spätestens im Studium lernen, wenn ihm das Programmieren denn Spaß macht. Denn darum geht es hier schließlich vornehmlich: Programmieren lernen und ausprobieren und schauen, ob es denn Freude bereitet. Daher finde ich diese extrem umfangreichen Bücher etwas über das Ziel hinausgeschossen.

Just my 2 cents.
 
"Java ist auch eine Insel" von Rheinwerk ist definitiv nichts für Anfänger! Schau dir mal "Heads first Java" an. Habs selbst nicht gelesen aber ist meistens die Standard Antwort wenn nach Java Büchern für Anfänger gefragt wird. Könnte sein, dass es das nur auf englisch gibt, ist aber hoffentlich kein Problem..
 
Zurück
Oben