PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierbücher für Anfänger :)


Winter[Raven]
2007-01-13, 12:07:35
Hab Ihr Vorschläge? Und ich meine wirklich für Anfänger :)

Danke im Voraus.

Marscel
2007-01-13, 12:17:51
Irgendwelche Vorstellungen über den Bereich, in dem du Programmieren willst? Da muss man ggf. nach Sprachen ordnen.

Monger
2007-01-13, 12:23:22
Ist lesen nicht total uncool? :ugly:

Okay, das Problem ist: wenn du nur ein ganz allgemeines Buch nimmst, werden auch die Erklärungen dazu ziemlich abstrakt. Als ich mit Programmieren angefangen habe (oder besser: anfangen wollte), habe ich mir auch ein Buch gewünscht, was zwar ganz allgemein auf die Grundidee eingegangen ist, aber mich kein Stück weitergebracht hat.


Dabei lässt sich die Grundidee in wenigen Punkten zusammenfassen:

- Programmieren dient dazu, einem das Leben zu erleichtern. Wenn man kein Ziel hat, oder der Aufwand dieses Ziel zu erreichen in keinem Verhältnis zum Nutzen steht, sollte man gar nicht erst anfangen.
- Das zentrale Problem vom Programmieren ist, dass man zu Anfang ein ziemlich großes, völlig unkontrollierbares Problem hat. Das muss man solange in kleine Probleme zerlegen, bis man auf jede Frage auch eine passende Lösung (oder wenigstens eine grobe Vorstellung davon) hat.


Wenn du diese beiden Punkte begriffen hast, kannst du dir auch die nötige Literatur zusammensuchen. Aber eben leider schlecht vorher.

Winter[Raven]
2007-01-13, 12:48:13
Also es sollte richtung C# C++ gehen. Wie gesagt, ist für einen Anfänger, nicht für mich. Ich habe ne haufen Tutorials und paar Bücher vom http://www.galileo-press.de/, aber diese eignen sich nicht besonders für Anfänger meiner Meinung nach.

Ist aber nicht für mich, sondern für jemanden aus meiner Familie.

Trap
2007-01-13, 13:55:38
Wenn es C++ sein darf wäre meine Empfehlung "Accelerated C++" oder die deutsche Übersetzung "Intensivkurs C++".

Setzt nichts voraus außer Motivation und Hirn, benutzt von Anfang an sauberen, modernen C++ Stil und das wichtigste: Es zeigt einem auch von Anfang wie man die Programmiersprache dazu benutzen kann Probleme zu lösen. Außerdem hat es eine gute Gliederung mit Zusammenfassung und Übungsaufgaben nach jedem Kapitel.

Winter[Raven]
2007-01-13, 15:55:10
Hmmm ... scheint garnicht mal so schlecht zu sein.

DEAF BOY
2007-01-13, 16:25:52
Hängt davon ab, was dir gefällt.
Stadtbücherei oder Buchhandlung gehen und dort mal schauen. :) Mache ich auch so.

Winter[Raven]
2007-01-13, 17:03:03
Ja, das Problem ist ja nur, vom Cover kannst du schlecht auf die Einsteigerfreundlichkeit schlecht schließen, und kurz ins Buch reinschauen ist ja auch nicht so sinnvoll.

Ich vertraue da mehr auf erfahrungen von Leuten :)

Monger
2007-01-13, 17:43:50
Ich hab da leider die Erfahrung gemacht, dass Bücher da rein gar nix bringen. Sie sind gute Nachschlagewerke, aber für die ersten Schritte waren die allesamt nix für mich.

Ich glaube das Problem ist, dass es ganz viele verschiedene Wege gibt, sich der Programmierung anzunähern. Ein Elektrotechniker z.B. hat oftmals da eine sehr pragmatische Sicht darauf. Er braucht die Sprache um irgendeinen Ablauf in seinen Mikroprozessor reinzuhacken, und das wars dann.
Der Wirtschaftsinformatiker braucht irgendwas, womit er sehr schnell kleine Anwendungen mit schicker Benutzeroberfläche zusammenschrauben kann. Der Hacker hat da oftmals lieber was, womit er tief in den Eingeweiden des Betriebssystems rumwühlen kann. Und der Softwareingenieur freut sich über UML Diagramme mit denen er sein Zimmer tapezieren kann! ;)

Ich hatte das Glück dass ich einen guten Dozenten hatte den ich löchern konnte, weil ich eine Menge Fragen hatte die das Lehrbuch so einfach nicht hergegeben hat.
Ich wünschte ich könnte ein Buch empfehlen dass hitzige Diskussionen überflüssig machen würde, aber ich kenn keins.

Trap
2007-01-13, 18:20:25
Ich hab da leider die Erfahrung gemacht, dass Bücher da rein gar nix bringen. Sie sind gute Nachschlagewerke, aber für die ersten Schritte waren die allesamt nix für mich.
Ja, leider ist ein Großteil der Programmierbücher einfach die Sprachdefinition in Umgangssprache übersetzt und damit für Einsteiger völlig unsinnig.

Bei dem was ich empfohlen hab ist das nicht so, es hat mit der Sprachdefinition nichts zu tun, weder in der Gliederung noch in der Auswahl der Dinge die erklärt werden. Als C++ Nachschlagewerk taugt es deshalb nicht, das müsste man extra kaufen wenn man eins haben möchte.

amida maru
2007-01-13, 20:34:43
mein tipp wäre ja als erstes eine scriptsprache....

The_Invisible
2007-01-13, 23:13:30
mein tipp wäre ja als erstes eine scriptsprache....

meine meinung. c/c++ ist als erste sprache schon ein ziemlich harter brocken wo man nichtmal das "hello world" programm checkt und sich "warum, wieso, wie?" fragt

scriptsprachen wie php/python sind da schon ganz nett, vor allem php ist sehr an c angelehnt und es gibt viele ähnliche funktionsnamen ohne sich mit datentypen rumzuschlagen. version 5 hat auch ne ganze menge oop drinnen was dann ideale bedingungen für c++ schafft.

zudem erwirbt man sich dadurch wissen das für jede programmiersprache gültig ist.

mfg

RMC
2007-01-14, 00:19:56
meine meinung. c/c++ ist als erste sprache schon ein ziemlich harter brocken wo man nichtmal das "hello world" programm checkt und sich "warum, wieso, wie?" fragt


Wenn man sichs selbst beibringt, finde ich den Gedanken gar nicht so schlecht. Wobei dann aber folgender Punkt zum Tragen kommt:


zudem erwirbt man sich dadurch wissen das für jede programmiersprache gültig ist.

Nein, nicht ganz. Man muss beachten, dass eine Programmiersprache eigene Gesetze hat und sich von einer Skriptsprache _deutlich_ absetzt. Zum Beispiel was Datentypen angeht. Dieses Wissen erwirbt man mit Skriptsprachen nicht und deshalb ist das Wissen nur bedingt für Programmiersprachen gültig.

Wenn man eine Programmiersprachen versteht, versteht man (€ prinzipiell) auch Skriptsprachen - aber nicht umgekehrt. Das muss einem klar sein.

Monger
2007-01-14, 00:26:01
version 5 hat auch ne ganze menge oop drinnen was dann ideale bedingungen für c++ schafft.

Uargh, OOP und C++ in einem Satz nennen... das macht man doch nicht! :teach: :D

Was die Sprache angeht: C# ist eine sehr schöne Sprache, ich find allerdings die dazugehörige IDE (Visual Studio) nicht so dralle - auch nicht für einen Anfänger.
Trotzdem ist man da deutlich besser bedient als mit dem "klassischen" C++. Kein Mensch sollte heute noch dazu gezwungen werden, ohne Garbage Collector zu arbeiten. C++/CLI habe ich selbst noch nicht gesehen, soll aber gegenüber C# ein paar unangenehme Tücken haben.

Quantar
2007-01-14, 01:56:39
imo sollte man sich als erstes die Grundkenntnisse der Logik aneignen. Die sind das A und O einer formalen Sprache. Darauf aufbauend dann die Systeme betrachten, in welchen man interagieren möchte.

Coda
2007-01-14, 02:02:13
Was die Sprache angeht: C# ist eine sehr schöne Sprache, ich find allerdings die dazugehörige IDE (Visual Studio) nicht so dralle - auch nicht für einen Anfänger.

Da bist du aber wohl ziemlich in der Minderheit.

Monger
2007-01-14, 02:26:18
Da bist du aber wohl ziemlich in der Minderheit.

Was? Weil ich C# gut finde, oder weil ich die IDE nicht so toll finde?

SgtTynis
2007-01-14, 02:50:01
C# ist - bei aller M$ Feindlichkeit und wenn auch nicht wirklich bahnbrechend neu - mal etwas wirklich gelungenes aus Redmond. Selbst das VS ist mittlerweile ein recht brauchbares Werkzeug.

tokugawa
2007-01-14, 03:07:40
Was? Weil ich C# gut finde, oder weil ich die IDE nicht so toll finde?

Er meint wohl die IDE.

Man muß beachten dass die IDE für C# deutlich mehr kann als für C++, man kann also nicht von C++ unter Visual Studio auf C# unter Visual Studio schließen.

Wobei ich die IDE für C++ auch nicht schlecht finde, auch wenn - im Gegensatz zu C# - Intellisense manchmal nicht funktioniert.



Würde für imperative Programmierung ebenfalls mit einer dieser "Lernsprachen" anfangen, also Java, C#, oder wenn man etwas "klassischer" unterwegs sein will, irgendeine Form von Pascal (ev. Delphi/Object Pascal).

Zumindest stolpert man dann nicht so oft wie es mit C/C++ der Fall wäre.

Bücher können gut sein, aber Anfängertutorials findet man im Netz auch, und die sind sowieso ein guter Einsteigepunkt.
Wenn man dann schon etwas mehr kann, kann man ruhig mal sich ein Buch aus einer Bibliothek ausleihen (wozu kaufen?). "Referenzen" oder akademischeres Zeugs wie Design Patterns, die kann man sich dagegen ruhig kaufen zum nachschlagen, aber das ist wohl erst für später, wenn man schon mehr kann.

Winter[Raven]
2007-01-14, 09:03:43
imo sollte man sich als erstes die Grundkenntnisse der Logik aneignen. Die sind das A und O einer formalen Sprache. Darauf aufbauend dann die Systeme betrachten, in welchen man interagieren möchte.

Was verstehst du darunter?

Gast
2007-01-14, 21:54:20
;5158362']Was verstehst du darunter?
Aussagenlogik
Mengenlehre
was es sonst noch so gibt in der Mathematik

Ganon
2007-01-14, 22:38:32
Jo, wie schon gesagt. Logik ist wichtig. Sehr wichtig und das kann einem kein Buch beibringen.

Zusätzlich dazu muss man noch die Fähigkeit haben, Probleme zu erkennen, sie zu analysieren und dann die korrekte Lösung zu finden.

Bestes Beispiel bei mir auf Arbeit. Mein Kollege wollte schon anfangen das Problem mit aufwändigen Prüfroutinen und anschließenden Nachtragungen in der Datenbank zu umgehen. Hab ihn zum Glück noch davon abgehalten und mir die Sache mal ne Stunde angeguckt. Lösung war im Endeffekt ein Zeichen im Quellcode zu tippen, mehr nicht.

Seit dem guckt er sich Sachen jetzt noch genauer an ;)

Monger
2007-01-14, 22:52:06
Aussagenlogik
Mengenlehre
was es sonst noch so gibt in der Mathematik

Mengenlehre? Wozu das denn?

Abgesehen von der booleeschen Logik fällt mir da kein wirklich wichtiges mathematisches Thema ein. Dafür fallen mir jede Menge anderer Themenbereiche ein. Ein Germanist kann einem mehr darüber erzählen, was eigentlich eine Sprache ist (wenn man sich mal selber eine zusammenstricken will/muss). Ein Philosoph kann einem was über Objektorientierung erzählen. Ein Architekt was über strukturierten Aufbau. Und ein Psychologe, wie die GUI aussehen muss.

Gast
2007-01-14, 23:20:36
Mengenlehre? Wozu das denn?

Abgesehen von der booleeschen Logik fällt mir da kein wirklich wichtiges mathematisches Thema ein. Dafür fallen mir jede Menge anderer Themenbereiche ein. Ein Germanist kann einem mehr darüber erzählen, was eigentlich eine Sprache ist (wenn man sich mal selber eine zusammenstricken will/muss). Ein Philosoph kann einem was über Objektorientierung erzählen. Ein Architekt was über strukturierten Aufbau. Und ein Psychologe, wie die GUI aussehen muss.

Boolsche Algebra mit Mengen?

Monger
2007-01-14, 23:34:55
Boolsche Algebra mit Mengen?
Ich weiß immer noch nicht was du meinst. Mengenlehre ist doch diese Geschichte mit verschiedenen Zahlenräumen, Teilmengen, Untermengen usw. ...

Wie genau bringst du das jetzt mit boolscher Algebra in Verbindung?

Gast
2007-01-15, 16:57:42
Ich weiß immer noch nicht was du meinst. Mengenlehre ist doch diese Geschichte mit verschiedenen Zahlenräumen, Teilmengen, Untermengen usw. ...

Wie genau bringst du das jetzt mit boolscher Algebra in Verbindung?
z.B:
Allquantor
(umgedreht E) es existiert mindestens ein Element, für das gilt
(umgedreht E!) es existiert genau ein Element, für das gilt
siehe ilias.vhs21.ac.at/2bw/mathe/themen/Mengenlehre/TH_UE_Aussagenlogik_Sch%F6nthaler_SS05.doc

tokugawa
2007-01-15, 19:02:29
Der Begriff dafür ist Prädikatenlogik (die nächste Stufe über der Aussagenlogik).

Gast
2007-01-15, 19:25:03
Der Begriff dafür ist Prädikatenlogik (die nächste Stufe über der Aussagenlogik).

Danke

Quantar
2007-01-15, 19:26:32
Boolesche Algebra ist notwendig für Aussagenlogik und damit auch für die Prädikatorenlogik (welche in gewisser Weise auch als Quantorenlogik verstanden werden kann). Mengenlehre habe ich noch nicht ganz durchschaut, jedoch ist dafür die BA auch ein notwendiger Bestandteil.