10.7 Zusammenfassung
In diesem Kapitel wurden mehrere unterschiedliche Themen angesprochen. Alle haben gemeinsam, dass sie auf den einfachen Grundlagen aus dem vorigen Kapitel aufbauen und Programmieraufgaben aus der Praxis zeigen.
Die Kenntnis von Algorithmen und Datenstrukturen ermöglicht Ihnen die effiziente Programmierung: Es ist häufig sinnvoller, die über Jahrzehnte entwickelten Standardalgorithmen und -strukturen zur Lösung bekannter Probleme einzusetzen, als jedes Mal wieder bei null anzufangen. In diesem Kapitel wurden einige Such- und Sortier-Algorithmen sowie die Datenstrukturen Liste und Baum vorgestellt; sie bilden das Grundgerüst zahlreicher Programmierprojekte.
Ein weiteres bedeutendes Thema sind die regulären Ausdrücke, denn in vielen Anwendungen stellt sich das Problem des effektiven Umgangs mit Textmustern. Der Ansatz der regulären Ausdrücke stellt die beste bekannte Lösung dieses Problems dar, weil Sie damit die Struktur beliebiger Muster beschreiben können.
Als Nächstes wurde die systemnahe Programmierung behandelt, insbesondere der Aspekt der gleichzeitigen Ausführung mehrerer Arbeitsabläufe. Traditionell werden dazu parallele Prozesse verwendet, die durch Systemaufrufe aus einem laufenden Programm heraus gestartet werden können. Sie werden völlig unabhängig voneinander ausgeführt. Es gibt aber einige Möglichkeiten zur Kommunikation zwischen ihnen – als Beispiel wurde hier der Einsatz von Pipes demonstriert.
Um die Programmierung eigener Netzwerkanwendungen ging es im nächsten Abschnitt. Die Internetprotokolle und die Berkeley Socket API setzen hierfür inzwischen Standards, die weit über die verschiedenen Programmiersprachen und Systemplattformen hinausgehen. Nachdem die klassische Socket-Struktur am Beispiel Perl erläutert wurde, wurde auch der praktischere, objektorientierte Zugang vorgestellt. Als größeres Praxisbeispiel wurde schließlich ein richtiger, in Ruby geschriebener Webserver gezeigt.
Noch einen Schritt weiter als Netzwerkanwendungen gehen verteilte Anwendungen, die hier am Beispiel der Java Enterprise Edition kurz angeschnitten wurden. Diese ist mit zahlreichen Schnittstellen für Enterprise-Anwendungen ausgestattet. Sie können beispielsweise auf Datenbanken, das Web, XML-Datenbestände oder Namens- und Verzeichnisdienste zugreifen. Auch Enterprise Java Beans wurden in diesem Zusammenhang kurz vorgestellt.
Eine spezielle Form der verteilten Anwendung bilden die Webservices. Es handelt sich um Komponenten, die miteinander über das Web, also über HTTP-Verbindungen, kommunizieren beziehungsweise kooperieren können. Dies ermöglicht eine wirklich plattformneutrale Zusammenarbeit von Programmen.
Grafische Benutzeroberflächen werden heutzutage häufiger eingesetzt als Konsolenprogramme, sodass es zu den grundlegenden Aufgaben von Programmierern gehört, solche Anwendungen zu schreiben. Die in diesem Kapitel vorgestellten JFC-Bibliotheken sind eine praktische Möglichkeit, plattformunabhängige GUI-Anwendungen zu schreiben. Abgesehen davon funktionieren alle Toolkits zur Grafik- und GUI-Programmierung ziemlich ähnlich, sodass sich die hier erlernten Techniken leicht auf andere Sprachen und Umgebungen übertragen lassen.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.