Delphi

Moritz K

Angesehenes Mitglied
Hallo!

In einer Firma, mit der ich zusammenarbeite, überlegen wir, ob wir für die Entwicklung zukünftiger Software auf Delphi umzusteigen. Momentan läuft noch alles in COBOL mit der AcuBench.

Was sind euer Meinung nach Vorteile und Nachteile von Delphi? Welche Alternativen gibt es?

Die Lizenz von Delphi kostet > $1000. Jedoch gibt es auch Studentenversionen für 80 Euro... Wisst ihr zufällig, was da die genauen Einschränkungen sind?

Gruß Moritz.
 
Hallo Moritz,

So ein Schritt sollte sehr gut überlegt sein.

Ihr wechselt von Cobol nach Delphi, ihr wechselt von einer toten Programmiersprache in eine sterbende! Welche Programmiersprache für euch optimal ist, hängt ganz von dem Programm ab! Jede Programmiersprache halt ihr Einsatzgebiet wo sie ihre Stärken ausspielen kann.

Java ist ganz nett:
- Plattformunabhängig
- Vollständig Objektorientiert (Nicht wie Delphi..)
- Schöne Sprache
- Einfach
- Grosse Entwicklergemeinde und viele Libraries und Tools!
- Gratis-Entwicklungsumgebungen wie Eclipse, NetBeans, .. (Im Gegensatz zu Delphi..)

Erzähl doch ein bisschen über das Programm, damit wir gezielter Tipps geben können!

Niemand, beginnt neue Projekte mit Delphi. Natürlich gibt es viele tolle Programme, welche mit Delphi entwickelt wurden und auch weiterhin gepflegt werden. Aber wenn man ein Projekt neu beginnt, sollte man auf etwas moderneres setzen.

Ich arbeite seit 4 Jahren mit Delphi und meine Firma hat viele Delphi-Spezialisten angestellt.

Aus meiner Sicht, wäre es ganz klar ein Fehler, jetzt noch mit Delphi zu beginnen (Jetzt wo alle davon wegkommen...). Es ist auch fraglich, wie lange Borland Delphi noch unterstüzen wird...

Gruess,
Joel
 
Ich verwende Delphi gelegentlich und AFAIK gibt es die Personal Edition kostenlos. Und die ist sehr leistungsfähig. Die höheren Versionen benötigt man nur wenn man sehr komplexe Datenbankanwendungen programmieren will.

Ich finde Delphi ist eine der besten Entwicklungsumgebungen. Besonders weil man alles mögliche schon als vorgefertigte VCL-Komponenten bekommen kann. zB. hier
http://delphi.icm.edu.pl/
http://www.torry.net/

oder hier ist eine gute Schweizer Info-Quelle:
http://www.swissdelphicenter.ch/

 
Ich denke nicht, dass man die Studenten/Personal Edition kommerziell einsetzen darf.

QUOTE
Ich finde Delphi ist eine der besten Entwicklungsumgebungen. Besonders weil man alles mögliche schon als vorgefertigte VCL-Komponenten bekommen kann. zB. hier
http://delphi.icm.edu.pl/
http://www.torry.net/


Welche hast du denn schon ausprobiert?

Visual Studio, Eclipse, NetBeans, IntelliJ IDEA, XCode?

Von den drei die du ausprobiert hast, gehört sie zu den drei besten?
wink.gif
 
Delphi ist sterbend? Warum das?

Welche Entwicklungsumgebungen für Java sind gut? Es muss(!) auf jeden Fall wieder eine sein, mit der ein sehr schnelles Entwickeln möglich ist.
 
QUOTE
Delphi ist sterbend? Warum das?


Viele Firmen versuchen von Delphi wegzukommen, auf eine modernere Programmiersprache. Wenn du dich ein bisschen im Markt umsiehst, sieht du, dass sich der Delphi-Markt nicht mehr gross bewegt.

Im Windows-Bereich wird auf C# umgestellt (Vor allem bei kleineren Firmen). Bei Grossfirmen oft auf Java (J2EE).

Selbst für Borland, welche hinter Delphi steckt, ist Delphi nur noch ein sterbendes Pferd. Sie haben ja die Delphi-Umgebung an eine andere Firma verkauft, an der sie jetzt nur noch Anteile haben.


QUOTE
Welche Entwicklungsumgebungen für Java sind gut? Es muss(!) auf jeden Fall wieder eine sein, mit der ein sehr schnelles Entwickeln möglich ist.


Eclipse.
 
QUOTE (J Janser @ Fr 6.10.2006, 17:39)Eclipse.

Bietet mir Eclipse die Screenerstellung per Drag'n'Drop inklusive Eventhandlers? (also so, wie man es von Delphi kennt)

Wie sieht es mit der Datenbankanbindung aus? Gibt es vorgefertigte Klassen, die viel übernehmen? Per Java kann ich so ziemlich alle DBs ansteuern oder? (Ich selbst kenne Java nur aus den Univorlesungen, die nicht besonders tiefgehend sind.)

Du sagst, dass vielen kleine Firmen (was wir sind) auf C# umstellen. Wo liegt dort der Vor- und Nachteil?

Danke, Gruß, Moritz.

PS: Die SSL Version von Delphi darf man wirklich nicht kommerziell benutzen. (Wäre auch zu schön... ;-))
 
Delphi wird noch eine Zeit lang weiterleben. Die nächste Generation wurde schon angekündigt und heißt Turbo Delphi. Und wieso sollte Delphi aussterben? Eher das Gegenteil ist der Fall. An den Universtitäten wird zB. damit gearbeit. Zumindest musste ich das an der TU Ilmenau.

Ausserdem gibt es von den Möglichkeiten her keine Limitierung für Delphi. Es unterstützt zB. genausogut net wie alle anderen. Es gibt sogar Möglichkeiten Chipsatz-Nah zu arbeiten... ich verwende zB. SSE...

Und ja, ich habe schon mit einigen Entwicklungsumgebungen gearbeitet. Angefangen mit QBasic, Turbo Pascal unter Dos, Turbo Pascal unter Win, Visual Age for Basic, Visual Basic, Visual C++ später dann auch Visual Studio, Delphi, NetBeans, Eclipse, Dreamweaver, und vor kurzem habe ich mal Visual Studio Express probiert.... Delphi ist immer noch das Beste. Es gibt keine andere IDE mit der du so schnell zum Ziel kommst.
 
QUOTE
Bietet mir Eclipse die Screenerstellung per Drag'n'Drop inklusive Eventhandlers? (also so, wie man es von Delphi kennt)


Mit dem Visual Editor Plugin und SWT kann man wie in Delphi Native Windows GUIs per Drag n' Drop erstellen. NetBeans bietet auch ein Drag and Drop GUI Builder für Swing.


QUOTE
Wie sieht es mit der Datenbankanbindung aus? Gibt es vorgefertigte Klassen, die viel übernehmen? Per Java kann ich so ziemlich alle DBs ansteuern oder? (Ich selbst kenne Java nur aus den Univorlesungen, die nicht besonders tiefgehend sind.)


Mit "Hibernate" einer Bibliothek kannst du so ziemlich jede DB ansteuern!


QUOTE
Du sagst, dass vielen kleine Firmen (was wir sind) auf C# umstellen. Wo liegt dort der Vor- und Nachteil?


Nachteil ist, dass es abgesehen von Mono nur auf Windows läuft, ausserdem dass es ein proprietäres Produkt von Microsoft ist. Ausserdem kostet die Entwicklungsumgebung Visual Studio etwas (Ist aber auch eine Gute IDE!)

Das .NET-Framework muss auf dem Rechner installiert sein, wo es laufen soll (Nachteil). Wie halt JRE bei Java installiert sein muss.
 
Die allererste Frage wäre: Was soll gemacht werden.

Von Programmiersprachen bzw. Programmierumgebungen sind Entwickler abhängig. Von daher empfielt sich heutzutage, wenn man sich die Entwicklung der letzten 15 Jahre ansieht, eigentlich nur entweder .NET oder Java als Sprache. Bei beiden gibt es Webunterstützung, beide sind 'hinreichend groß', so daß die Weiterentwicklung der Sprache sichergestellt ist und man Personal findet.

Ich selbst nutze praktisch ausschließlich NET/Notepad bzw. nur die NET-Basisklassen. Dann hat man einfach die umfangreichsten Möglichkeiten, ohne daß einem zusätzliche Klassen wieder Einschränkungen auferlegen.

QUOTE (Moritz_Klussmann @ Fr 6.10.2006, 13:21)Die Lizenz von Delphi kostet > $1000. Jedoch gibt es auch Studentenversionen für 80 Euro... Wisst ihr zufällig, was da die genauen Einschränkungen sind?

Für eine Firma ist das ja wohl keine ernstzunehmende Frage.
 
QUOTE
Delphi wird noch eine Zeit lang weiterleben. Die nächste Generation wurde schon angekündigt und heißt Turbo Delphi. Und wieso sollte Delphi aussterben? Eher das Gegenteil ist der Fall. An den Universtitäten wird zB. damit gearbeit. Zumindest musste ich das an der TU Ilmenau.


Nächste Generation? Turbo Delphi ist nichts anderes als Delphi für Hobby-Entwickler welche sich die anderen Delphi-Versionen nicht leisten können.

Auch wenn Delphi weiterentwickelt wird, es wird Sprachen wie C# immer nachhinken. Weil Delphi .NET-Code produzieren kann, und die Spezifikation von Microsoft kommt, kann Borland mit der Entwicklung der Features beginnen, welche C# dann schon hat. Ausserdem können sie keine Features entwickeln, welche die .NET-Spez verletzt.

Klar wird an Schulen oft noch mit Pascal oder Delphi gelernt, aber in der Wirtschaft spielt die Sprache bereits heute fast keine Rolle mehr...
 
Erstmal Danke für die vielen Antworten. Ich sehe schon, dass die Meinungen hier bzgl. Delphi sehr auseinander gehen....

QUOTE Die allererste Frage wäre: Was soll gemacht werden.

Momentan noch nix großes:
- Datenspeicherung / ausgabe in Datenbanken. Wichtig ist hier, dass verschiedene DBs unterstützt werden.
- Datentransfer zwischen verschiedenen Programmen
- einfach Erstellung "schöner, moderner" Oberflächen
- wichtig ist die sehr schnelle Entwicklung. Notepad soll es also gerade nicht sein.
- zukünftig: Anbindung ans Web


QUOTE Für eine Firma ist das ja wohl keine ernstzunehmende Frage.

Ich bin hauptberuflich Student. Und wenn ich 1000 Euro einsparen könnte, dann ist das für mich (der leider nicht im Geld schwimmt) eine sehr ernstzunehmende Frage.


QUOTE Das .NET-Framework muss auf dem Rechner installiert sein, wo es laufen soll (Nachteil). Wie halt JRE bei Java installiert sein muss.

Muss der Kunde .NET-Framework bezahlen?

Wenn man Java und .NET vergleicht. Was sind euer Meinung nach die Nachteile (abgesehen von der Abhängigkeit zu Microsoft)?

Sorry für die vielen doofen Fragen, aber ich habe noch fast gar keine Erfahrung in der Entwicklung von Offline-Programmen.
 
QUOTE
Muss der Kunde .NET-Framework bezahlen?


Die Laufzeitumgebung von .NET ist gratis. In zukünftigen Microsoft-Betriebssystemen wird das bereits installiert sein.
 
Nachteile von Java unter anderem:
- JRE wird benötigt
- Ist egal was man macht, grundsätzlich langsam
- Verwendet man ein GUI, hat man schnell ein 1MB große VM-Exe
- Verwendet man Datenbankanbindungen benötigt man für Win die JDBC-ODBC Brücke. Dadurch werden auch Datenbankanfragen langsamer

Der einzige Grund weshalb Java überhaupt noch verwendet wird ist der, dass die Compilate plattformunabhängig sind und durch die VM vom System isoliert werden. Wenn beides uninteressant ist, sollte man ganz darauf verzichten, denn schneller ist besser...
 
QUOTE
- Ist egal was man macht, grundsätzlich langsam


Dank dem Realtime Compiler kann fast native Geschwindigkeit erreicht werden, da der Code zur Laufzeit kompiliert werden kann (Hot Spot), kann er sogar speziell für das System angepassten schnellen Maschinencode erzeugen.

Es gibt viele Performace-Vergleiche, am beste siehst du dich mal um.


QUOTE
- Verwendet man ein GUI, hat man schnell ein 1MB große VM-Exe


Dieses Megabyte ist wohl kaum relevant für fest installierte Desktop-Applikationen. Wie viel Kostet 1 MB Festplattenspeicher? 0,001 Euro! Wie viel Kostet Delphi 1000,00 Euro
wink.gif
 
"Kompilatgröße ist entgegengesetzt proportional zur Ausführungsgeschwindigkeit"... war so und wird immer so sein.
 
QUOTE
"Kompilatgröße ist entgegengesetzt proportional zur Ausführungsgeschwindigkeit"... war so und wird immer so sein.


Das ist aber nicht die Kompilationsgrösse, sondern die grösse des unkompilierten Bytecodes... C# hat auch grössere Ausführungsdateien, ist aber in vielen Fällen schneller (Da es vor der Ausführung noch kompiliert wird). Ausserdem geht Delphi auch richtung .NET (bzw. erzeugt in den neueren Versionen auch .NET-Code).

Aber okay, es scheint sich also doch noch irgendwo ein Delphi-Fan gefunden zu haben.

Trotz dessen, gerät Borland mit seinen Entwicklungsumgebungen mehr und mehr in die Bedeutungslosigkeit. Ob jetzt nun die Datei 1 MB kleiner ist oder die Geschwindigkeit um 10ms schneller....


 
Bis der Herr hier mit seinem Projekt fertig ist, hat Intel seine 64 Bit Quad-Cores fertig, vielleicht schon Oct-Cores. Es geht alleine um Wirtschaftlichkeit, es geht darum wie viel Libraries es bereits gibt, wie schnell und gut er entwickeln kann, die Wartbarkeit des Codes.

Java ist sehr wirtschaftlich...

Es gibt viiele Tools und viiele Libraries mit der sich tolle Software realisieren lässt, die überall läuft.

Such mal in Source-Forge nach Delphi... du findest ca. 800 Projekte.. Such mal nach Java du findest mehr als 13'000 Projekte. Das heisst du hast viel mehr Libraries und fertige Software, von der du profitieren kannst!

Du spaarst dir 10 Sekunden, weil du in Delphi den Button schneller auf dein Form knallen kannst. In Java sparst du 2 Monate indem du die komplexesten Libraries schon vorprogrammiert hast, egal was du willst...

† Borland Delphi, 1994 - 2006 - Rest In Peace †
 
QUOTE (Maik @ Fr 6.10.2006, 18:21)[...] - Verwendet man Datenbankanbindungen benötigt man für Win die JDBC-ODBC Brücke. Dadurch werden auch Datenbankanfragen langsamer [...]

Den Punkt kann ich bei Java nicht ganz zustimmen, denn MySQL stellt bspw. eine eigene Klasse für Java zur Verfügung, so dass man eine JDBC-ODBC-Brücke nicht benötigt, auch unter Windows nicht.
Es ist halt wie bei allen Programmiersprachen, man kann entweder spezielle Bibliotheken (oder in diesen Falle wohl eher Klassen) verwenden oder mit einen Datenbank-Layer (wie ODBC oder JDBC) auf diese zugreifen.




Damit man sowas etwas objektiver Bewerten kann, hier mal ein paar kleine Links zum Vergleich:

http://de.wikipedia.org/wiki/Vergleich_obj...rammiersprachen
http://de.wikipedia.org/wiki/Java_(Programmiersprache)
http://de.wikipedia.org/wiki/C-Sharp
http://de.wikipedia.org/wiki/C%2B%2B


Die Entscheidnung kann Dir hier halt niemand wirklich abnehmen, da man mit beiden Programmiersprachen wohl in einer akzeptablen Zeit dieses Problem lösen kann. Auch gibt es für beide Sprachen schöne IDEs und tolle Erweiterungen.
Auch kann es bei solchen Themen leicht passieren, dass es eher eine X VS Y drauß wird als wirkliche Hilfe. Ich glaube sogar C# VS Java ist eines der üblichen Kämpfe im Netz, wie Linux VS Windows oder MySQL VS PgSQL.



Ach ja: "Java und C# sind sehr wirtschaftlich.", also schau Dir an, was Du selber ganz genau willst.



MfG Sascha Ahlers
 
Zurück
Oben