Bücher über's Programmieren

Bücher über's Programmieren

Beitragvon wobo » Sa 17. Jun 2017, 10:57

Ich mache hier einmal einen Thread auf über Bücher für's Programmieren. Vielleicht hat irgendwann ja auch ein anderer Lust, eine kleine Rezension abzuliefern – gerne auch über die hier von mir rezensierten Bücher. Schließlich sind meine Bewertungen rein subjektiv.


„Programmieren mit Turbo Pascal 4.0, 5.0 und 5.5“
(Gebrüder Kassera, Markt&Technik)

Dies war das erste Buch, das ich mir zur Thematik „Programmierung“ damals (noch in den 80ern) gekauft habe. Hintergrund war, dass ich von einem Bekannten den Turbo Pascal 5.0 Compiler geliehen bekommen hatte, nachdem dieser sich die neue Version 5.5 gekauft hatte. Da es sich hierbei immer um die amerikanische Version handelte, die Handbücher somit auf Englisch waren und meine damaligen Englisch-Kenntnisse noch schlechter als heute waren, musste ich mir ein Buch zu Turbo Pascal besorgen.

Die Wahl fiel auf „Programmieren mit Turbo Pascal 4.0, 5.0 und 5.5“, was eine sehr gute Wahl war. Das Buch hat – alles meiner Erinnerung nach - bei Null angefangen, sich in jedem Kapital detailliert mit einem gut ausgewählten Komplex befasst, diesen sehr verständlich und umfassend behandelt. Der Aufbau des Buches hat mir auch sehr gefallen: jedes Kapital war in sich abgeschlossen und umfasste nur einen Komplex (z.B. PROCEDURE-Aufrufe und Verwendung) und hatte stets zum Ziel, die sog. strukturierte Programmierung zu vermitteln. Ein Kapitel baute auf dem anderen auf. Dennoch gab es keine lästigen Querverweise. Sehr gut und bis heute nützlich fand ich auch die umfassende Behandlung der BGI-Grafik incl. den Grundlagen der Animationsdarstellung von HGC bis VGA. Auch wenn ich heute keine Grafik-Bibliothek mehr verwende, so verwende ich bis heute die in diesem Buch dargestellten Grundsatztechniken, wie z.B. die 2-Seiten-Technik zur Animationsdarstellung (=wechselseitige Darstellung von verschiedenen Bildschirmseiten zur Eliminierung von Flimmern, sog. Double Buffering).

Ein mir gefälliges Beispiel für guten Code ist auch derjenige über das Wechseln von zwei Werten zwischen 1 und 0. Dieses Problem (also das Wechseln eines Werts zwischen Null und Eins) könnte man via „brute force“ so lösen:

IF wert=0 THEN wert:=1 ELSE wert:=0;

Das Buch lehrt, dass man solche Probleme immer funktional lösen sollte, also

wert := 1-wert;

Dies ist viel kürzer, in meinen Augen viel leichter verständlich und im Übrigen auf x86 cpus auch wesentlich schneller in der Ausführung.


Ich habe eigentlich mein (nahezu) gesamtes Wissen über Pascal aus diesem Buch gewonnen.

Ein Bild kann ich leider nicht bieten, da ich dieses Buch noch in den 90ern verschenkt hatte. Die Rezension erfolgt daher nur aus der (ggf. getrübten) Erinnerung. Ich habe das Buch aber in diese Liste aufgenommen, weil es für mich die Messlatte für alle späteren Bücher war. Eine Messlatte, die nie mehr gerissen wurde …

Mein Fazit: Die beste Einführung in Turbo Pascal, die mir je untergekommen ist!
Meine Bewertung: (-) da nur noch in der Erinnerung vorhanden


„PC-Intern 3.0“
(M. Tischer, Data Becker, 1. Aufl. 1992)

Buch1_PC_Intern30.jpg
PC Intern 3.0 (dazu: Assembler-Befehlstafeln)
Buch1_PC_Intern30.jpg (133.17 KiB) 506-mal betrachtet


Damals beworben als die PC-Bibel. Deswegen hatte ich mir das Buch (nach intensiven Abwägen, ob ich den Kaufpreis von damals heftigen 99 Mark nicht besser in ein Spiel investieren sollte) dann auch zugelegt.

Positiv an diesem Buch sehe ich
den gut durchdachten, sehr strukturierten Aufbau
und das breite Spektrum der behandelten Themen,
sowie die aus meiner Sicht gute Qualität des abgedruckten Codes

Mehr als dieses Buch (sowie die noch für 1 Mark damals erworbenen Assembler-Befehlstafeln, im Bild oben neben PC-Intern) benötige ich eigentlich auch heute nicht, wenn ich etwas auf 286-Niveau softwaremäßig basteln will.

Leider ist mir auch einiges negatives aufgefallen:
Vielzahl von kleinen Flüchtigkeitsfehlern und anderen Fehlern (Zahlendreher, vertauschte Register etc.)
schlechte Bindung (Buch ist sehr schnell zur Loseblattsammlung geworden)
manche Themenbereiche sind nur sehr oberflächlich behandelt (z.B. Bootvorgang)
Komplex Soundkarten fehlt komplett
langatmiger, geradezu prosaischer und umständlicher Sprachstil

Leseprobe (PC Intern 3.0, S. 212f):
„Kapitel 4.8.1: EGA- und VGA-Karten identifizieren

Wenn Sie in ihren Programmen auf verschiedene Leistungsmerkmale von EGA- und VGA-Karten zurückgreifen, die diesen eigen sind und womöglich auch den Anschluß eines bestimmten Monitor-Typs voraussetzen, sollten Sie an den Anfang Ihres Programms den Aufruf einer entsprechenden Abfrageroutine stellen. Mit Ihrer Hilfe können Sie zur Laufzeit eines Programms die Spreu vom Weizen, spricht: EGA- und VGA-Karten von ihren Vorgängern unterscheiden. Eine solche Routine möchte ich Ihnen in diesem Abschnitt vorstellen.

Sie trägt den Namen IsEgaVga und wurde als Funktion in einer Pascal- und C-Version realisiert. Ihre Basis bildet der Aufruf zweier BIOS-Funktionen, die nur im erweiterten BIOS von EGA- und VGA-Karten enthalten sind. Bereits dadurch wird die Unterscheidung zu den Vorgänger-Modellen von MDA bis CGA möglich, weil diese Funktionsaufrufe dort zwangsläufig scheitern müssen.

Eine der beiden genannten Funktionen ist jedoch auch nur bei der VGA-Karte verfügbar und hilft so bei der Unterscheidung zwischen EGA- und VGA-Karten. Es handelt sich um die Funktion 1Ah, die über zwei Unterfunktionen verfügt. Für unsere Zwecke relevant ist die Unterfunktion 00h, die Informationen über die aktive und passive Videokarte liefert.

[…]

Ruft man die Funktion 1Ah nun mit der Funktions- und Unterfunktionsnummer im AH- und AL-Register auf, wird man gleich nach dem Funktionsaufruf am Inhalt des AL-Registers feststellen können, ob die Funktion vom BIOS unterstützt wurde, also eine VGA-Karte und ein zugehöriges VGA-BIOS vorliegt. Das VGA-BIOS macht sich dabei nämlich den Umstand zunutze, dass das normale BIOS beim Aufruf einer unbekannten Funktion sofort zum Aufrufer zurückkehrt, die Inhalte aller Register aber unverändert läßt.

Im AL-Register liefert das normale BIOS dann unverändert den Wert 00h zurück, während das VGA-BIOS ganz bewußt die Funktionsnummer 1Ah in dieses Register lädt, um die erfolgreiche Ausführung des Funktionsaufrufs zu dokumentieren. [...]“


So prosaisch ist das ganze Buch gehalten! Ich weiß nicht, ob man das noch umständlicher ausdrücken kann. Ich habe den Ausschnitt sogar um einen Absatz gekürzt! Es geht eigentlich nur darum herauszufinden, ob eine VGA-Karte vorhanden ist. Hierzu ruft man einen bestimmten Interrupt des VGA-BIOS auf. Anhand dessen Rückgabewerts weiß man dann, ob tatsächlich eine VGA – Karte installiert ist. Ditto für EGA. Das ist alles!

Mein Fazit: Kauf hat sich absolut gelohnt, auch wenn mich die umständliche Ausdrucksweise jedes Mal neu nervt.
Meine Bewertung: 7/10 Punkte


„Das PC Profibuch, Extended Edition“
(M. Althaus, Sybex, 6. Aufl. 1990)

Buch2_Profibuch.jpg
PC Profibuch, Ext. Edition
Buch2_Profibuch.jpg (67.39 KiB) 506-mal betrachtet


Dieses Buch habe ich mir erst jetzt gebraucht gekauft, und ist auch der wahre Anlass bzw. der Ursprung der Idee zu diesem Thread. Denn offenkundig handelt es sich hier um ein Konkurrenzprodukt zur Vorgänger-Version von PC-Intern 3.0, nämlich PC-Intern 2.0.

PC-Intern 3.0 beschreibt den Bootvorgang, der ja für die normale Programmierung unter DOS nicht relevant ist, nur sehr oberflächlich. In diesem Buch bin ich endlich fündig geworden. Der Bootvorgang ist meines Erachtens sehr detailliert und sehr gut beschrieben.

Wohltuend positiv gegenüber dem Konkurrenzprodukt PC – Intern war für mich auch der Sprachstil: kurzweilig, leicht verständlich, ohne viel Gelaber.

Positiv weiter fand ich das umfassende Kapitel zur HGC – einschließlich der eigenen Entwicklung eines einfachen CGA-Emulators. Ebenso wie PC-Intern 3.0 behandelt das Buch MDA, CGA, HGC, EGA und VGA.

Gut gefallen hat mir auch die Vielzahl der Hardware-Beschreibungen, die ich sonst in keinem Buch für den Bereich „Programmierung“ so angetroffen habe, wie z.B. die (einfache) Beschreibung der ISA-Bus-Belegung, derjenigen des MCA-Busses etc. Das sind Sachen, die in PC-Intern überhaupt nicht auftauchen.


Allerdings sehe ich auch einen Haufen Kritikpunkte:

1.
katastrophaler Aufbau: die Kapital sind ohne jede Nachvollziehbarkeit „kunterbunt“ angeordnet. Nicht nachvollziehbar ist auch, warum das Buch anfangs ca. 370 Seiten Erläuterungen enthält. Dann kommen 460 Seiten Api-Dokumentation (Anhang), dann wieder 200 Seiten Erläuterungen und dann wieder 100 Seiten Api-Dokumentation(Anhang).
2.
Auch innerhalb der Kapitel wird kunterbunt zusammengewürfelt. So beschreibt Kapitel 12 den Tastaturpuffer, den File-Control-Block, die FAT und den Global Descriptor Table zum Zugriff auf den Protected Mode. Das hat alles nicht besonders viel miteinander zu tun.
3.
Beispiel-Code ist teilweise nicht lauffähig und damit offenkundig ungetestet. Der auf Seite 200 genannte Turbo Pascal Code zum Zugriff auf einzelne Zeichen im Textmode ist so gar nicht kompilierbar, weil Pascal eine Zuweisung mittels „=“ gar nicht kennt.
4.
Die Fehlerquote ist gefühlt bestimmt doppelt so hoch wie die von PC-Intern 3.0. Teils wird z.B. behauptet (S.86), der Speicher der EGA begänne bei A8000h (falsch; er beginnt bei A0000h); Ebenso falsch ist die mehrfache Behauptung (z.B. S. 211), die EGA besäße einen CRTC 6845 als Bildschirmkontroller...

Aus dem werberischen Klappentext (Rückseite):
“Dieses Standardwerk benötigt jeder professionelle Programmierer!

Hier finden Sie alle notwendigen Fakten zur Programmierung Ihres PC auf Maschinenebene. Neben der übersichtlichen Dokumentation von Soft- und Hardware des PC finden Sie hier leicht verständliche Erklärungen zur Funktionsweise Ihres Computers. So lernen Sie, die Arbeitsabläufe in Ihrem PC zu verstehen und das Gerät optimal zu nutzen. Dabei ist es unerheblich, ob Sie in Assembler, Basic, Pascal oder C programmieren. Der Auto zeigt, wie Sie von all diesen Sprachen aus auf das BIOS und DOS zugreifen und die Hardware direkt ansteuern können. „


Und noch eine Leseprobe („PC Profibuch“, S. 1032 zur Speichertechnologie):
„Eine immer weitere Verbreitung haben in den letzten Jahren optische Speicher erfahren. Bei ihnen werden die Bits durch 'Unebenheiten' der Oberfläche des Trägermaterials repräsentiert. Die Speichermedien nennt man CD-ROMs. Die Oberfläche der CD-ROMs wird mit Hilfe eines Laserstrahls abgetastet. Der Vorteil dieses Verfahrens liegt in der extrem hohen Speicherdichte, die zu erzielen ist. Schon heute gibt es für den AT CD-ROM-Lesegeräte, bei denen beispielsweise der gesamte Text der Bibel (neues und altes Testament) inklusive Inhaltsverzeichnis und Suchindex auf einem einzigen CD-ROM untergebracht ist.“


:-) Das waren also die Zeiten, als die Bibel noch ein Kriterium für Informationsgehalt war.

Mein Fazit: Super Lesespaß mit strukturellen Schwächen!
Meine Bewertung: 4/10 Punkte
wobo
DOS-Guru
 
Beiträge: 555
Registriert: So 17. Okt 2010, 13:40

Re: Bücher über's Programmieren

Beitragvon rique » Sa 17. Jun 2017, 11:33

Interessanter Thread, da steuere ich mal gleich meine zwei Lieblingswerke bei, die ich hervorragend finde.
Mit diesen Büchern ist jeder Interessierte in der Lage Programmieren zu lernen, denn der Autor versteht es den Leser mitzunehmen und weiß auf welche Dinge er wert legen muss, damit der Leser den Inhalt erfasst.
Rundum ein gelungenes, überzeugendes, detailiertes und pädagogisch wertvolles zweibändiges Werk mit zahlreichen Beispielen im Buch und auf 3,5"-FD! :)

klawun_1.jpg
klawun_1.jpg (139.72 KiB) 501-mal betrachtet


"Borland/Turbo Pascal 7.0 - Vom Einsteiger zum Aufsteiger"
(Christoph Klawun, ADDISON-WESLEY, ISBN 3-89319-569 - 6, 79,90 DM, 1993 2.Auflage)
klawun_2.jpg
klawun_2.jpg (197.23 KiB) 501-mal betrachtet


"Borland/Turbo Pascal 7.0 - Vom Aufsteiger zum Insider"
(Christoph Klawun, ADDISON-WESLEY, ISBN 3-89319-683 - 8, 89,90 DM, 1994 3.Auflage)
klawun_3.jpg
klawun_3.jpg (195.69 KiB) 501-mal betrachtet


klawun_4.jpg
klawun_4.jpg (72.28 KiB) 501-mal betrachtet
Benutzeravatar
rique
DOS-Guru
 
Beiträge: 982
Registriert: Sa 9. Apr 2011, 11:29
Wohnort: Stadtrand Berlin

Re: Bücher über's Programmieren

Beitragvon wobo » Sa 17. Jun 2017, 11:35

„Turbo Assembler“
(E.W. Dieterich, Oldenbourg, 3. verbesserte Aufl. 1995)

Buch3_TASM.jpg
Turbo Assembler
Buch3_TASM.jpg (58.32 KiB) 500-mal betrachtet


Auch dieses Buch habe ich mir erst jetzt gebraucht gekauft. Hintergrund war, dass ich endlich einmal so richtig Assembler programmieren lernen wollte. Bisher behelfe ich mir ja immer mit dem integrierten Assembler in Turbo Pascal (BASM).

Ich persönlich finde, dass dieses Buch unheimlich langweilig geschrieben ist. Das liegt bestimmt zu einem Teil daran, dass es sich primär an Informatik-Studenten richtete, und damit mir schon bekannte Sachverhalte in einer mir eher unbekannten technischen Sprache vermittelt. Hinzu kommt noch, dass mir das Interesse an Assembler schlagartig abhanden gekommen ist, als ich gemerkt habe, wie aufwendig die Programmierung komplett in Assembler ist, insbesondere wenn ich die selbe Ausführungszeit von Code auch durch die Verwendung von Pascal+BASM in wesentlich kürzer Entwicklungszeit realisieren kann.

Das Buch hat bei mir also einen sehr schweren Stand, der sich durch den mir einfach nicht zusagenden Sprachstil nur weiter manifestiert hat. Unglücklich fand ich auch, dass die englischen Fachbegriffe wie STACK eingedeutscht wurden (z.B. als KELLER), obwohl es dafür doch schon bessere Übersetzungen gibt (STAPEL).

Leseprobe („Turbo Assembler“, S. 104):
“5.7 Keller-Befehle
Der Keller ist ein Speicherbereich, dessen Größe mit der .STACK-Direktive eingestellt wird und auf den man mit zwei ganz speziellen Befehlen zugreifen kann. Der englische Name stack (=Stapel) verdeutlicht die erlaubten Zugriffsarten schon recht klar.

Man kann auf einen Stapel immer nur
- ein Element oben drauflegen und
- das oberste Element wegnehmen.

Genau diese Struktur wird im Stack-Speicher nachgebildet. Auf das oberste Element zeigt der Kellerzeiger sp.
[…]
Hier ist das Analogon zum Keller treffender: Je mehr Elemente man hat, desto tiefer steigt man in den Keller. Mit dem Befehl push wird ein Element auf den Keller gelegt. Man beachte, dass bei den Keller-Befehlen nur 16 Bit-Operanden erlaubt sind.“


Danach wird nur noch der Begriff Keller, Kellerzeiger usw. verwendet, wenn der STACK gemeint ist.

Negativ ist auch, dass eine Beispiel-Diskette fehlt. Man muss also allen Code abtippen, was bei ASM ja noch geht.

Mein Fazit: Nichts für mich.
Meine rein subjektive Bewertung für dieses fachlich sicherlich sehr gute Buch: 3/10 Punkte

„Programmierkurs Turbo Pascal 6.0“
(M. Füssinger, Sybex, 3. Aufl. 1992)

Buch4_ProgKurs_TP6.jpg
Programmierkurs der alten Schule...
Buch4_ProgKurs_TP6.jpg (56.59 KiB) 500-mal betrachtet


Aktueller Dachbodenfund eines Bekannten: Ein Lehrbuch über die Programmiersprache Turbo Pascal in 17 Lektionen. Gespickt mit Syntaxdiagrammen und Struktogrammen. Ganz die alte Schule. Viele Handlungsanweisungen im Kochrezept-Stil, die den Autor und Leser zu einer Gemeinschaft verschweißen wollen (Leseprobe, S. 282):
„Bei der Realisierung des Programms bilden wir einen lesbaren Programmcode. Auch wenn das Schreiben mehr Arbeit macht, sollten wir, wie gewohnt, immer beschreibende Variablenbezeichnungen verwenden. Nicht f sondern fam_stand. Verzweigungen und Schleifen machen wir in unserem Programmtext durch Einrückungen deutlich. Gegebenenfalls schreiben wir noch einen Kommentar in den Programmtext. Ein so gestalteter Programmtext kann auch später noch gelesen und verstanden werden.“


Auch wenn inhaltlich nichts einzuwenden ist, ich schlafe bei solcher Kochrezepte-Sprache („Wir nehmen 500g … und rühren...“) immer ein. Sprachlich also innovationslos. Auch inhaltlich gibt es keine guten Ideen. Ich habe bei erster Sichtung jedenfalls keinen Beispiel-Code gefunden, der eine gute Idee umsetzt. Dargelegt werden nur die absoluten Basics.

Eine Diskette mit Beispiel-Code ist dem Buch ebenfalls nicht beigefügt.

Mein Fazit: Schade um das Papier!
Meine rein subjektive Bewertung: 2/10 Punkte
wobo
DOS-Guru
 
Beiträge: 555
Registriert: So 17. Okt 2010, 13:40

Re: Bücher über's Programmieren

Beitragvon wobo » Sa 17. Jun 2017, 11:43

@Rique: Sehr interessant - Danke. Ich erinnere mich, wie damals diese Bücher empfohlen worden sind. Sie waren mir damals aber zu dick (und zu teuer) gewesen. Schön, dass Du gleich die Preis mitangegeben hast. Da muss ich ja meine Beiträge fast noch einmal überarbeiten.. :like:
wobo
DOS-Guru
 
Beiträge: 555
Registriert: So 17. Okt 2010, 13:40

Re: Bücher über's Programmieren

Beitragvon Casimir67 » So 18. Jun 2017, 08:54

@Rique
Genau diese Bücher habe ich auch, finde sie echt super.
Meine waren nur immer ohne Disketten(hat mich sehr geärgert)
Kannst Du die mir zukommen lassen?
Grüße
Casimir67
HELP.COM-Benutzer
 
Beiträge: 45
Registriert: Di 5. Mai 2015, 15:51

Re: Bücher über's Programmieren

Beitragvon Mr Vain » Mi 21. Jun 2017, 20:28

Ich bin von den Markt+Technik Buechern sehr begeistert. Habe ebenfalls das Borland Pascal 7.0 Kompendium im Regal stehen und beschaeftige mich gerade wieder mit dem Kapitel 12 ueber Assembler Maussteuerung. Ich habe die neuere Auflage von '98, wo BP7 komplett auf CD dabei war!! 8-)

Weiterhin habe ich auch das Borland C++ Kompendium von '92, welches fuer Version 3.0/3.1 gedacht ist. Dazu natuerlich auch die 5,25" Diskette 8-) 8-) mit den Beispielcodes. Das C++ Kompendium ist vom Schreibstil und der Strukturierung anders aufgebaut, als das BP7 Kompendium, aber trotzdem sehr empfehlenswert.
Fan von klassischer PC Hardware.
1) Am5x86 auf ASUS VL/I 486SV2GX4, 1MB L2, 64MB RAM, VLB-Monster
2) Am5x86 auf ECS UM8810P-AIO, 512KB L2, 64MB RAM, PCI-486er

Komplett-PCs und Hardware gesucht? -> Mein Hardware Flohmarkt
Mr Vain
DOS-Guru
 
Beiträge: 523
Registriert: Sa 28. Sep 2013, 22:01

Re: Bücher über's Programmieren

Beitragvon rique » Sa 24. Jun 2017, 13:35

Ja die Kassera-Werke habe ich auch! 8-)
Sind auch in meinen Augen sehr empfehlenswert!

"Turbo Pascal 7.0 - Das Kompendium" (rechts auf dem Bild)
(Winfried Kassera und Volker Kassera, Markt&Technik, ISBN 3-87791-426-8, 69 DM, 1993, 1.Auflage)
"Turbo Pascal 7.0 - Das Kompendium" (links auf dem Bild)
(Winfried Kassera und Volker Kassera, Markt&Technik, ISBN 3-8272-5166-4, 39,95 DM, 1996, 1.Auflage Neudruck)
tp7_1.jpg
tp7_1.jpg (115.35 KiB) 377-mal betrachtet
tp7_2.jpg
tp7_2.jpg (209.73 KiB) 377-mal betrachtet
tp7_cd.jpg
tp7_cd.jpg (82.3 KiB) 377-mal betrachtet


"Programmieren mit Turbo Pascal 4.0/5.0"
(Winfried Kassera und Volker Kassera, Markt&Technik, ISBN 3-89090-717-2, 69 DM, 1989, 1.Auflage)
tp4u5_1.jpg
tp4u5_1.jpg (72.51 KiB) 377-mal betrachtet
tp4u5_2.jpg
tp4u5_2.jpg (227.44 KiB) 377-mal betrachtet
tp4u5_fd.jpg
tp4u5_fd.jpg (66.75 KiB) 377-mal betrachtet
Benutzeravatar
rique
DOS-Guru
 
Beiträge: 982
Registriert: Sa 9. Apr 2011, 11:29
Wohnort: Stadtrand Berlin

Re: Bücher über's Programmieren

Beitragvon wobo » So 25. Jun 2017, 18:35

Rique, Danke für die Fotos. Das grüne Buch weckt meine Erinnerungen :-) - ich hatte die Nachfolge-Version für TP 4.0-5.5. Aber es war genauso grün! :-)
wobo
DOS-Guru
 
Beiträge: 555
Registriert: So 17. Okt 2010, 13:40


Zurück zu Programmierung

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast