Capet
Anmeldungsdatum: 27. März 2009
Beiträge: 429
|
Hallo, es gibt bekanntermaßen jede Menge Bücher für die verschiedensten Programmiersprachen. Was ich suche wäre allerdings etwas, was sich mit den theoretischen Grundlagen des Programmierens befasst, unabhängig von einer bestimmten Sprache. Sozusagen der "Adam und Eva" Teil des Programmierens. Kann mir jemand hier etwas empfehlen bei dem man sagen könnte: "das sollte man wissen, bevor man sich überhaupt speziell mit einer Sprache befasst" ? Danke und Gruß,
Capet
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Ein Buch, das in dem Zusammenhang oft empfohlen wird ist "Structure and Interpretation of Computer Programs". Ich habe es zu Hause, aber bisher nur teilweise gelesen. 😬 Ich denke es ist recht komplett aber für Einsteiger nicht unbedingt geeignet - je nachdem, was Du für Voraussetzungen mitbringst und wie viel Aufwand Du betreiben willst. Es gibt eine ganze Reihe Bücher zum Thema "Algorithmen und Datenstrukturen". Das ist auch ein sehr wichtiger Aspekt. Ich finde die Bücher von Robert Sedgewick empfehlenswert, auch wenn die Beispiele immer in konkreten Sprachen gezeigt werden (nicht immer gut programmiert, wie ich finde, aber das ist für das Verständnis nicht hinderlich, weil das Entscheidende die Theorie ist). Ciao robert
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
@Capet Was genau meinst Du mit "theoretischen Grundlagen"? Wie Programmiersprachen an sich funktionieren? Das kann man natürlich schwer vereinheitlichen, da die Paradigmen sich stark unterscheiden. Schlussendlich führt man alles natürlich auf eine Turing-Maschine zurück... was durchaus auch interessant ist. Da käme dann die Automatentheorie ins Spiel. Dazu gibt's massig Bücher. @rklm Den Sedgewick mag ich mittlerweile nicht mehr so. Hatte ihn mir seinerzeit zu Beginn meines Studiums auch mal gekauft (für "C" iirc), aber irgend wie fehlen mir bei vielen Themen wichtige Dinge...
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Lysander schrieb: @Capet Was genau meinst Du mit "theoretischen Grundlagen"? Wie Programmiersprachen an sich funktionieren? Das kann man natürlich schwer vereinheitlichen, da die Paradigmen sich stark unterscheiden. Schlussendlich führt man alles natürlich auf eine Turing-Maschine zurück... was durchaus auch interessant ist. Da käme dann die Automatentheorie ins Spiel. Dazu gibt's massig Bücher.
Das ist dann aber schon so, als ob man sich erst Quantentheorie reinzieht, bevor man anfängt Chemie zu lernen. 😀 Mit anderen Worten: die Theorie rund um die Turing-Maschine behandelt zwar schon die Grundlagen, ist aber u.U. für das Entwicklen von Software trotzdem nicht hilfreich, einfach weil der Abstraktionsabstand so groß ist.
@rklm Den Sedgewick mag ich mittlerweile nicht mehr so. Hatte ihn mir seinerzeit zu Beginn meines Studiums auch mal gekauft (für "C" iirc), aber irgend wie fehlen mir bei vielen Themen wichtige Dinge...
Was fehlt Dir denn? Mir fehlt ja schon seit über sieben Jahren "Algorithms in C++: Pt. 6-8: Strings, Geometry, and Advanced Topics" (die Bestellung bei einem Onlinehändler ist noch offen), weil der Herr Sedgewick es einfach nicht fertig schreibt. 😛
|
Capet
(Themenstarter)
Anmeldungsdatum: 27. März 2009
Beiträge: 429
|
rklm schrieb: Es gibt eine ganze Reihe Bücher zum Thema "Algorithmen und Datenstrukturen". Das ist auch ein sehr wichtiger Aspekt. Ciao robert
Ich denke, das wäre ein guter Ansatzpunkt. Mein Problem war bisher immer, dass es bei den Büchern, die ich bisher zu Programmiersprachen gelesen habe, einen Punkt gab, an dem ich nicht nicht mehr so recht mitkam. Ich dachte mir deshalb, dass hier eventuell fehlende Grundlagen die Ursache sein könnten. Deshalb die Frage. Vielleicht waren aber auch einfach die Bücher nicht gut gewählt. Insgesamt ist das bei mir ein "Feierabendprojekt", in welches ich aber schon sehr gern ordentlich Zeit investieren möchte. Gruß,
Capet.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
@Capet Hm... schwer zusagen. Allgemein sind Bücher basierend auf einer praktischen Sprache leichter zu verstehen, als rein allgemein gehaltene, die nur theoretisch Konzepte vorstellen. Solche Bücher vermitteln halt oftmals eher weniger Konzepte oder allgemeine Paradigmen, sondern zeigen eher spezielle Idiome einer Sprache. Was für Punkte oder Themen waren denn das, die Dir zu "schwer" waren? Um welche Sprache geht es denn? Auch da gibt es tendenziell leichter zugängliche als andere...
|
Capet
(Themenstarter)
Anmeldungsdatum: 27. März 2009
Beiträge: 429
|
Es war jeweils kein bestimmtes Thema. Ich konnte meist irgendwann die Quelltextbeispiele zu den einzelnen Themen nicht mehr richtig nachvollziehen, da wohl erwartet wurde, dass "der Quelltext für sich selbst spricht" und nur oberflächliche Erläuterungen der Beispiele notwendig wären. Ich habe leider die Namen der beiden Bücher nicht mehr im Kopf, da ich die nur leihweise bei mir hatte. Der Hintergrund zu meiner Anfrage ist das Projekt "CMaNGOS" (http://cmangos.net/). Weiter kann/will ich darauf nicht eingehen, da der Zusammenhang des Projektes mit einem großen, bekannten MMO von den Mods hier wohl sehr kritisch gesehen wird, die Startseite wird aber erklärend genug sein. Da schon immer sehr spielbegeistert war, kam irgendwann das Interesse an der technischen Seite auf und das Interesse an der Entwicklung, welche das Projekt vorantreibt. Im Kern geht es um C++, was natürlich sehr komplex ist, ich halte es aber für eine tolle Möglichkeit, einerseits die Sprache zu lernen und sich andererseits dann auch aus einem solchen laufenden Projekt Quelltexte (oder eher kleine Schnippsel davon) anzusehen und zu versuchen, sie nachzuvollziehen. Vielleicht würden ja auch gute Buchempfehlungen zu C++ weiterhelfen, die Bewertungen bei großen Onlinehändlern nach meinen Erfahrungen nur wenig aussagekräftig sind. Gruß,
Capet
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
C++ ist ein Komplexitätsmonster! Oder wie man in Österreich sagt: Pungggt! 😉 Da tut sich jeder schwer mit ☺ Ich würde an Deiner Stelle auf den neuen Scott Meyers warten. Das wird definitiv ein neues Standardwerk bezüglich C++.
|
Fanatics
Anmeldungsdatum: 25. August 2010
Beiträge: 1032
|
|
Capet
(Themenstarter)
Anmeldungsdatum: 27. März 2009
Beiträge: 429
|
Danke für eure Vorschläge! Ich dachte daran, dass das Buch von Stroustrup etwas wäre, wobei da natürlich auch die Frage ist, wie aktuell eine Ausgabe von 2010 noch ist. Was ich so mitbekommen habe, hat sich in den letzten Jahren einiges an der Sprache getan.
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Capet schrieb: Es war jeweils kein bestimmtes Thema. Ich konnte meist irgendwann die Quelltextbeispiele zu den einzelnen Themen nicht mehr richtig nachvollziehen, da wohl erwartet wurde, dass "der Quelltext für sich selbst spricht" und nur oberflächliche Erläuterungen der Beispiele notwendig wären. Ich habe leider die Namen der beiden Bücher nicht mehr im Kopf, da ich die nur leihweise bei mir hatte.
Das spricht aber m.E. sehr gegen C++. Da handelst Du Dir reichlich Komplexität in der Sprache ein, was - bei falschen Beispielen - das Verständnis übel erschweren kann. Ich finde ja Ruby toll zum Lernen, da es eine recht klare Syntax hat. Da gibt es auch reichlich Bücher. Ich müsste aber noch mal schauen, ob es da etwas zu Algorithmen und Datenstrukturen in Ruby gibt, das empfehlenswert ist. Ciao robert
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
Capet schrieb: Ich dachte daran, dass das Buch von Stroustrup etwas wäre, wobei da natürlich auch die Frage ist, wie aktuell eine Ausgabe von 2010 noch ist. Was ich so mitbekommen habe, hat sich in den letzten Jahren einiges an der Sprache getan.
Ja! Seit C++11 ist die Sprache deutlich anders und in vielen Bereichen auch angenehmer geworden. Imho lässt sie sich jetzt besser handhaben, auch wenn ich noch nicht alle Features von C++11 selber genutzt habe. (teils mangels Compiler-Support, teils mangels Wissen 😀 ) Mit C++14 ist die Tage gerade die ideale Abrundung von C++11 fix als Standard verabschiedet worden. Viele Compiler haben auch schon massig Features davon an Bord. Dennoch ist es so, wie rklm es sagte: C++ ist einfach komplex und kompliziert! Alleine das manuelle Speichermanagement und Konzepte wie RAII stören bei den meisten Projekten einfach. Es gibt da draußen so viele Sprachen, die null acht fünfzehn Entwicklungen so viel einfacher machen... C++ ist eigentlich nur für Spezialfälle sinnvoll oder wenn es Rahmenbedingungen gibt, die dazu zwingen oder motivieren.
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Lysander schrieb:
C++ ist einfach komplex [...]
Wat nu, einfach oder komplex? 🤣 Gut, dass es nicht zweifach oder gar dreifach komplex ist. Nicht auszudenken...! Nichts für ungut, ich musste mich gerade mal aufheitern. robert
|
Capet
(Themenstarter)
Anmeldungsdatum: 27. März 2009
Beiträge: 429
|
Ich danke euch erst einmal für eure Ratschläge. Ich werde dann erstmal weiter bei Python bleiben, womit ich gut klarkomme, und mich vielleicht nach einiger Zeit noch einmal dransetzen. Gruß,
Capet.
|
Lysander
Anmeldungsdatum: 30. Juli 2008
Beiträge: 2669
Wohnort: Hamburg
|
rklm schrieb: Lysander schrieb:
C++ ist einfach komplex [...]
Wat nu, einfach oder komplex? 🤣
Ja, die mehrdeutige deutsche Grammatik mal wieder... 😉
|