also eines vornweg. mein programmierursprung liegt bei turbo-pascal. danach gings mit delphi weiter. mit zwischensteps bei perl und php programmiere ich jetzt fast ausschließlich mit java. ich kann verstehen, daß in einen delphi-forum auch diese programmiersprache hochgehalten wird. aber es werden hier in diesen thread etliche falschdarstellungen über java geschrieben. kann jetzt hier nicht zu allen stellung nehmen.
es wurde hier folgendes beispiel genannt:
Code:
string str = "abc";
if (str == "abc" ) {
// warum zum Teufel geht der hier nicht rein?
}
das geht in java natürlich nicht. man muß die INHALTE von strings folgendermaßen vergleichen:
Code:
string str = "abc";
if ( str.equals("abc") ) {
// das geht verdammt nocheinmal hier rein !!!
}
was ist daran so schwierig??? ist nur eine umstellung bei strings, da sonst referenzen verglichen werden.
zum thema innere klassen und unübersichtlichen code: innere klassen sind ein thema für sich und haben eine große bedeutung. hier wurde folgendes beispiel genannt:
Code:
addWindowListener(New WindowAdapter()
{
public vois windowsClosing(WindowEvent e)
{
System.Exit(0);
}
}); //Erst hier ist der ursprüngliche Funktionsaufruf zu Ende
dann sollte man den code dieser inneren klasse nehmen und in eine separate klasse setzen. was ist das problem??? dafür eine innere klasse zu schreiben sieht man zwar in vielen "lehrbüchern", ist aber an dieser stelle, wie hier dargestellt, absolut schwachsinnig und nützt die vorteile einer inneren klasse zu 0% aus. dies wird in den "lehrbüchern" meist nur aus platzmangel gemacht. schon allein bei einer anwendung mit nur 2 fenstern habe ich mit dieser methodik sogar nachteile.
java lehnt sich stark an c und c++ an. es gibt etliche entwickler dieser beiden sprachen. bloß weil sie für einige hier "kompliziert" aussehen, sollten sie verteufelt werden? am liebsten habe ich die leute, die rumjammern, daß java-applikationen viel speicher brauchen, aber sich im gleichen zuge einen 1gb-
ram-riegel für das neueste spiel in den rechner stecken. geschwindigkeit: schon mal was von jit gehört?
ein tipp für einige: man sollte mal über den tellerrand hinausschauen. jede sprache hat seine vor- und nachteile. und bevor hier dann wieder behauptet wird, der vorteil von java läge nur in der plattformunabhängigkeit liegt, sollte sich dann doch mal kylix zu gemüte führen. viel spaß wünsche ich schon einmal...
-------------------------
Edit:
Zitat von
phXql:
Zitat von
Chewie:
Zitat von
phXql:
die hat Java doch auch. Von einem Array .Length... das müsste auch eine Property sein..
Nein, die hat Java nicht.
.length (man beachte die Kleinschreibung) bei einem Array ist ein Feld, das öffentlich (public) und unveränderlich (final) ist. Da Arrays in ihrer Größe unveränderlich sind, ist dieses Feld quasi eine Konstante, die zur Instantiierung des Arrays gesetzt wird.
OMG! Ich hab gedacht das wäre eine read-only-property. Dann is Java ja noch schlechter als ich bisher angenommen habe
ja, Chewie hat recht. in java sind arrays in der größe nicht dynamisch. aber zur beruhigung für leute, die keine ahnung von java haben: es gibt dann doch noch dynamische datenstrukturen in java (collections, vectoren, hashtables, properties etc.).