Gør som tusindvis af andre bogelskere
Tilmeld dig nyhedsbrevet og få gode tilbud og inspiration til din næste læsning.
Ved tilmelding accepterer du vores persondatapolitik.Du kan altid afmelde dig igen.
Dieses Buch ist ein Lehrbuch für schnelle, effiziente und korrekte Pro p;rammierung. Es werden Verfahren vorgestellt, die es ermöglichen, sprach- und maschinenunabhängig zu programmieren, und eine Me thode, mit der zweifelsfrei bewiesen werden kann, daß die so entwickel ten Algorithmen korrekt sind, d.h., genau das leisten, was sie leisten sollen. Dazu wird die Top-Down-Konstruktion und die Bottom-Up Verifikation dargestellt. Es wird auf die Übertragung in gängige und in moderne funktionale und objekt-orientierte Programmiersprachen eingegangen. Systemati sche Testmethoden werden ebenfalls kurz beschrieben. Einen großen Raum nimmt die Besprechung prinzipieller Programmiermethoden ein wie Rekursion, Divide and Conquer, Greedy, Dynamisches Program mieren usw. Eine Vielzahl von Beispielalgorithmen werden vorgestellt. Großer Wert wird darauf gelegt, daß das Buch gut lesbar und verständ lich ist und alle Verfahren und Algorithmen ausführlich erläutert wer den. Es ist entstanden aus Vorlesungen, die der Autor seit 1988 an der Fachhochschule Osnabrück hält. Es ist aber nicht nur für Studenten geeignet, sondern auch für den Prak tiker. In den Abschnitten über Motivation und Sensibilisierung wird nachvollziehbar begründet, warum nicht nur Profis die beschriebene Me thodik verwenden sollten, sondern sogar Hobby-Programmierer. Pro grammieren basiert auf logischen Strukturen, die bei einem kleinsten Fehler die Ergebnisse unvorhersehbar machen.
Studierende und Quereinsteiger erhalten mit diesem Buch eine Anleitung, die es ihnen ermöglicht, eigene Datenbanken zu erstellen. Anhand eines durchgehenden Beispiels werden grundlegende Vorteile von Datenbankanwendungen erläutert und schrittweise der Entwurfsprozess entwickelt. Diesen Prozess fassen "Kochrezepte" am Ende eines jeden Abschnitts zusammen und Übungsteile helfen, das Verständnis des Erlernten zu prüfen und zu vertiefen.
Dieses Buch vermittelt dem Leser fundierte Grundkenntnisse sowohl in Datenbanken als auch in SQL. Eine Zusammenfassung und zahlreiche Übungsaufgaben in jedem Kapitel dienen der Vertiefung des Stoffes und verbessern den Lernerfolg deutlich. Die Schwerpunkte des Buches sind relationale Datenbanken, Entwurf von Datenbanken, die Programmiersprache SQL und der Zugriff auf Datenbanken mittels der Sprache PHP. Aber auch Themen wie Recovery, Concurrency, Sicherheit und Integrität werden ausführlich besprochen. Ein Kapitel zu verteilten Datenbanken, NoSQL und objektrelationalen Datenbanken führt in die jeweilige Thematik ein. Ein eigenes Kapitel über Performance gibt wertvolle Anregungen und Tipps zum Betrieb von leistungsfähigen Datenbanken. Der Autor legt sehr viel Wert auf die praktische Anwendung. Mit Hilfe einer Beispieldatenbank kann das Gelernte sofort geübt werden. Diese Datenbank, alle vorgestellten Programme und die Lösungen zu allen Übungen werden im Internet zum Download bereitgestellt.
tes laBt sich so durch eigene Experimente nachprOfen und vertiefen.
Nur wenige höhere Programmiersprachen haben es geschafft, über mehrere Jahrzehnte erfolgreich zu sein. Die Sprache C gehört zweifelsfrei dazu und ist im Gegensatz zu anderen Sprachen, die eine vergleichbar lange Zeit überleben konnten, gerade in den letzten Jahren immer beliebter geworden. Und weil sie in der dominierenden objektorientierten Sprache C++ komplett enthalten ist, kann man ihr wohl ein noch langes Leben prophezeien (allerdings gelten in der Informatik Voraussagen schon dann als "Langzeit-Prognose", wenn sie einen Zeitraum von fünf Jahren umfassen). C-Programmierung gilt als schwierig. Ich kann aus eigener Erfahrung in der Lehre bestätigen, daß der Anfänger tatsächlich mehr Schwierigkeiten als mit anderen Programmiersprachen hat. Aber nach einer gewissen "Durststrecke" zahlen sich die Mühen aus. Wenn die Anfangs Schwierigkeiten überwunden sind, können nach vergleichsweise kurzer Zeit schon anspruchs vollere Probleme gelöst werden. Das setzt allerdings voraus, daß auch die Konzepte dafür gelehrt werden, denn es nützt wenig, sich durch die Problematik der "Pointer" und der "rekursiven Strukturen" hindurchzuquälen, wenn man nicht auch mit den verketteten Listen und den binären Bäumen die Datenstrukturen und dazu die rekursive Programmiertechnik behandelt, die diese Konzepte intensiv benutzen. Schließlich ist der Erfolg beim Erlernen einer Programmiersprache weitgehend auch vom Spaß abhängig, den man bei aller Mühe unbedingt haben sollte. Das schönste Ergebnis, ein funktionierendes Programm aus eigener Fertigung, sollte sich allerdings möglichst auch "so schön" präsentieren, wie es die professionell erzeugte Software tut. Dazu sind Kenntnisse der Windows-Programmierung heute unerläßlich.
Immer komplexere Probleme zwingen geradezu zu objektorientiertem Denken. Daß mit den objektorientierten Programmiersprachen genau die Hilfsmittel bereitgestellt werden, mit denen die reale Welt adäquat abgebildet werden kann, ist sicherlich die Basis für den Trend, neue Software-Projekte fast ausschließlich damit zu realisieren. Die noch recht junge Programmiersprache C++ nimmt dabei zweifellos eine Sonderstellung ein, weil die sehr weit verbreitete Programmiersprache C in ihr komplett enthalten ist. Das erleichtert vielen Programmierern den Umstieg erheblich, und an diese Umsteiger wendet sich dieses Buch. Die vielfach zu hörende Skepsis, daß Umsteiger (wegen der Gefahr, "rückfällig zu werden") besondere Schwierigkeiten haben, die objektorientierte Denkweise konsequent zu verfolgen, wird von mir nicht geteilt, im Gegenteil: Gerade der (und nun nenne ich ihn) Aufsteiger zur objektorientierten Programmierung wird die Vorteile ganz besonders deutlich erkennen. Nicht unterschätzt werden darf die Möglichkeit, bewährte Algorithmen der Programmier sprache C, die ohne Änderung auch von C++ -Compilern übersetzt werden können, mit einer Verpackung zu versehen, die eine "objektorientierte Weiterverwendung" gestatten (die ab Kapitel 7 verwendeten "Microsoft foundation classes" sind geradezu ein klassisches Beispiel dafür). Dies legt einen "Aufstieg zu C++" ebenso nahe wie der nicht zu übersehende Trend, daß die Hersteller modernen Entwicklungsumgebungen für die Programmentwicklung konsequent die objektorientierten Sprachen unterstützen. Diese Aussage gilt in besonderem Maße für die Windows-Programmierung.
Tilmeld dig nyhedsbrevet og få gode tilbud og inspiration til din næste læsning.
Ved tilmelding accepterer du vores persondatapolitik.