1968
aus aller Welt
ballaballa
Beobachtungen in der Natur
charmsing
deutsche kenneweiss
Dicki TV
Dickimerone
Dickis Reisen
die kleine Anekdote
dirty old town
Empfehlung
Erwins Welt
Eugen
in eigener Sache
Java
... weitere
Profil
Abmelden
Weblog abonnieren
icon

 
Heute basteln wir uns einen Erstschlag. Das ist einfacher, als gemeinhin angenommen wird; entscheidend ist eine effiziente Programmierung. Wir legen uns ein neues Projekt mit dem Namen Kampagne an, darin die Hauptklasse Kampagne, die die main-Methode enthält. Diese benutzen wir dazu, den statischen Kontext zu verlassen, damit unserem dynamischem Vorhaben nicht aus falschverstandener Zimperlichkeit Hindernisse in den Weg gelegt werden.

public static void main (String [] args)
{
new Kampagne.losschlagen();
}
// Dies nennt man im Fachjargon eine anonyme Instanz erzeugen

In der Methode losschlagen werden die Details der Kampagne festgelegt, deren Durchführung im Einzelnen natürlich den persönlichen Vorlieben überlassen bleibt. Neben einer neuen Instanz der Basis-Klasse "Al Quaida" kann auch ein weiteres Obkjekt des Typs "Geheimdienstaufklärung" zum Einsatz kommen, und vieles Andere mehr.

Kommen wir nun zum Kern der Sache. Wir leiten von der Klasse Bomberbesatzung eine Klasse B2Crew ab und instanziieren sie. Diese enthält alle erforderlichen Handler, um ein Objekt vom Typ B2 zu steuern. Wir erinnern uns, daß für die Super-Klasse Bomber (von der B2 erbt), diverse Interfaces zur Verfügung stehen und implementieren lenkbareAtomwaffe.

public class B2 extends Bomber implements lenkbareAtomwaffe

Nun müssen wir nur noch den Trigger (in Kampagne) auslösen:

onFlightEvent (Teheran t) {
try {
lenkbareAtomwaffe.einsetzen();
} catch (öffentlicheEmpörungException ö) {
B2.abdrehen();
Kampagne neuerAnlauf = new Kampagne();
}
}

Damit sind wir auch im Störungsfall auf der sicheren Seite. Wenn der Erstschlag im ersten Anlauf nicht gelingt, dann vielleicht im zweiten. Es wird trotzdem ein Erstschlag sein.

Wenn man sieht, wie mit ein wenig wohldurchdachter Programmierung viel erreicht werden kann, wird der Zauber von Java und der Objekt-Orientierung spürbar.

Als ich heute mit meinem Einkauf heimwärts fuhr, sah ich rund 50 Meter voraus eine junge Frau vor sich hin brabbelnd auf dem Radweg stehen. Sie wandte sich um, weiter in ihr unverzichtbares Accessoire brabbelnd, und blickte nun direkt in meine Richtung; und ich fuhr direkt auf sie zu. Sie sah mich kommen, auf sich zu kommen, und brabbelte, mich anschauend, weiter in ihr Babbelfon; und ich fuhr direkt auf sie zu. Noch immer sah sie mir entgegen, noch immer stand sie mitten auf dem Radweg, noch immer brabbelte sie vor sich hin; und ich fuhr direkt auf sie zu.

Als ich kaum mehr fünf Meter von ihr entfernt war, weder ausweichend noch verlangsamend, trat sie einen zögerlichen Schritt gen Bürgersteig zurück, ohne ihr Gebrabbel zu unterbrechen. Ich habe den Mittelpunkt der Welt nur knapp verfehlt.

Heute vormittag auf einem Lastwagen gelesen: Der Hersteller der leckeren feinsauren Delikatessen. - Ist das ernst gemeint? Würde mir bitte jemand versichern, daß das Satire ist?? Bitte ???

Der Dezember gehörte The Who, die letzten Tage habe ich mich XTC gewidmet. In meiner Sammlung fehlen vor allem "English Settlement" (1981, enthält den meines Wissens einzigen Hit "Senses working overtime") und die erste der unter dem Bandpseudonym Dukes of Stratosphear veröffentlichten LPs (1985). Die Songs, das muß gesagt werden, gehen nicht zu Herzen, und nur wenige Lieder haben Hit-Charakter, obwohl ich mir das eine oder andere in Hitparaden hätte vorstellen können (z.B. "Statue of Liberty" oder "Earn enough for us").

XTC lohnt das Zuhören mit Anspielungen auf alle Bereiche populärer Musik (Reggae, Rock'n'Roll, West Coast, Folk, Big Band Jazz, Sixties, Funk und und und), originellen Wendungen, Spiel mit Klischees, guten und ausgefeilten Texten, wirkungsvollen Arrangements und musikalischer Fortentwicklung. Deshalb ist der Name "XTC" (für Ecstasy, lange bevor die gleichnamige Designerdroge entwickelt wurde), wie ich vermute, auch ein Verweis auf 10cc.


ES_XTC

Andy Partridge, Terry Chambers, Dave Gregory,Colin Moulding (1981)

Wie viele neue Bands hat auch XTC die Klischees der Popmusik aufgespießt, mit ihnen gespielt, sie zerfetzt. Hektisch, schräg und gegen die Hörgewohnheiten verstoßend klingt ihre erste LP "White Music" (1977), "Statue of Liberty" war darin gleichwohl ein Bekenntnis zum Popsong, und "All along the watchtower" eine kongeniale Interpretation des alten Dylan-Titels (bekannter in der Version der Jimi Hendrix Experience).

Runder, reifer, selbstsicherer, ein Schritt nach vorn die zweite LP "Go 2" (1978). Der Keyboarder Barry Andrews hatte darauf bestanden, daß Songs aus seiner Feder aufgenommen wurden - und wurde kurz darauf rausgeschmissen. "My weapon" klingt auch einfach nicht nach XTC; "Super-tuff" hingegen, trotz unpassenden Refrains, ist viel interessanter und erinnert an ... bzw. nimmt vorweg ... nein, das müßt ihr selbst hören.

Die dritte LP "Drums and Wires" (1979) leidet trotz einiger Überraschungen und mancher Gewitzheit ("Helicopter", "Scissor man") darunter, daß der neue Bandsound mit dem vielseitigen Gitarristen Dave Gregory noch in der Entwicklung war. Andy Partridge hat die Tracks nachträglich auf einer Solo-LP ("Take away/The lure of salvage") verwurstet; sehr komisch "The forgotten language of light", worin er seine stimmlichen Talente austobt.

Eine klassische Pop-LP - "Black Sea" (1980) - folgte als vierter Streich sogleich. Kraftvoller Klang, dem Vernehmen nach besonders nahe am Live-Sound. Höhepunkte: "Towers of London", "No language in our lungs", Travels in Nihilon".

Dann ist in meiner Sammlung eine Lücke (u.a. die schon erwähnte "English Settlement"). 1982 beschlossen sie, keine Konzerte mehr zu spielen, und deshalb verließ Schlagzeuger Terry Chambers die Band. Andy Partridge übernahm im Studio die Drums; gewiß gekonnt, aber sie sind nun einmal nicht "sein" Instrument, und fortan fehlten einfach ein paar Akzente und Farbtupfer. Dennoch ist "Skylarking" (1986) eine wundervolle und vielfältige LP, wiederum eine musikalische Weiterentwcklung.

Nach einer weiteren Lücke kommt das Doppelalbum "Oranges and Lemons" (1989) - die zweite LP der "Dukes of Stratosphear" ignoriert, obschon hörenswert und mit Anspielungen auf die Sixties gespickt - die für mich die am wenigsten eingängige Veröffentlichung ist, da sie mit klaren Melodien geizt; Orangen und Zitronen halten sich die Waage. Hörenswert allemal. Doch erinnernswert?

Bleiben werden "Go 2", "Black Sea" und "Skylarking", eventuell auch "English Settlement". Geht die Musik auch nicht zu Herzen, so macht sie doch Freude. Langeweile gibt es mit XTC jedenfalls nicht.

Heute gründen wir eine neue Volkspartei . Das ist saueinfach und gibt uns außerdem die Möglichkeit, alles, aber auch wirklich alles, als "mein" zu deklarieren. Klingt gut, oder? Ja, dann wollen wir mal loslegen.

Wichtig ist nicht so sehr das Programm - dafür gab es eine Programmkommission, die wir hier nicht näher betrachten wollen - als vielmehr eine hohe Mitgliederzahl ("Volkspartei"!), um schnell Einfluß zu gewinnen und an die Fleischtöpfe zu gelangen. Das ist aber vorläufig noch Zukunftsmusik, und deshalb konzentrieren wir uns auf die Gründungsveranstaltung. Wir haben eine Halle mit 5000 Sitzplätzen gemietet; mit seiner Eintrittskarte erhält jeder Besucher auch sein Parteibuch. Es sollen aber nur vertrauenswürdige Parteigänger hereingelassen werden - Hinz und Kunz, mit denen kennen wir uns aus - , andere müssen leider draußen bleiben, wie etwa Krethi und Plethi, deren Schreibweise uns schon mißfällt, kurzum, wir brauchen eine Einlaßkontrolle. Wer schon mal mit einem Programmierer gesprochen hat, der weiß, daß es Events gibt, hat vielleicht auch von Exceptions gehört, eventuell sogar von Listener>n. Klingt, als könnten wir etwas davon brauchen.

public class Volkspartei extends Partei implements OpinionListener
// Volkspartei erbt alle Eigenschaften und Methoden
// der Klasse Partei und bekommt einen Listener
{

public Volkspartei(meineLeute) // sogenannter Konstruktor
{
int meineMitgliederZahl = 0; // wichtig, nur integre Mitglieder zu haben
boolean meinProgramm = true; // ein wahres Programm, behaupten wir jedenfalls
this.meineParteiGenossen = meineLeute;
// nur damit es keine Verwechslungen gibt
}

Das genügt für den Anfang. Bei der Gründung von Ortsgruppen wird man mehr ins Detail gehen. Nun zur Gründung:

boolean meineTuerIst Offen = true;
String meinKandidat;
meinKandidat.addOpinionListener; // jedem Kandidaten wird ein "Meinungsforscher" assoziiert
Volkspartei meinePartei = new Volkspartei(HinzUndKunz); // die Gründung beginnt
meinKandidat.drawOpinion(); // wollen mal sehen, was da für Leute kommen

public void drawOpinion()
{
while (meineTuerIst Offen) // die Tür wird erst beim 5000ten Mitglied geschlossen
{
try // Einlaßkontrolle durch Saalordner
{
if (meineParteiGenossen.indexOf(meinKandidat) != -1 );
// wenn der Kandidat ein HinzUndKunz ist
meineMitgliederZahl++;
else programmVerkaufen(meinKandidat); // sonst mit AgitProp-Material beeinflussen
} catch (divergentOpinionException d)) { // kritische Kandidaten abfangen
einlassVerweigern(meinKandidat);
}
if (meineMitgliederZahl == 5000)
{ meineTuerIst Offen = false; } // der Sall ist voll, Tür zu
}
}

public void programmVerkaufen(unsichererKantonist)
{
// hier nach Vorhandensein politisches Material für teures Geld
// verkaufen, als Lockmittel Werbegeschenke o.ä. verteilen
// z.B. unsichererKantonist.getMoney();
}

public void einlassVerweigern(unterMensch)
{
// hier können nach Belieben Maßnahmen gegen unerwünschte
// Kandidaten festgelegt werden, je nach Gemüt und Stimmung
// z.B unterMensch.set Executable(true) oder ähnliches
}
}

}

Und das war's schon, fertig ist die Parteigründung. Jetzt kann die politische Karriere beginnen. Ist es nicht ganz wunderbar, wie einfach Java-Programmierung komplexe gesellschaftliche Vorgänge macht?

 

twoday.net AGB

xml version of this page

powered by Antville powered by Helma