Zitat von
bttb930:
Java ist gegenüber Delphi ohne Frage die mächtigere Sprache.
Machst Du woran fest?
Zitat von
bttb930:
Java ist komplett objektorientiert, Delphi nicht.
Das ist so falsch. Java kennt primitive Datentypen (byte, short, int, long, double, float, char, boolean), das sind schon keine Klassen (auch wenn Autoboxing daraus eine Klasse machen kann, versuch mal unter Java 1.4 oder kleiner diese Datentypen direkt in einer List zu speichern). Ja, auch für die Generics gilt, dass Du hier keine Klasse übergeben musst, diese Datentypen sind echt generisch, erst ein <T extends Object> würde hier zusichern, dass es sich um Objekte handelt.
Enumerations werden zwar auch auf Klassen umgesetzt, sind aber in der Sprache Java (afaik) keine Klassen sondern ein eigener Typ. Natürlich ist Java trotzdem um einiges Objekt Orientierter Aufgebaut als Delphi, aber eben auch nicht 100%ig OO.
Zitat von
bttb930:
Alternativ würde ich mir eher Visual Studio .net ansehen, und dort vor allem Visual C#. Hat auch fast alle Vorteile die Java mit sich bringt und ist Delphi ebenfalls ein Stück voraus. Gerade bei .net wird Delphi leider immer hinterher hinken.
Hm, was sind denn die Vorteile? Vorallem solltest Du auch nochmal sagen, dass es die selben Nachteile hat (u.A. Laufzeitumgebung und langsameren Code, da Methoden standardmässig virtuell sind, also zusätzliche Indirektionen mit sich bringen). Natürlich hat das auch den Vorteil, dass man die meisten Methoden (die nicht final sind) auch einfach überschreiben kann (da können einen die statischen Methoden von Delphi schonmal ärgern).
Wie hier (und in unzähligen weiteren Threads) doch schon oft genug gesagt wurde ist, dass Vor- und Nachteile ebenso wie einfach oder schwer immer mit dem Problem zusammenhängt. Wenn ich hier lese, dass Java unübersichtlich ist, weil mal Methoden direkt implementiert, so stimmt das sicher bei großen Klassen mit unzähligen Methoden, die man in einem Texteditor betrachtet. Kommt aber eine
IDE zum Einsatz, so finden sich zwei große, kostenlose IDEs (Eclipse und NetBeans), die Codefolding unterstützen (man sieht nur noch die Signatur der Methoden) und auch noch die Option bieten alle Methoden in einer eigenen Ansicht anzuzeigen. Man kann in diesen IDEs sogar direkt (mit einem Doppelklick) zu der entsprechenden Methode springen (und das schon seit einer gaaaanzen Weile). Dann kommt der Vorteil hinzu, dass es in Java nur eine öffentliche Klasse pro Datei geben darf, die Unübersichtlichkeit von Delphi-Dateien, in denen zig Klassen in einer Datei stehen entfällt damit.
Zudem ist Java in vielen Punkten (
imho) konsequenter als Delphi (z.B. Groß- und Kleinschreibung, aber insbesondere auch eine erzwungene Fehlerbehandlung/Fehlerweiterleitung).
Was ich eigentlich nochmal an den Threadsteller loswerden wollte ist, das
BDS ist eine
IDE, Delphi und Java sind Sprachen (ok, Delphi war auch mal die Bezeichnung für eine
IDE und Object Pascal hieß die Sprache). Jedenfalls kannst Du Java nicht mit einer
IDE vergleichen, das sind zwei völlig verschiedene Dinge. Die Sprache Delphi und die Sprache Java kann man durchaus vergleichen, die
IDE Eclipse und die
IDE Delphi/
BDS ebenfalls, aber da solltest Du vielleicht nochmal sagen ob Du eine leichtere Sprache oder eine bessere
IDE suchst.
In beiden Fällen gibt es aber kein leichter oder schwerer. An sich nimmt es sich nicht viel, man arbeitet sich in eine Sprache ein und merkt schnell, dass sich viele Dinge ähneln (sind beides gleiche Konzepte). Würdest Du auf eine deklarative Sprache (z.B. logisch in Prolog oder funktional in Haskell) umsteigen, sähe das deutlich anders aus. Das sich aber nur die Syntax etwas ändert, nun ja, zu vernachlässigen. Wichtiger ist, was hättest Du gerne? Was möchtest Du mit der Sprache machen? Was fehlt Dir? Gerade Java hat halt den Vorteil, dass es eine riesige Entwicklergemeinde gibt. Das was Du über die Pattern gesagt hast gilt auch für frei verfügbare Bibliotheken/Komponenten (im Moment sind wohl die meisten
OS Projekte auf Java Basis). Das heißt nur, dass Du eine Menge findest, sagt aber nichts über die Qualität aus.
Wieviele unterschiedliche Programme es gibt, wie geeignet die Bibliotheken/Komponenten für Dich sind, wie gut sich die Sprache eignet usw. hängt alles doch stark davon ab, was Du machen möchtest. Möglich ist (wurde glaube ich schon gesagt) fast alles in jeder Sprache, nur der Aufwand variiert. Keine Sprache kann (wird je) alles gleich gut leisten.
Gruß Der Unwissende