Das ist schonmal der falsche Anfang in der
DP nach sowas zu fragen.
Delphi ist nicht gerade verbreitet und die Anhänger von Delphi müssen sich entsprechend gegen die "Riesen" verteidigen
.
Ich persönlich programmiere sehr gerne in Java.
Mir gefällt auch die Syntax sehr gut. Jeder vernünftige Delphiprogger wird Java zwar vorwerfen, dass es mit den ganzen komischen Zeichen... Also mit den {} | & || && genau wie C natürlich unübersichtlich, kryptisch und sonstwas ist...
Ich muss aber sagen, dass ich diese Syntax sehr übersichtlich finde und den Quelltext so viel schneller und leichter überblicken kann.
Dann hast du so sachen, wie Listen sortieren... In Java schreibst du in deine Klasse einfach implements comparable, schreibst eine compare Funktion in deine Klasse und mit ein paar Zeilen sortierst du deine Liste sehr effizient.
Bei Delphi darfst du dir das alles jedes mal wieder schreiben.
Oder auch sowas:
ArrayList<String> bla;
Die Paralelle dazu heisst in Delphi TList. Aber bei der ArrayList in Java kannst du in <> den Typ mitübergeben und schon hast du ganz ohne Typcasts eine typisierte Liste. Das geht mit der TList auch, wie in der CodeLibrary jemand bewiesen hat, aber es ist ungleich komplizierter.
Zitat von
Phoenix:
Ausser, Du willst eine Sprache, die per Design einen logisch denkenden Entwickler zu intuitiven Fehlern zwingt.
Kleines Beispiel:
Code:
string a = "Test";
string b = "Test";
if (a == b) {
// hier wird der Code nie landen...
}
Daran ist absolut NICHTS unlogisch. Im Gegenteil. Wenn Java anders reagieren könnte wäre es unlogisch. Das sind natürlich so typische Anfängerfehler, die unerfahrene Javaprogger machen, die anders denken als Java...
Für einen Delphi-progger, der sich nur mal so mit Jav vbeschäftigt sieht das unlogisch aus. Aber mal erklärt:
In Java gibt es eigentlich nur noch Objekte. Auch string ist ein Objekt. Und wie wir wissen ist ein Objekt ein Pointer.
Wenn wir also ObjektA == ObjektB schreiben, dann werden die Adressen, auf die die Pointer zeigen verglichen.
Man könnte den Compiler natürlich so umschreiben, dass er "mitdenkt" und sieht "och... zwei strings... die vergleiche ich mal stringmässig miteinander". DAS wäre allerdings unlogisch. Das führt nämlich zu grössten Verwirrungen, wenn man andere Objekte mal miteinander vergleicht ("aber bei Strings ging das doch....!?!").
Richtig wäre übrigens
if (a.compare(b)) { /* do stuff */ }
Ein grosser Vorteil von Delphi ist aber die
IDE... Die ist einfach super... Auch der Debugger usw...
In meinem Beitrag kommt Java natürlich sehr gut weg. Aber es gibt mittlerweile genug Beiträge gegen Java, ich denke nicht, dass ich da noch was ergänzen muss.
Was sich in jedem Fall lohnt ist sich Java mal anzugucken... Einfach mal eclipse runterladen und irgend ein mini-Projekt in java schreiben.
Ein weiterer Vorteil von Java. Alles, was du zum Entwickeln brauchst gibt es OpenSource. Auch wenn du bei deinem Freund zu Hause bist oder 3 Computer hast, kansnt du dir ganz legal die nötige Software überall installieren (oder auf einem usb-stick speichern) und überall proggen. Eclipse gibt es auch einfach als zipDatei. Nix Installation. Nur extrahieren und loslegen, solange die Java JRE installiert ist. Das für mich auch ein Kriterium guter Software. Man kopiert Sie auf einen USB-Stick, und auf einem anderen Computer funktioniert sie immernoch. Bei mir immer gleich ein Pluspunkt
.
Aber egal... Darauf wollte ich garnicht hinaus
. Du solltest es dir jedenfalls einfach ansehen, um dir dein eigenes Urteil zu bilden. Denn alles, was wir dir hier erzählen ist sehr subjektiv. Es gibt keine Antwort, sondern lediglich eine (bzw. viele) Meinung(en).
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.
Have a lot of fun!