Domain Specific Languages vereinfachen die textbasierte Arbeit am Computer durch eine zusätzliche Abstraktionsstufe. Statt jedes Detail in einer allgemeinen Sprache auszuprogrammieren, genügen wenige Schlüsselwörter. Ruby enthält die nötigen Ausdrucksmittel für solche Vereinfachungen.
Ruby
Will ein Entwickler seine Software mit automatisierten Tests prüfen, muss er komplexe Randbedingungen wiederholbar machen. Dabei helfen ihm Mock-Objekte, die das Verhalten von Produktionscode simulieren, ob es sich nun um ein Netzwerk oder eine Datenbankanbindung handelt.
Bei jeder Änderung an einem Programm besteht die Gefahr, dass unbemerkt neue Fehler entstehen. Mit Unit-Tests kontrollieren Entwickler, ob alle Bausteine ihres Programms erwartungsgemäß funktionieren. Die Skriptsprache Ruby bringt von Haus aus ein leistungsfähiges Modul fürs Unit Testing mit.
In diesen Tagen erschien PostgreSQL 8. Die Datenbank mit dem Elefanten-Maskottchen empfiehlt sich mit zahlreichen neuen Features, darunter Tablespaces, Point-in-Time-Recovery und Savepoints. Weiter ausgebaut haben die Entwickler auch die Programmiermöglichkeit von Serverfunktionen.
Auch im vergangenen Monat gab es Neuigkeiten in der Welt der freien Software. Wir picken die Leckerbissen heraus. Dieses Mal: Elegant präsentieren, Quelltext strukturieren mit Code-Browser und die hoffentlich letzte Version des Debian-Installers. Dazu gibt es Infos über Debians Alioth und den...
Die meisten Webbibliotheken machen 90 Prozent der Aufgaben einfach, den Rest schlichtweg unmöglich. Das in Ruby geschriebene Open-Source-Framework Rails bewahrt sich die notwendige Flexibilität, um auch die restlichen zehn Prozent auf die Bahn zu bringen.
Plattformübergreifendes Programmieren ist eine Kunst: Um die großen Unterschieden von Linux, Windows und Mac zu überwinden, müssen Cross-Plattform-Toolkits viel leisten. Dieser Artikel stellt WX-Windows vor, eine GUI-Bibliothek, die seit über zehn Jahren Entwicklern diese Aufgabe erleichtert.
Die alte Frage nach dem richtigen Paketformat hat eine neue Antwort gefunden: Starkits. Sie sind direkt ausführbar, trotzdem können interessierte Anwender, Programmierer und Admins das File auspacken und die Komponenten einzeln verwenden und installieren.
Auf der OSCON traf sich das Who's who der Open-Source-Szene. Angst vor proprietärer Software kam aber nicht auf, schließlich ließ man sich sogar von Microsoft das Mittagessen sponsern. Dass unserem Mann in Portland, dem Autor des Perl-Snapshots, aber vor allem eines wichtig war, sei ihm...
Nicht nur Emacs ist mittels Skripting erweiterbar. Auch Vim, der zeitgemäß erweiterte Uralt-Editor »vi«, enthält eine eingebaute Skriptsprache. Sie ist nicht ganz so üppig wie Emacs-Lisp, braucht aber weniger Klammern. Wir erklären sie anhand eines Editor-Plugins zum Übersetzen von Wörtern.
Soll der neue Firmen-PC unter Linux für wirklich alle ein einfaches Arbeitsgerät abgeben, kommt man an der Macht der Gewohnheit nicht vorbei. Der Desktop selbst kann KDE 3.1 sein, solange er wie Windows XP aussieht, und bei den Applikationen erleichtern Windows-kompatible Anwendungen die Umstellung.
Auch Anhänger der freien Software müssen sich für den technischen Unterbau ihres Systems interessieren, ihren PC. Wenn er aufgemöbelt und getunt ist, kann man auch mit Skriptsprachen wie Ruby flott arbeiten. Wir haben uns einen Hardware-Schmöker und ein Ruby-Buch angesehen.
Das schnelle Entwickeln von GUI-Anwendungen ist eine der Stärken von Tcl/Tk. Ein einfaches Spiel zeigt verschiedene Aspekte des Canvas-Widgets, von Animation über Bilder bis Zahlendarstellung.
Programmieren an sich ist anspruchsvoll und ehrenwert - aber gilt das in jedem Fall? Ist es ethisch egal, ob man Lernprogramme oder Spam-Generatoren, Einwahlumlenker und Schnüffelprogramme schreibt?
Prinzipiell lassen sich C und Perl gut miteinander verheiraten. Die zum Zugriff benutzte XS-Schnittstelle hat es allerdings in sich, weil sie C- und Perl-Syntax in schwer verdaulicher Weise mischt. Einfacher ist der Abstieg in die Unterwelt der C-Systemprogrammierung mit dem Inline-Modul.












