Gerade ist Zope 3.4 erschienen und ich habe immer noch nicht die Zeit gefunden es mir genauer an zu schauen, bin gerade mal zum testen der AppEngine von Google gekommen. Für das Web, zur Zeit Quick and Dirty Hacks benutze ich erst mal PHP, für Scripte auf der Konsole ist Python schon eher mein Fall.
Nicht das es mit Python so viel schwerer wäre etwas im Web zu bewegen aber leider bin ich in PHP sicherer und es lässt sich auch auf mehr Host installieren.
Quelle: Golem
Damit ist nicht gemeint das man kein BS mehr hat, sondern ein Browser der auf allen läuft was zwischen null und ein unterscheiden kann. Das Web und damit der Browser ist bestens Standardisiert, ob ein Hersteller sich daran hält steht sicher auf einem andren Blatt. Der Artikel “Web statt Windows” auf Golem.de fast sehr gut zusammen wo wir uns gerade in der Entwicklung befinden und was danach kommen kann bzw. was nun besser wird und vor allen was ungelöst bleibt bis jetzt (Sicherheit). Auf den ersten Blick könnte man meinen das mit Windows Betriebssysteme allgemein gemeint seien, aber der Herausgeber dieses Bunten Stromvernichters steht zur Zeit gar nicht gut da was das Web angeht.
Gut wann waren sie das auch mal, ach ja als man unbedingt eine kleine Firma ganz schnell aus dem Rennen haben wollte, sonst gibt man sich immer größte Mühe einen Trend nach dem anderen zu verschlagen und dann doch später mit viel Geld den Anschluss zu bekommen. Herrlich ist auch mal wieder die Diskussion auf Golem zu verfolgen, da gibt es immer noch Leute die ihr geliebtes Windows verteidigen müssen, währen der Rest der Welt das einsetzt was ihnen gefällt denn die guten Browser laufen auf allen Betriebssystemen.
Guido van Rossum und alle anderen fleißigen Python Entwickler haben nun Python 3 (aka Python 3000 && 3k) fertig gestellt. Die dreier Serie ist nicht mehr kompatible zu der 2.x, um die nötigen Änderungen für den eignenden Code zu erfahren bietet sich Python 2.6 an. Mit dem Kommandozeilen Parameter
verrät das laufende Programm selber wo die unterschiede zu 3.x liegen.
Da ich noch nicht so tief in Python stecke kommt mir das gerade recht, und so schlecht finde ich die neue Print Funktion gar nicht, sie kommt ja auch mit mehr Features um die Ecke. Bin auf die Verbreitungs Geschwindigkeit gespannt, wie schnell wird sich das neue zum bestehenden durch setzen. In den nächsten Wochen muss ich so wie so erst mal weiter Java pauken und kann mir dann mit Abstand ansehen was sich getan hat.
Wenig aufregendes neues gab es heute, Strings und Arrays sind ein wenig anders als bei PHP oder Python. Das man in JAVA nur Arrays fester länge hat will mir nicht so recht einleuchten, alternativen muss es ja aber geben, wo man doch gleich zwei mal Variable String Typen hat. mehr lesen …
Meine Erfahrungen mit NetBeans und PHP waren bis jetzt sehr gut, hätte Eclipse auch schon ganz den Rücken gekehrt wenn hier Python gut funktioniert hätte. Nun wird PHP von Netbeans direkt unterstütz und Python tritt die Nachfolge an. Erst mal nur als Early Access erhältich aber sicher bald so unterstützt wie PHP jetzt.
Damit steht für mich aber fest das NetBeans das richtige für mich ist, was ich zur Zeit in Java Code passiert mit dieser IDE und zeigt da erst was sie noch alles drauf hat. War wohl bei Eclipse auch schon so nur fehlt hier die Java Erfahrung, der versuch es mal schnell zu testen endet dann aber mit Unkenntnis der Java Abgründe, oder doch von Eclipse. Wie auch immer bei Netbeans klappt es immer bestens mit dem Einrichten, Verwalten und Ausführen von Code, es entfällt genauere Kenntnis über das Produkt.
Die Unbekannten Tiefen von Java tun sich langsam auf, nun lerne ich was Java so exemplarisch für OOP macht. Da keine Mehrfachvererbung unterstützt wird kann man sich mit Interfaces behelfen, die Implementierung darf aus mehr als einem Interface bestehen und Rettet Java in die Welt der Mehrfachvererbung. Nicht das mir das schon mal passiert ist dieses gebrauchen zu wollen, liegt wohl ein meinem Prozeduralen Stiel, aber beim Modell der Objekte kommt es wohl schon mal vor. Python soll so was auch zur Verführung stellen was ich mir sicher einmal genauer ansehen werde, der Interpreter arbeitet sich bei Konflikten von unter nach oben in der Hierarchie durch also von der Enkel, Vater und Großvater, die erste Klasse mit der benötigten Funktion wird verwendet.
Heute aber erst mal eine einfache Form von Interfaces, wir gehen davon aus das Bilder, Videos und Audio die Methoden Play, Stop und Display gemeinsam haben.
package tag_04;
public interface Media {
boolean play();
void stop();
void display();
}
Weil Bilder meistens keine Start und Stop benötigen, verschärfte ich mit abstract nur Display zwingend für alle. Und lege fest das eine Bestätigung zurück gegeben wird ob gerade schon abgespielt wird oder das der Start erfolgreich war.
package tag_04;
abstract public class MediaA implements Media {
public boolean play()
{
return true;
}
public void stop() {};
abstract public void display();
}
Das selbe gilt auch für Stop, nur war ich mir nicht sicher wie Java es findet wenn man eine Methode aufruft die einen Rückgabewert liefert dieser aber nicht in eine Variable übergeben wird.
package tag_04;
public class Video extends MediaA {
@Override
public boolean play() {
System.out.print(”Video Play\n”);
return true;
}
@Override
public void stop() {
System.out.print(”Video Stop\n”);
}
@Override
public void display() {
System.out.print(”Video Display\n”);
}
}
Java sieht das nicht so eng das eine Rückgabe ins leere läuft, das beruhigt mich sehr denn manches mal machte ich gerne davon Gebrauch
Der Rest ist der Aufgabe entsprechend der Test ob das alles tut wie es soll ….
package tag_04;
public class TestMedia {
public static void main(String[] args) {
Picture png = new Picture();
Video xvid = new Video();
Audio ogg = new Audio();
System.out.print(”Medium 1:\n”);
png.display();
System.out.print(”\n”);
System.out.print(”Medium 2:\n”);
xvid.display();
xvid.stop();
System.out.print(”\n”);
System.out.print(”Medium 3:\n”);
ogg.stop();
ogg.display();
ogg.play();
System.out.print(”\n”);
}
Heute war mein erster Tag mit der Programmiersprache Java, nachdem nun PHP und Python schon ganz gut sitzen wurde es Zeit für was Exotisches. Gelernt habe ich heute wie man Netbeans installiert und was Variablen sind sowie diese zu behandeln sind. Am ersten Tag dürfen die Kontrollstrukturen nicht fehlen, wurden also auch gleich mal mit Abgehandelt. mehr lesen …
Die Übungsaufgaben haben wie immer absolute Praxis Relevants:




