Lesbares Golf
Nun sind gute Golf-Skripte oft schwer lesbar, daher bedienen sich Schiedsrichter im Perl-Golf spezieller Werkzeuge, die den Code automatisch lesbarer gestalten. Das Gewinnerskript, eine Gemeinschaftsarbeit von Timo Warns und Tammo Freese, schafft es in nur 58 Zeichen, das Ziehen der drei Karten aus dem Behälter zu simulieren.
Abbildung 1 zeigt die Einsendung der beiden Perl-Golfer. Das CPAN-Modul O::Deparse mit dem in Abbildung 2 gezeigten Aufruf zerlegt den Code und formatiert ihn etwas lesbarer. Die beiden Perl-Enthusiasten stellen die Vorder- und Rückseiten der im Experiment enthaltenen drei Karten in einem Array mit den Indexnummern 0 bis 5 dar, 0/1 ist die Tux-Tux-Karte, 2/3 die Tux-Bill-Karte und 4/5 die Bill-Bill-Karte.

|
Abbildung 1: Das Sieger-Skript unter den Golf-Lösungen im Einsatz.
|

|
Abbildung 2: Die mit dem O::Deparse-Modul lesbar gemachte Golf-Lösung.
|
Der Aufruf »rand(6)« liefert eine Fließkomma-Zufallszahl zwischen 0 (einschließlich) und 6 (ausschließlich), aber Perl rundet das Ergebnis auf einen Integer ab, wenn man es als Array-Index verwendet. Daraus ergeben sich gleichmäßig verteilte Integerwerte von 0 bis 5. Zeigt die Oberseite der gezogenen Karte einen Tux, erhöht sich der Zähler »$t«. Ist auch noch die Rückseite der Karte ein Tux, was bei den Zufallswerten 0 oder 1 passiert, inkrementiert sich auch noch der Zähler »$b«. Die Wahrscheinlichkeit dafür, bei einem bereits gezogenen Tux auch auf der Rückseite einen Tux zu finden, ist das Verhältnis »$b/$t«. Für die Prozentangabe multipliziert es das Skript noch mit 100.
Bei den Golf-Lösungen fiel der dreiköpfigen Jury auf, dass viele Einsender die Tux-Karten als binäre Einsen, die Gates-Karten jedoch als Nullen darstellten. Einige wiesen sogar in Kommentaren darauf hin, diese Wahl bewusst so getroffen zu haben, unerhört! Die weiteren Platzierungen zeigt Tabelle 1.
|
|
|
Kategorie: Originalität
|
|
|
Name
|
Punkte
|
|
Thomas Güttler
|
10
|
|
Hanspeter Schmid
|
5
|
|
Felix Schumacher
|
5
|
|
Patrick Falb
|
4
|
|
Kategorie: Kürzestes Skript
|
|
|
Name
|
Golf-Punkte
|
|
Timo Warns/Tammo Freese
|
58
|
|
Christoph Buchetmann
|
68
|
|
Stefan Dufter
|
70
|
|
John E. Wulff
|
75
|
|
Christoph Sünderhauf
|
77
|
|
Felix Schumacher
|
87
|
|
Eric Dold
|
103
|
|
Matthias Bethke
|
105
|
|
Michael Hartmann
|
112
|
|
Sebastian Bober
|
137
|
|
Hanspeter Schmid
|
161
|
|
Kategorie: Anschaulichstes Skript
|
|
|
Name
|
Punkte
|
|
Felix Schumacher
|
10
|
|
Christoph Buchetmann
|
9
|
|
Tobias Gneist
|
9
|
|
Frank Störzer
|
9
|
|
Jörg Ogrissek
|
7
|
|
Stephan Völkel
|
7
|
|
Benjamin Weber
|
7
|
|
Marcel Zehnder
|
7
|
|
Matthias Kratzer
|
6
|
|
Chris Mair
|
6
|
|
Patrick Falb
|
4
|
In der Disziplin "Anschaulichstes Skript" waren saubere, leicht verständliche Implementierungen gefragt, die auch im harten Projektalltag einige Wartungszyklen überstehen und sich ohne Komplikationen erweitern lassen.
Es flossen die unterschiedlichsten Ideen aus der Software-Entwicklung ein: Felix Schumacher modellierte Einzelkarten in der Perl-Klasse »Card« und den Kartenstapel in einer weiteren Klasse »Cards«. Weiter lieferte er drei Regressions-Testsuiten, zwei als Modultests für die implementierten Perl-Pakete und eine weitere für den Versuchsablauf.
Abgesehen von Kleinigkeiten wie der Verwendung von »$#array+1« statt des üblichen »@array« in skalarem Kontext war das die ausgereifteste Lösung. Sie erhielt die volle Punktzahl. Die drei nächstplatzierten Christoph Buchetmann, Tobias Gneist und Frank Störzer bekamen neun Punkte, Sie lieferten allesamt sehr solide Skripte ab, aus denen die Jury hervorragende Perl-Kenntnisse ablesen konnte.
Das Linux-Magazin dankt allen Einsendern, verschickt in den nächsten Tagen die Preise und vertröstet alle, bei denen es nicht zu einem Preis gereicht hat, auf den nächsten Wettbewerb - vielleicht schon vor 2017. (jcb)
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|