Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Weg mit Delphi her mit Java, für die Zukunft sicher? (https://www.delphipraxis.net/58059-weg-mit-delphi-her-mit-java-fuer-die-zukunft-sicher.html)

md_mse 1. Dez 2005 22:08

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Oh nein... Bitte aufhören mit Java. Ich hasse diese "Sprache". Das ist der größte und langsamste Schrott den die Welt der Hochsprachen je gesehen hat.
Java kann man nicht mal zum Schreiben eines Wordpad-Programms verwenden, 30 MB Speicherverbrauch :wall: und eine sagenhafte Performance :wall:.
Ich versteh auch nicht was an Java so kompliziert sein soll? Java ist Delphi geteilt durch MaxInteger :mrgreen:. Diese Sprache ist sowas von kastriert, da sehe ich keine Zukunft für.
C# ist da schon deutlich besser, vielleicht sogar eine Alternative zu Delphi :cry:.

phXql 1. Dez 2005 22:24

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von md_mse
Oh nein... Bitte aufhören mit Java. Ich hasse diese "Sprache". Das ist der größte und langsamste Schrott den die Welt der Hochsprachen je gesehen hat.
Java kann man nicht mal zum Schreiben eines Wordpad-Programms verwenden, 30 MB Speicherverbrauch :wall: und eine sagenhafte Performance :wall:.
Ich versteh auch nicht was an Java so kompliziert sein soll? Java ist Delphi geteilt durch MaxInteger :mrgreen:. Diese Sprache ist sowas von kastriert, da sehe ich keine Zukunft für.
C# ist da schon deutlich besser, vielleicht sogar eine Alternative zu Delphi :cry:.

vielleicht? meiner meinung nach hat c# delphi schon abgelöst. für mich zumindest.

Was ich an JAVA toll finde: dass eine der besten entwicklungsumgebung sie unterstützt (eclipse). Schade, dass ich noch keine gute c# IDE für eclipse gefunden hab (gibts sowas?)

Mikko 1. Dez 2005 22:54

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
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:

Zitat von phXql
Zitat:

Zitat von Chewie
Zitat:

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.).

Elvis 1. Dez 2005 23:30

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Hi Mikko :hi:
Ich glaube die meisten Kommentare in der Richtung kannst du getrost ignorieren, oder einfach über die unfreiwillige Argumente _für_ Java schmunzeln. ;)
Zitat:

Diese Sprache ist sowas von kastriert, da sehe ich keine Zukunft für.
C# ist da schon deutlich besser, vielleicht sogar eine Alternative zu Delphi
C# ist so unglaublich ähnlich zu Java, dass diese krasse Abscheu gegenüber Java und gleichzeitig Vorliebe für C# einfach witzig ist. Wenn er C# als Alternative zu Delphi sieht sollte er ufpassen, dass ihm Java beim zweiten Blick nicht auch besser gefällt. :lol:
Zitat:

Zitat von Mikko
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...

Jupp, was mir an .net so sehr gefällt ist, dass es dir beidhändig den Hintern abwischt.
Ich liebe das alles: GC, riesige BCL ,vereinheitlichte Interfaces und moderne Sprachen, deren Compiler man nicht mit der Hand führen muss damit er den Code überhaupt kapiert... ( Ja das ging an den Delphi compiler ;) )... Und das ganze ohne dass diese Sprachen ihre schlichte Einfachheit verlieren.
Das gleiche trifft auch für Java zu. Wobei ich .Net ehrlich gesagt noch eine ganze Ecke netter finde. Es ... well .. fühlt sich einfach richtiger an. ;)
Ist sicher komplett subjektiv und für tommie mag auch c++ leserlicher und die schlichtere, weil offensichtlichere, Eleganz besitzen.

Mikko 2. Dez 2005 20:48

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
@elvis
hast ja recht.

aber noch ein wort zu java. wer in delphi noch nicht einmal ein "Hello World"-programm hinkriegt (solche leute gab es schon), wird ganz sicher nicht glücklich mit java werden. das gleiche in java zu programmieren ist schon ein wenig komplizierter. man kann halt nicht einfach auf ein paar buttons drücken und fertig ist es (JBuilder ausgenommen, aber wer will den schon nutzen, wenn man die preisliste kennt. ähnliches gibt es auch als open source.). wenn es nicht so viele vorgefertigte komponenten für delphi gäbe, würden viele schon auf der strecke bleiben. das fängt, wie gesagt, schon bei der gui an...


und dazu brauch ich wohl nix zu sagen:
Zitat:

Zitat von static_cast
Den Vorteil den ich in Java sehen "könnte" ist der der Platformunabhängigleit aber das ist bei uns auch hinfällig das das mehr so ein WinJava gewusel ist, sprich es läuft wohl nur unter Windows, wie mir andere Entwickler erzählten die von der Java idee nicht so begeißtert scheinen.

...

Bin mal auf euer weiteres Feedback gespannt, ist recht interessant, vor allem wenn man sich damit nicht nicht so auseinander gesetzt hat oder weiß was auf einen zukommen wird.

die rede ist wohl von J++. wenn man weiß, woher J++ kommt und dann denkt, daß man mit J++ plattformunabhängig ist, der sollte mal zum arzt gehen. :lol: entwickler sollte man sich auf alle fälle nicht schimpfen. java (ich rede vom jre/sdk von sun) ist, wenn man ein wenig ahnung hat und sorgfältig programmiert (z.b. zeilentrenner), plattformunabhängig. und das OHNE jegliche anpassarbeiten auf verschiedene plattformen.

tuxhol 2. Dez 2005 22:18

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
und neben allen Fürs und Widers geht es nämlich genau darum: um die Plattformunabhängigkeit!
Das ist genau der Grund, warum es diese Sprache überhaupt gibt.
SUN hat hier ein schönes Stück Arbeit geleistet und eine Sprache geliefert, deren Executables (sofern nicht durch API-Aufrufe an eine spezielle Plattform angepaßt) über Betriebssystemgrenzen hinaus überall laufen!
Was für ein Gefühl, ein Programm unter Windows zu programmieren, um es dann z.B. unter Linux oder FreeBSD laufen zu lassen.
(Ach so, Du hast einen Mac? Kein Problem, läuft auch!) :wink:

r_kerber 3. Dez 2005 08:27

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von tuxhol
Was für ein Gefühl, ein Programm unter Windows zu programmieren, um es dann z.B. unter Linux oder FreeBSD laufen zu lassen.

Soweit die Theorie. Aber was passiert wenn ich unter Windwos mit dem JDK 1.5 entwickele unter Unix oder Mac nur das 1.4 habe... Dann war alle Arbeit für die Katz. Hinzu kommt, das nicht alle VM's auf allen Systemen gleich gut laufen. Denn diese muß für jedes Betriebssystem und für jede Hardware neu geschrieben werden. Und wer garantiert mir, das z.B. HP für HP/UX eine perfomante VM bereitstellt, die auch noch fehlerfrei läuft. Von Sun kommen IMHO nur die VM's für Solaris und Windows. Alle anderen müssen vom Entwickler des OS und/oder Hersteller der Hardware geliefert werden. Und die Versionshölle bei Java ist fast noch schlimmer als unter der Windows API. Ich erinnere mich noch mit Grauen an Klassen, die anfänglich unter dem NameSpace com.sun standen und dann auf einmal nach javax verschoben wurden.

Mikko 3. Dez 2005 09:22

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von r_kerber
Soweit die Theorie. Aber was passiert wenn ich unter Windwos mit dem JDK 1.5 entwickele unter Unix oder Mac nur das 1.4 habe... Dann war alle Arbeit für die Katz.

diese behauptung ist FALSCH. solange ich nichts, was 1.5-spezifisch ist, benutze, ist es vollkommen egal. dann läuft meine applikation auch auf 1.4. wenn ich auf nummer sicher gehen will, kann ich auch noch die 1.4er version parallel installieren und entwickle mit dieser. wo liegt also das problem?

Zitat:

Zitat von r_kerber
Und wer garantiert mir, das z.B. HP für HP/UX eine perfomante VM bereitstellt, die auch noch fehlerfrei läuft.

dann nimm ein anderes plattformunabhängig system. mich würde dann mal interessieren, welches...

Zitat:

Zitat von r_kerber
Und die Versionshölle bei Java ist fast noch schlimmer als unter der Windows API.

lächerliche behauptung. würde gern einmal beweise dafür hören. wenn einmal paket-namen geändert werden, sollte das wohl kein beweis sein.


ps: sun liefert java auch für linux. ;-)

tommie-lie 3. Dez 2005 09:22

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von r_kerber
Von Sun kommen IMHO nur die VM's für Solaris und Windows.

Wir wollen ja mal nicht Linux unterschlagen! :mrgreen: Klick. Die dort verfügbare JRE gips für Windows, Solaris und Linux in Version 1.5.0-06, sogar für 64bit-Architekturen.

r_kerber 3. Dez 2005 09:42

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Mikko
Zitat:

Zitat von r_kerber
Und wer garantiert mir, das z.B. HP für HP/UX eine perfomante VM bereitstellt, die auch noch fehlerfrei läuft.

dann nimm ein anderes plattformunabhängig system. mich würde dann mal interessieren, welches...

Ich wollte damit nur sagen, daß es die eierlegende Wollmilchsau nun einmal nicht gibt! Auch Java ist das nicht. Und wenn ich sauber mit C/C++-Standard entwickele, dann habe ich zwar keine plattformunabhängigen Programme aber plattformunhabhängigen Quellcode. Und einen C++-Compiler gibt's für jede Plattform.
Zitat:

Zitat von tommie-lie
Zitat:

Zitat von r_kerber
Von Sun kommen IMHO nur die VM's für Solaris und Windows.

Wir wollen ja mal nicht Linux unterschlagen!

Asche auf mein Haupt, Linux habe ich ganz vergessen...

Zitat:

Zitat von Mikko
Zitat:

Zitat von r_kerber
Und die Versionshölle bei Java ist fast noch schlimmer als unter der Windows API.

lächerliche behauptung. würde gern einmal beweise dafür hören. wenn einmal paket-namen geändert werden, sollte das wohl kein beweis sein.

Ich habe sogar schon live erlebt, daß Programme, die angeblich JRE's mit gleicher Versionsnummer(!) nutzen gegenseitig gestört haben. Jedes brauchte eine seine eigene JRE! Und das waren nicht etwa irgendwelche Frickel-Anwendungen sondern teure kommerzielle Programme (J2EE-Server!) Seit dieser Zeit bin ich weitgehend vom Java-Virus kuriert.

Nachtrag: Java hat IMHO zur Zeit noch seine Berechtigung im e-Commerce-Bereich. Aber für Windows-GUI-Anwendungen oder auch hochperfomante DB-Applikationen gibt's durchaus wesentlich bessere Lösungen.

Mikko 3. Dez 2005 09:49

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von r_kerber
Ich wollte damit nur sagen, daß es die eierlegende Wollmilchsau nun einmal nicht gibt! Auch Java ist das nicht. Und wenn ich sauber mit C/C++-Standard entwickele, dann habe ich zwar keine plattformunabhängigen Programme aber plattformunhabhängigen Quellcode. Und einen C++-Compiler gibt's für jede Plattform.

na dann mach das mal. wenn du das in der realität mal durch hast, würde ich gern deine meinung zu java nocheinmal hören! ich geb jetzt nur einmal ein stichwort: API-aufrufe.

Zitat:

Zitat von r_kerber
Zitat:

Zitat von Mikko
Zitat:

Zitat von r_kerber
Und die Versionshölle bei Java ist fast noch schlimmer als unter der Windows API.

lächerliche behauptung. würde gern einmal beweise dafür hören. wenn einmal paket-namen geändert werden, sollte das wohl kein beweis sein.

Ich habe sogar schon live erlebt, daß Programme, die angeblich JRE's mit gleicher Versionsnummer(!) nutzen gegenseitig gestört haben. Jedes brauchte eine seine eigene JRE! Und das waren nicht etwa irgendwelche Frickel-Anwendungen sondern teure kommerzielle Programme (J2EE-Server!) Seit dieser Zeit bin ich weitgehend vom Java-Virus kuriert.

was ist das für ein beweis zu deiner behauptung "versionshölle"? naja, wenn einem die argumente ausgehen...

Sharky 3. Dez 2005 10:12

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Hai ihr,

es ist ja schön das ihr über das Thema diskutiert. Aber bleibt dabei doch bitte höflich und sachlich ohne irgend ein anderes Mitglied der DP persönlich anzugreifen.

Danke.

Der_Unwissende 3. Dez 2005 10:18

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von r_kerber
Hinzu kommt, das nicht alle VM's auf allen Systemen gleich gut laufen. Denn diese muß für jedes Betriebssystem und für jede Hardware neu geschrieben werden. Und wer garantiert mir, das z.B. HP für HP/UX eine perfomante VM bereitstellt, die auch noch fehlerfrei läuft.

Sehr schönes Argument, aber zeig mir ein Programm dass auf allen Plattformen läuft, viel Spaß. Natürlich stimmt "write once, run everywhere" nicht wirklich, es geht nur um typische Systeme. Und natürlich kann dir keiner garantieren, dass ein JDK fehlerfrei ist, aber garantierst du jmd. die Fehlerfreiheit deiner Programme? (falls ja, mutig!)

Klar, man kann seine Programme verifizieren und zeigen, was eine Methode genau macht. Aber wenn ich in der Verifikation oder viel schlimmer in der Spezifikation einen Fehler mache ist das natürlich auch wertlos.
Wenn du nun für n Systeme dein Programm zur Verfügung stellen möchtest, dann hast du das Problem, dass jeder Compiler (für egal welche Sprache) für dieses System existieren muss (oder du musst ihn selber schreiben). Beide Fälle können nicht ausschließen dass dabei Fehler passieren. Genau so wenig kann dir jmd. garantieren, dass dein Compiler optimierten Code erzeugt (gerade hier liegen etliche Fehlerquellen). Also warum sollte Sun das für Java können?
Gut, natürlich brauche ich bei Java noch ein JRE um das Programm zu starten, ich verdoppel also quasi die Fehlermöglichkeiten.

Soweit so gut, nehmen wir mal an du hättest für n Plattformen funktionierende (o.B.d.A) C-Compiler die dir perfomanten Code erzeugen. Dummerweise haben die aber die Angewohnheit, Plattform spezifischen Code zu verlangen und du schreibst dass Programm n mal. Ja, die Wahrscheinlichkeit dass 1 der n Programme einen Fehler hat ist schon mal sehr groß. Wenn du jetzt mehr als ein Programm hast...

Wenn es einen Fehler in einem JRE gibt, so wird er (durch die große Anzahl der Benutzer) sicherlich schnell entdeckt und hoffentlich auch behoben. Selbes gilt für javac.
Natürlich bräuchtest du erst ein JRE für jede Plattform auf dem es laufen muss, aber wenn du eh für eine Plattform entwickelst, für die es ein solches gibt, hast du gratis eine Version für jede andere.
Zudem musst du deinen Code nur einmal verifizieren und müsstest ihn nur an einer Stelle korrigieren, also ist die Idee von Plattformunabhägigkeit nicht so schlecht. Es bleibt aber eine Idee, es wird wahrscheinlich nie eine 100%tige Deckung für alle Plattformen geben (wozu auch).

Was aber eigentlich wichtiger ist, niemand möchte eine Software unbedingt unter wirklich allen Plattformen anbieten. Das ist eine einfache Kosten/Nutzen Abschätzung und wenn du höchste Performance auf allen Plattformen garantieren möchtest, dann denke ich landest du schnell bei handoptimiertem Assembler (es lebe die PS One).

Überhaupt ist wird Java ja gerne mit dem Wort Performance in Verbindung gebracht. Lustigerweise meinen Leute, dass es der große Nachteil von Java sei, dass es so langsam arbeitet.
Wie langsam Java wirklich ist (oder eben nicht), dazu findet man genug. Was aber mal erwähnt werden sollte ist, dass es gar keinen Grund gibt Java aus Performancegründen einzusetzen.
Ich glaube der eigentliche Grund für den Trend zu Java war es damals gewesen, dass diese Sprache eine extreme Codesicherheit bietet. So bietet Java sehr hohe Typsicherheit. Insbesondere gibt es keine Zeiger, die ich einfach mal auf den falschen Speicherbereich setzen kann. Ich kann auch nicht über die Länge eines Arrays hinaus lesen, schließlich ist es von fester Länge usw.
Unter dem Aspekt betrachtet ist Java für Firmen sehr interessant und bei heutigen Rechnern (die in sehr wenigen Programmen wirklich 100% Last für mehr als ein paar Sek. haben) sind Java Programme damit für verschiedene Probleme geeigneter als anderes. Natürlich wird es wenig Videobearbeitungssoftware für Java geben, aber auch dass kann sich noch ändern.
Viele Prozessoren haben schon heute Coprozessoren die direkt Java Befehle abarbeiten (und nebenbei bemerkt, .net verfolgt keinen anderen Ansatz. Zudem hat C# mehr Ähnlichkeit mit Java als mit C/C++).

Es gibt einfach verschiedene Bereiche in der Softwareentwicklung mit ganz verschiedenen Anforderungen. Man braucht sich nur mal J2EE und die Firmen die darauf setzen anschauen (nicht wenige, nicht nur kleine..)
Und auch in dem Bereich gibt es Perfomantere Lösungen, aber Geschäftsprozesse in Banken wollen lieber Sicherheit anstatt Performance (die auch nicht zu kurz kommt) sowie Skalierbarkeit.

Als letztes möchte ich noch Anmerken, dass Microsoft bereits verkündet hat, dass sich auch an ihren Betriebssystemen eine Menge ändern wird. So arbeitet man heute noch mit Sprachen und Konstrukten, die super auf Rechenzeit und Speicherverbrauch optimiert sind (als beides noch knapp war), aber die heutigen Rechnerarchitekturen haben soviel mehr Performance als genutzt wird. Man möchte jetzt auf eine (auf C# basierende) Sprache wechseln, die einfach mehr Sicherheit. Damit sind dann Speicherüberläufe durch zu geringe Prüfung gemeint (u.a.) und dabei ist Microsoft gerne bereit etwas weniger perfomant daher zu kommen.

Gruß Der Unwissende

PS.: Sorry ist eigentlich alles total OT, aber die eigentlich Frage wurde ja schon erörtert

md_mse 3. Dez 2005 11:57

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Elvis
C# ist so unglaublich ähnlich zu Java, dass diese krasse Abscheu gegenüber Java und gleichzeitig Vorliebe für C# einfach witzig ist. Wenn er C# als Alternative zu Delphi sieht sollte er ufpassen, dass ihm Java beim zweiten Blick nicht auch besser gefällt. :lol:

Ich glaube da muss ich mir keine Sorgen machen. Ein Programmierer der den Umfang von Delphi eh nicht ganz oder teilweise ausreizt, sieht auch keinen Unterschied zwischen Java und C#...
Ich nenne mal meine wichtigsten Gründe gegen Java:
* Java hat keine Strukturen (Records), C# hat sie jedoch. Ich finde es fast "pervers" für jeden sche*ß Objekte erstellen zu müssen... Kein Wunder das dann ein Java "Programm" je nach Komplexität schon an die Grenzen eines jeden normalen Rechners kommt.
* Strings sind Objekte... LOL, schade das die Char's primitiv sind :zwinker:
* Bei Methoden kann man in Java nicht bestimmen ob primitive Typen per Reference oder ByValue übergeben werden sollen, C# hat das, ja sogar "out".
* Wie will man bei Java mehr als nur ein Resultat von einer Methode zurückgeben? Geht nicht, außer man erstellt wieder mal ein Objekt.
* Um Callback-Methoden übergeben zu können, muss erst ein Objekt erstellt und die Methode überschrieben werden. C# kann man auch Methoden per Parameter übergeben.
* Das schreiben der Getter und Setter ist vollkommen überflüssig. Hätten die Sun Männchen sich mal an Delphi orientiert. Gar C# hat die Codewörter "get" und "set", also bitte hier nix von ähnlichkeit zu Java erzählen :zwinker:.
* Java "Programme" benötigen ja schon fast Großrechner, um mehr oder weniger anständig laufen zu können :wall:. Da könnte man sagen: "Wenn man effizient programmiert, ist auch Java schnell"... Naja, spätestens bei einem größeren Projekt merkt man, das man auch da an Grenzen kommt. Ich weiss das aus Erfahrung, ich durfte für meinen Arbeitgeber über ein Jahr lang mit Java programmieren... :wall:
* GUI Entwicklung mit Java ist ein Albtraum. Wer mit Swing anfängt zu arbeiten, wird sich bald wünschen doch lieber zu C# zu wächseln oder zu Delphi :lol:. Übrigens, zu Swing könnte man noch Bände schreiben, wie schlecht das ist. Wer sich schon mal die Swing Klassen angeguckt hat, wird schnell merken warum das so langsam ist. Einfach nur grottig programmiert!
* Keine Pointer! Pointer sind sehr schöne Dinge, die jeder versierte Programmierer sicherlich nutzt. C# hat Pointer, ist zwar "unsafe", aber geht :cyclops:.
* All die Vorteile von Java (Plattformunabhängigkeit, mehr kenn ich nicht :angel2:) werden eh schon durch die Geschwindigkeit und den Speicherverbrauch fast zu nichte gemacht. Will man schnellere Applikationen (siehe Eclipse) kommt man um die Verwendung von effizienten, nativen, Bibliotheken nicht drum herum. Um nur eine zu nennen: SWT.
* .net ist vom Konzept her einfach besser... Nur schade das es von MS ist, und offiziel wohl immer nur Windows unterstüzt wird :oops:

Programmierer die in Delphi bisher eh nur Fenster zusammengeklickt haben und kaum in die Tiefen eingestiegen sind :gruebel: werden eh all diese Macken von Java nicht erkennen.

Ich bin mir sicher, das man die Liste noch länger machen kann...

Tubos 3. Dez 2005 12:20

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Java hat keine Strukturen (Records), C# hat sie jedoch. Ich finde es fast "pervers" für jeden sche*ß Objekte erstellen zu müssen... Kein Wunder das dann ein Java "Programm" je nach Komplexität schon an die Grenzen eines jeden normalen Rechners kommt.
Da sind zwei Aspekte zu beachten.
Zunächst, die reine Ausführungsgeschwindigeit von Java Programmen: Die hat durch JIT-Compiling und Optimierung stark zugenommen, ich habe es zuerst selbst nicht glauben können - aber viele Benchmarks bestätigen das.
Auf der anderen Seite stehen diese vielen Objekte. In einem Schulprojekt möchte ich beispielsweise ein Objekt serialisieren (also in einen Byte-Strom umwandeln) und übers Netzwerk verschicken. Ich muss (nur für dieses Serialisieren, da ist das Netzwerkzeugs noch nicht mitgerechnet) 3 Objekte anlegen und anstatt einfach ein Bytearray anzulegen muss ich die Bytes 3 mal hin- und herkopieren. Ich weiß, das ist jetzt ein Manko der Java-Bibliothek und hat wenig mit der Sprache an sich zu tun, aber es ist ein gutes Beispiel dafür dass man ständig am Objekte anlegen ist und ich bin der Meinung dass dadurch die Performance von Java zwangsläufig eingeschränkt ist. Da kann der JIT-Compiler noch so gut optimieren - wenn viele Sachen so umständlich zu lösen ind, wird Java immer langsamer als native Sprachen sein.
Ich weiß nicht wie das in C# aussieht - vielleicht muss man da nicht so viele Objekte anlegen?

Zitat:

Wie will man bei Java mehr als nur ein Resultat von einer Methode zurückgeben? Geht nicht, außer man erstellt wieder mal ein Objekt.
In Delphi kann man doch auch nur ein Resultat zurückgeben.
Es sei denn man übergibt es per var - aber das geht in Java doch auch, dass man Werte per Parameter zurückgibt!

Zitat:

Das schreiben der Getter und Setter ist vollkommen überflüssig. Hätten die Sun Männchen sich mal an Delphi orientiert. Gar C# hat die Codewörter "get" und "set", also bitte hier nix von ähnlichkeit zu Java erzählen .
Das ist wieder etwas subjektives. Ich habe in Delphi nie objektorientiert programmiert, erst in C++. Und in C++ gibts keine Properties - ich vermisse sie jetzt auch nicht. Hätte ich OOP in Delphi gemacht, würde ich Properties in Java wahrscheinlich vermissen :)

Zitat:

Java "Programme" benötigen ja schon fast Großrechner, um mehr oder weniger anständig laufen zu können . Da könnte man sagen: "Wenn man effizient programmiert, ist auch Java schnell"... Naja, spätestens bei einem größeren Projekt merkt man, das man auch da an Grenzen kommt. Ich weiss das aus Erfahrung, ich durfte für meinen Arbeitgeber über ein Jahr lang mit Java programmieren...
Es ist nunmal ein Faktum dass es bei Geschäftsanwendungen fast immer völlig egal ist wie es mit der Performance aussieht. Denn die performancekritischen Sachen laufen in der Datenbank ab, und die ist meist in C++ oder einer anderen nativen Sprache geschrieben.
Spiele sind ein Beispiel für Anwendungen, die wirklich performant sein müssen damit man eine möglichst hohe Qualität erzielt. Es gibt bereits 3D-Spiele die in Java geschrieben wurden - ein Beispiel ist Chrome. (ich habe es noch nie gespielt)

Zitat:

GUI Entwicklung mit Java ist ein Albtraum. Wer mit Swing anfängt zu arbeiten, wird sich bald wünschen doch lieber zu C# zu wächseln oder zu Delphi
Stimmt.

Zitat:

Keine Pointer! Pointer sind sehr schöne Dinge, die jeder versierte Programmierer sicherlich nutzt. C# hat Pointer, ist zwar "unsafe", aber geht .
Achso? Ich brauche in Java keine Pointer. Kannst du ein Beispiel in einer Sprache deiner Wahl posten wo man ohne Pointer nicht oder nicht so einfach auskommt?

Zitat:

Programmierer die in Delphi bisher eh nur Fenster zusammengeklickt haben und kaum in die Tiefen eingestiegen sind
Das eine hat mit dem anderen doch nichts zu tun. In Netbeans kann man auch Java-Oberflächen zusammmenklicken, Netbeans erzeugt dann automatisch Swing-Code dafür.

Abschließend möchte ich noch erwähnen dass Firmen wie Sun oder Microsoft sich natürlich auf ihre neuen Technologien konzentrieren und Sprachen wie C++ oder Delphi als veraltet abstempeln.
Da aber Windows Vista wie Windows XP noch immer auf Win32 basiert und unter Linux sowieso C++ der Standard ist (das war jetzt einfach geraten *gg*) glaube ich dass man auch heute noch mit C++ und Delphi gut fährt. Vor allem im Hobby-Bereich, wo sich Entwickler nicht nach betriebswirtschaftlichen Überlegungen richten müssen.

tommie-lie 3. Dez 2005 12:23

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von md_mse
Java hat keine Strukturen (Records), C# hat sie jedoch.

Bedingt. Da ein struct auch Methoden enthalten kann, ist es auch nichts anderes als eine Klasse für Arme, hat ansonsten aber die gleichen Features, wenn man von Vererbung mal absieht (du kannst ihnen sogar einen Konstruktor verpassen). Sie sind im Gegensatz zu Objekten lediglich ein value-Type, verhalten sich intern also ein wenig anders (und lassen sich anders optimieren als Objekte).

Zitat:

Zitat von md_mse
* Das schreiben der Getter und Setter ist vollkommen überflüssig. Hätten die Sun Männchen sich mal an Delphi orientiert. Gar C# hat die Codewörter "get" und "set", also bitte hier nix von ähnlichkeit zu Java erzählen :zwinker:.

Hinter get und set steckt doch auch nichts anderes als eine Methode des Objektes.

Zitat:

Zitat von md_mse
Java "Programme" benötigen ja schon fast Großrechner, um mehr oder weniger anständig laufen zu können :wall:.

ACK. Azureus und Eclipse/CDT haben beide eine verdammt träge Oberfläche.

Zitat:

Zitat von md_mse
C# hat Pointer, ist zwar "unsafe", aber geht :cyclops:

Pointer in C# sind lediglich aus Gründen der Abwärtskompatibilität vorhanden und sollten eigentlich nicht verwendet werden. Mir gefällt die Sichtweise, daß sauberer C#/.NET-Code keine Pointer enthält, besser.

Zitat:

Zitat von md_mse
Nur schade das es von MS ist

Warum?
Zitat:

Zitat von md_mse
und offiziel wohl immer nur Windows unterstüzt wird :oops:

Chrome unterstützt bereits vollkommen offiziell das Mono-Framework.

Edit1: Quote-Tag korrigiert.

Edit2:
Zitat:

Zitat von Tubos
Ich weiß nicht wie das in C# aussieht - vielleicht muss man da nicht so viele Objekte anlegen?

Primitive Typen sind im .NET-Framework lediglich nach dem Boxing ein Objekt, durch ein Unboxing kommt man direkt an den Wert und der wird gespeichert. Ein int[x] ist also tatsächlich ein zu C++ vergleichbares Array von Integern, nicht ein Array von Zeigern auf irgendwelche Objekte, die Integer-Funktionalitäten bieten.

Zitat:

Und in C++ gibts keine Properties - ich vermisse sie jetzt auch nicht. Hätte ich OOP in Delphi gemacht, würde ich Properties in Java wahrscheinlich vermissen :)
Nicht sonderlich. Als ich auf C++ umgestiegen bin, war mein erster Gedanke auch "Ihhh, schon wieder drei Zeichen mehr tippen (set und get)", aber das ist nichts, was einen irgendwie stört.

Zitat:

Kannst du ein Beispiel in einer Sprache deiner Wahl posten wo man ohne Pointer nicht oder nicht so einfach auskommt?
Beinahe sämtliche Interaktion mit nativen Bibliotheken, da diese oft auf Pointer zurückgreifen, wenn es um Datenstrukturen geht. Schon ein String wird einer C-Bilbiothek lediglich als Pointer auf ein Byte im Speicher übergeben.

Zitat:

unter Linux sowieso C++ der Standard ist (das war jetzt einfach geraten *gg*)
Fast ;-) C wird bei GNU lieber gesehen, C++ liegt aber auch ganz weit vorne, wobei man bei gewöhnlichen Anwendungen (auch Daemons) fast schon sagen kann, daß Perl und Python zusammen auch schon lange keine Niesche mehr sind.

Mikko 3. Dez 2005 12:27

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
@md_mse

Zitat:

Wie will man bei Java mehr als nur ein Resultat von einer Methode zurückgeben? Geht nicht, außer man erstellt wieder mal ein Objekt.
rückgabe von arrays, vectoren, properties, collections etc. alles geht.

getter/setter:
zu zeiten von ide's (z.b. eclipse) kein thema. alles kann automatisch erstellt werden.

gui:
ja, man benötigt eine einarbeitungszeit. ist nicht ganz einfach, eine komplexe gui zu erstellen, wenn man es noch nie gemacht hat. aber es gibt auch gui-builder. die meisten haben den nachteil, daß man bei nachträglichen einfügen etwas auf den schlauch steht, wenn man die herkömmliche klasse schon geändert/angepaßt hat. wenn man nicht auf den gui builder verzichten will, kann man auch jbuilder oder netbeans (kostenlos) nehmen. und wenn dann einige rumjammern, jbuilder ist teuer, dann sollte man überlegen, daß der jbuilder in der gleichen preisklasse wie delphi spielt.

pointer:
java hat bewußt keine pointer.

weitere vorteile von java (außer plattformunabhängigkeit) gegenüber anderen sprachen:
-sicherheit
-applets
-schnell programmierbare rmi-anwendungen

jede sprache hat seine vor- und nachteile bzw. ist für bestimmte einsatzgebiete prädestiniert. schließlich kann ich auch nicht daherkommen, und behaupten, alle anderen sprachen außer perl seien schlecht, weil man sich in perl um keinerlei typumwandlungen kümmern muß (nur um mal ein beispiel zu nennen).

tommie-lie 3. Dez 2005 12:41

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Mikko
weitere vorteile von java (außer plattformunabhängigkeit) gegenüber anderen sprachen:
-applets

Warum kann ich in C++ kein Applet schreiben? Was machen dann all jene falsch, die genau das tun?

LarsMiddendorf 3. Dez 2005 12:42

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Java fehlt gegenüber c#:

-Structs, manchmal will man keinen Referenztyp
-Delegates
-Events
-Properties
-Indexer
-Partial Classes
-Iteratoren mit yield
-Nullable Types
-Zeiger, nützlich zumindest die Möglichkeit zu haben
-Trennung von logischer Struktur den Namespaces und Dateien
-Operatorüberladung
-Anonyme Methoden
-Mehrdimensional Arrays
-Einfache Einbindung von DLL's (gehört nicht direkt zur Sprache)

Dann kommen zusätzlich noch die ganzen Vorteile des .Net Frameworks dazu.

md_mse 3. Dez 2005 12:49

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
@Tubos:
Zitat:

In Delphi kann man doch auch nur ein Resultat zurückgeben.
Es sei denn man übergibt es per var - aber das geht in Java doch auch, dass man Werte per Parameter zurückgibt!
Wie schon bereits erwähnt, keine übergabe von Parametern PerReference (außer Objekte natürlich, aber um die ging es mir nicht) sondern ausschließlich PerValue.
Zitat:

Es ist nunmal ein Faktum dass es bei Geschäftsanwendungen fast immer völlig egal ist wie es mit der Performance aussieht. Denn die performancekritischen Sachen laufen in der Datenbank ab...
Das stimmt so nicht... Langsame native Programme sind immer schneller als ein schnelles Java Programm :zwinker:. Und aus Erfahrung
weiss ich auch, das selbst Geschäftsanwendungen nicht so langsam sein sollte wie es nunmal von Java geboten wird.
Und die performancekritischen Sachen laufen nun sicher nicht in der DB an, kommt natürlich auf das Programm an... Die Meisten werden da sicher nicht mehr als SELECT, INSERT, UPDATE und DELETE benutzen :zwinker:.
Zitat:

Es gibt bereits 3D-Spiele die in Java geschrieben wurden - ein Beispiel ist Chrome
Bitte nicht schon wieder so ein Beispiel... Das ist das gleiche wie mit Eclipse. Wenn man native Bibliotheken benutzt, da kann man natürlich von erhöhter Performance ausgehen. (Chrome nutzt native Bibliotheken für den Zugriff auf die GraKa, wer weiss wozu noch :stupid:)
Zitat:

Kannst du ein Beispiel in einer Sprache deiner Wahl posten wo man ohne Pointer nicht oder nicht so einfach auskommt?
Gut, ersetze versiert mit faul, oder halt auf Optimierungs Tripp.
Zitat:

Programmierer die in Delphi bisher eh nur Fenster zusammengeklickt haben und kaum in die Tiefen eingestiegen sind
Damit wollte ich sagen, das Leute die Delphi oder andere Hochsprachen (Java zählt nicht :wink:) eh nicht vollkommen kennen, werden sich auch sicherlich nicht an den fehlenden Records oder Parameterübergabe per Referenz stören usw...

@tommie-lie:
Zitat:

Da ein struct auch Methoden enthalten kann, ist es auch nichts anderes als eine Klasse für Arme
Jedoch wird ein struct niemals so viel overhead produzieren wie eine Klasse, das muss man schon dazu sagen!
Zitat:

Hinter get und set steckt doch auch nichts anderes als eine Methode des Objektes.
Das sowas, oder sowas ähnliches dahinter steckt ist schon klar, Zaubern kann selbst C# nicht. Jedoch interessiert das nicht mal, sondern das man es immer schreiben, bzw. generieren lassen muss!
Das macht das Objekt ja auch nicht kleiner :wink:.
Zitat:

Mir gefällt die Sichtweise, daß sauberer C#/.NET-Code keine Pointer enthält, besser
Jedem das seine.
Zitat:

Zitat:

Nur schade das es von MS ist
Warum?
Wie geschrieben, weil es von MS in der nächsten Zeit sicherlich kein .NET Framework für Unix und Mac Systeme geben. (Mono lassen wir mal außen vor, ist ja nicht offiziell)


@Mikko:
Zitat:

rückgabe von arrays, vectoren, properties, collections etc. alles geht.
Zusätzlicher aufwand... Kein wunder dass Programme heut zu tage immer langsamer werden :wink:. Ein Array dafür zu erstellen, dass ich mehr als ein Wert aus einer Methode bekomme, ist keine schöne Lösung, kein guter Programmierstil. Persönlich würde ich das nicht machen.
Lieber PerReference.
Zitat:

zu zeiten von ide's (z.b. eclipse) kein thema. alles kann automatisch erstellt werden.
Siehe bitte weiter oben...
Zitat:

ist nicht ganz einfach, eine komplexe gui zu erstellen, wenn man es noch nie gemacht hat
Aber warum sollte man sich in ein teils unlogisches oder schlecht durchdachtes System wie SWING einarbeiten, wenn man sich ja auch weniger mit der GUI beschäftigen müsste, siehe C# oder Delphi.
Zitat:

java hat bewußt keine pointer.
Java hat ja auch bewusst keine Structs und kein PerReference usw. Das macht die Sache ja so schlimm!

Was mir auch noch einfällt, Java hat ja auch bewusst kein "SetLength" für Arrays, sehr böse:!: Da haben sich die Sun Leute gedacht, lieber den Programmierer alles machen lassen...

Tubos 3. Dez 2005 12:53

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

keine übergabe von Parametern PerReference (außer Objekte natürlich, aber um die ging es mir nicht)
Achso.
Naja, in Java ist eben fast alles ein Objekt. Von den primitiven Datentypen abgesehen, aber auch die gibts als Objekt.
Zitat:

Java hat ja auch bewusst keine Structs und kein PerReference usw.
Objekte werden standardmäßig per Reference übergeben.

Zitat:

Und die performancekritischen Sachen laufen nun sicher nicht in der DB an, kommt natürlich auf das Programm an... Die Meisten werden da sicher nicht mehr als SELECT, INSERT, UPDATE und DELETE benutzen .
Und? Das sind nunmal die Grundfunktionen einer Datenbank. Dazu ist sie da ;)

Zitat:

Ein Array dafür zu erstellen, dass ich mehr als ein Wert aus einer Methode bekomme, ist keine schöne Lösung, kein guter Programmierstil. Persönlich würde ich das nicht machen.
Lieber PerReference.
Ack. Ist unsauber und würde ich auch nicht machen.

md_mse 3. Dez 2005 12:56

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat:

Java hat ja auch bewusst keine Structs und kein PerReference usw.
Objekte werden standardmäßig per Reference übergeben.
Das hab ich auch nicht bestritten, sondern sogar selbst behauptet :roll:. :wink:
Zitat:

Und? Das sind nunmal die Grundfunktionen einer Datenbank. Dazu ist sie da
Das wiederspricht aber der Behauptung, all die performancekritischen Sachen würden in der Datenbank ablaufen!

Tubos 3. Dez 2005 13:08

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Das wiederspricht aber der Behauptung, all die performancekritischen Sachen würden in der Datenbank ablaufen!
Select, Update, Insert etc... ist performancekritisch bei riesigen Datenmengen!

Mikko 3. Dez 2005 13:08

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Tubos
Zitat:

Ein Array dafür zu erstellen, dass ich mehr als ein Wert aus einer Methode bekomme, ist keine schöne Lösung, kein guter Programmierstil. Persönlich würde ich das nicht machen.
Lieber PerReference.
Ack. Ist unsauber und würde ich auch nicht machen.

Zitat:

Zitat von md_mse
Das sowas, oder sowas ähnliches dahinter steckt ist schon klar, Zaubern kann selbst C# nicht. Jedoch interessiert das nicht mal, sondern das man es immer schreiben, bzw. generieren lassen muss!

na dann nehmt halt getters/setters. aber die wollen hier einige auch nicht. manchmal hab ich das gefühl, daß hier manche nicht wissen, was sie wollen.
so, und damit es komplett ist: ich schrieb schon vorher, daß ich mich hier auch nicht hintstelle und behaupte, daß delphi schlechter als perl ist, bloß weil man in perl sich nicht um typumwandlungen kümmern muß.

ich verstehs nicht. jetzt wird hier jeder punkt auseinander genommen und als negativ hingestellt. unter dem motto: mehrdimensionale arrays gibt es nicht. aha. muß mein compiler wohl verbugt sein, wenn er z.b. "int[][]" annimmt und nicht moniert.

damit klinke ich mich aus der diskussion aus und lasse die windows-user unter sich...

tommie-lie 3. Dez 2005 13:09

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von md_mse
Zitat:

Da ein struct auch Methoden enthalten kann, ist es auch nichts anderes als eine Klasse für Arme
Jedoch wird ein struct niemals so viel overhead produzieren wie eine Klasse, das muss man schon dazu sagen!

Ja, weil es ein value-Type ist, das habe ich aber dazu gesagt ;-)

Zitat:

Zitat von md_mse
Zitat:

Hinter get und set steckt doch auch nichts anderes als eine Methode des Objektes.
Jedoch interessiert das nicht mal, sondern das man es immer schreiben, bzw. generieren lassen muss!

Hm? Ein Property besitzt in C# ebenfalls einen Getter und einen Setter. Die Syntax ist identisch mit der für eine gewöhnliche Methode, beim Getter muss ich mit 'nem return was zurückgeben, beim Setter kriege ich über einen Parameter was rein. Das einzige, was man nicht selber schreiben muss, ist die Signatur für die Methoden, dafür muss man halt ein get und ein set tippen, kein großer Unterschied.

Zitat:

Wie geschrieben, weil es von MS in der nächsten Zeit sicherlich kein .NET Framework für Unix und Mac Systeme geben. (Mono lassen wir mal außen vor, ist ja nicht offiziell)
Es wurde bereits angemerkt, daß auch Sun seine JRE für lediglich drei verschiedene Softwareplattformen zur Verfügung stellt (und da der Portierungsaufwand von Solaris nach Linux eher gering ausfallen dürfte, sogar nur für zweieinhalb Plattformen). Microsoft ist da nicht viel anders, die stlelen ihr Framework auch nur für zwei Plattformen her: Full-Featured Windows-Desktops und als Compact Framework für Windows-betriebene Palmtops.


Zitat:

Zitat von Mikko
damit klinke ich mich aus der diskussion aus und lasse die windows-user unter sich...

Als Linux-User (der dennoch Java mit einem Kropf vergleichen tut) würde ich mich noch über eine passende Antwort auf http://www.delphipraxis.net/internal...=466434#466434 freuen. Oder auf eine entsprechende Beschreibung, was für dich ein Applet ist. Jedenfalls setzen kaum Gnome-Applets eine JRE vorraus.

md_mse 3. Dez 2005 13:19

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
@tommie-lie:
Zitat:

Hm? Ein Property besitzt in C# ebenfalls einen Getter und einen Setter. Die Syntax ist identisch mit der für eine gewöhnliche Methode, beim Getter muss ich mit 'nem return was zurückgeben, beim Setter kriege ich über einen Parameter was rein. Das einzige, was man nicht selber schreiben muss, ist die Signatur für die Methoden, dafür muss man halt ein get und ein set tippen, kein großer Unterschied.
Also ich finde den Unterschied schon gewaltig:
Code:
    public String getErrorMessage() {
        return errorMessage;
    }

    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
gegen
Code:
        public String ErrorMessage { get; set; }
:roll:

@LarsMiddendorf:
Zitat:

Java fehlt gegenüber c#:

-Structs, manchmal will man keinen Referenztyp
-Delegates
-Events
-Properties
-Indexer
-Partial Classes
-Iteratoren mit yield
-Nullable Types
-Zeiger, nützlich zumindest die Möglichkeit zu haben
-Trennung von logischer Struktur den Namespaces und Dateien
-Operatorüberladung
-Anonyme Methoden
-Mehrdimensional Arrays
Mehr.dim. Arrays, Operatorüberladung und Events (auch wenn's irgendwelche AWT Events sind) gibt es doch...
Edit: Nein, hab bei "Delegates" an was anderes gedacht...

md_mse 3. Dez 2005 13:24

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Mikko
...damit klinke ich mich aus der diskussion aus und lasse die windows-user unter sich...

Ich nutze zwar leidenschaftlich Windows :wink:, dennoch entwickle ich auch für andere Betriebsysteme.

malo 3. Dez 2005 13:25

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von md_mse
[...] Operatorüberladung [...] gibt es doch...

Seit wann das? Ich war bisher immer der festen Überzeugung, dass Operatorüberladung eines der Features wäre, das Java (leider auch Delphi, bis 2005) fehlt...
Oder hab ich da was verpasst? :gruebel:

tommie-lie 3. Dez 2005 13:28

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von md_mse
Also ich finde den Unterschied schon gewaltig:

Eine Syntax, die mir nicht bekannt war ;-)
Ich habe an folgendes gedacht:
Code:
public String ErrorMessage {
    get {
        return errorMessage;
    };
    set {
        this.errorMessage = value;
    };
}
Daß deine Abkürzung auch möglich ist, ist mir neu.

md_mse 3. Dez 2005 13:28

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von malo
Zitat:

Zitat von md_mse
[...] Operatorüberladung [...] gibt es doch...

Seit wann das? Ich war bisher immer der festen Überzeugung, dass Operatorüberladung eines der Features wäre, das Java (leider auch Delphi, bis 2005) fehlt...
Oder hab ich da was verpasst? :gruebel:

Ok, hab wohl an C# gedacht... :oops:

md_mse 3. Dez 2005 13:40

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von tommie-lie
Daß deine Abkürzung auch möglich ist, ist mir neu.

Code:
    public interface ITest
    {

        String TestString { get; set; }

    }

Der_Unwissende 3. Dez 2005 13:55

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Möchte mal kurz anmerken, dass das Thema nie der Sinn oder Unsinn der Sprache C#, C# vs. Java oder Java gegen den Rest der Welt war.
Es ist irgendwie schade dass sich die Diskussion leicht in diese Richtung bewegt.
Insbesondere finde ich wird hier kreuz und quer verglichen.
Hinter Java steckt einfach ein Konzept (genau wie hinter .net), bzw. es sind Konzepte. Das hat nichts mit der Sprache Java zu tun (heißt nur mal wieder gleich). Java möchte OOP einfach ermöglichen und daraus resultieren ein paar Dinge (z.B. dass Arrays Klassen sind und ein String damit auch). Das diese Umsetzung (schon wegen den primitiven Datentypen) nicht 100%ig ist mag stimmen aber ist wieder ein anderer (schon existenter) Thread.

Jedenfalls sollte man sich mit Konzepten vertraut machen bevor man eine Sprache darin misst dass sie keine Pointer hat oder keine Properties.

Eine einfache Frage hätte ich gleich dazu, was ist so schlimm daran? Kann ich irgendwas in Java nicht machen, was ich mit Pointern könnte? Selbes für Properties?

Dann noch die Frage, wie modellier ich in UML eigentlich Properties? Bei einer setIrgendwas und einer getIrgendwas Methode ist jedem sofort klar, dass es sich um eine Methode handelt und die Namensgebung spricht für sich und ich kann erahnen um was für eine es sich handelt, hab ich mit Properties nicht. Wenn nun also Invarianten gelten sollen, muss man auch klar stellen dass diese geprüft werden...

Das heißt natürlich nicht, dass Properties nicht toll sind, aber man kommt doch auch ohne aus ohne an Mächtigkeit zu verlieren. Eine Programmiersprache wird zudem nur um absolut privaten Bereich daran gemessen wie schön ihre Sprache aussieht, in der Industrie zählen (imho und auch meiner bescheidenen Erfrahrung nach) andere Werte deutlich mehr. Je nach Anforderungen wird man eher zu Java oder Delphi greifen oder halt auch zu Lisp, Prolog, C, Assembler, .........
Kann überhaupt nicht pauschal festgelegt werden. Das wichtige ist, dass sich alle Anforderungen erfüllen lassen.

Es ist zudem einfach kein Widerspruch Java und C# zu mögen, auch wenn beide unterschiedliche Möglichkeiten bieten. Um gut mit einer Sprache umgehen zu können muss man vor allem mal die Idee dahinter verstanden haben und ich finde zumindest, dass es bei Java sehr schlüssig ist.

Um noch schnell (weiter OT) was zu den Punkten GUI mit Java und Performance zu sagen:

Java läuft auch auf meinem Handy, bestimmt kein Großrechner mit 4 GByte RAM

Und das Konzept von Swing ist gar nicht so schlimm wie hier gern behauptet. Man benutzt eigentlich mehr vorgefertigte Schablonen und gerade dank der Layoutmanager kann man diese super zusammenstellen. Das erleichtert einige Arbeiten immens, aber eben nicht jede (auch Java ist keine Universallösung).

Mein Tipp ist für alle hier, sich wirklich mit den Konzepten vertraut zu machen und flexibel zu bleiben. Damit meine ich nicht alle Sprachen können, sondern nur keine ablehnen oder künstlich schlecht reden. Wenn ihr sie nicht braucht/mögt benutzt sie nicht. Das ist alles ok, aber wenn ihr mal länger in der Branche arbeitet, werdet ihr sicherlich merken wie schnell sich manche Dinge verändern und es sollte eine positive Überraschung bleiben...

Gruß Der Unwissende

Elvis 3. Dez 2005 14:05

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Mikko
ich verstehs nicht. jetzt wird hier jeder punkt auseinander genommen und als negativ hingestellt. unter dem motto: mehrdimensionale arrays gibt es nicht. aha. muß mein compiler wohl verbugt sein, wenn er z.b. "int[][]" annimmt und nicht moniert.

Jain.
Das ist ein jugged array: Ein äußeres Arrays, dass aus Arrays von int besteht.
Das ist übrigens die Implementierung, die man auch in .Net nutzen würde, wenn man sich mit dem Verhalten des JITs auseinandergestzt hätte. ;)
Ein .Net Array, das sich nicht auf einen szArray reduzieren lässt, resultiert in ekligem Code zur Laufzeit. "Mehrdimenionale" Arrays in .Net sind übrigens auch alle, die nicht mit 0 beginnen. Während ein szArray nur die Bereichsprüfung als Overhead gegenüber einem c-style Array hat, ist ein mArrray (nenne es "m"urks, "m"ehrdimensional, ...) eine kompette Abstraktion, die dem JIT beim Optimieren gehörig das Bein stellt.
Zitat:

damit klinke ich mich aus der diskussion aus und lasse die windows-user unter sich...
Auch nur vertändlich... ;) Gilt für mich auch. :hi:

LarsMiddendorf 3. Dez 2005 14:42

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Naja, es ging doch hier um die Sprache und nicht um eine bestimmte Implementierung. Wenn man erstmal das .Net Framework mit der Java Klassensammlung vergleicht, dann wird erst recht deutlich von den angefangen Listen bis zur GUI, dass .Net gegenüber Java da weit überlegen ist. Sozusagen gut gemeint und schlecht gemacht.

cruso 3. Dez 2005 15:08

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von phXql
Ich glaube:

Java wird für den Desktop sterben, wenn Microsoft erstmal mit .Net durch ist. Grund:

1.) MS is der Monopolist, die bekommen fast alles durch, sogar schrottige sachen, die nichts taugen..

2.) Das .Net framework ist um längen besser als das Java-Environment

3.) Oberflächenprogrammierung unter JAVA ist einfach nur noch schrott.

Ich sehe Java mittlerweile nur noch als Versuchsprojekt. .NET greift alles gute auf, und lässt den schlechten rest weg ^^

Naja dann sollte man vielleicht doch auf Microsofts Visiual Studio umsteigen. Ich glaube nicht, dass Microsoft so schnell pleite geht^^.

MfG
Cruso

Mikko 3. Dez 2005 15:25

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von tommie-lie
Als Linux-User (der dennoch Java mit einem Kropf vergleichen tut) würde ich mich noch über eine passende Antwort auf http://www.delphipraxis.net/internal...=466434#466434 freuen. Oder auf eine entsprechende Beschreibung, was für dich ein Applet ist. Jedenfalls setzen kaum Gnome-Applets eine JRE vorraus.

doch noch ein allerletzter post von mir, damit hier nicht einige unruhig schlafen. wie du vielleicht mitgekriegt hast, geht es hier um java. schau in der referenz nach, was ein java-applet ist. _das_ habe ich mit applet gemeint. und nicht ein gnome- oder kicker-applet, servlet oder sonst was. wenn du es nicht findest - pm an mich reicht. :wink:

ps linux: jaja, die fbf ist weit verbreitet... :lol:



gui:
mich würde mal brennend interessieren, wer von den hier diskutierenden schon einmal _real_ eine gui per hand programmiert hat, und nicht einfach nur zusammenklickt.

und in bezug auf .net:
hinter java steht nicht nur sun, sondern auch ibm. sollte man nicht vergessen.


so, und jetzt viel spaß noch bei der diskussion, welches die beste programmiesprache ist... :hi:

tommie-lie 3. Dez 2005 15:46

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Mikko
schau in der referenz nach, was ein java-applet ist. _das_ habe ich mit applet gemeint. und nicht ein gnome- oder kicker-applet, servlet oder sonst was.

Hmm... Java-Referenz, Applet, da finde ich zum Bleistift die Klasse java.applet.Applet. Sun schreibt darüber, daß es eine kleine Anwendung ist, die in eine andere eingebettet wird und nicht selbstständig läuft. Des weiteren meint Sun, daß alle Applets in einer Webseite von dieser Klasse abstammen sollen. Das deckt sich auch mit dem, was ich unter Applet verstehe. Applets im Gnome-Panel setzen ein selbiges vorraus, um zu laufen, tauchen aber prinzipiell als eigener Prozess im Taskmanager des Betriebssystems auf. Ehrlich gesagt sehe ich da jetzt keinen Unterschied zwischen Java und anderen Sprachen. Gut, Java bietet durch sein Framework anscheinend eine Basisklasse für sowas, aber prinzipiell ist es mit jeder Sprache möglich, ein Programm in ein anderes einzubetten. Flash ist schließlich auch keine Java-Anwendung, läuft aber dennoch im Browser eingebettet und auf Client-Seite, ohne erzwungene Interaktion mit dem Server. C++-Applets (oder andere nativ kompilierte) existieren wohl lediglich nicht für Webseiten, weil sie prinzipbedingt unsicher sind, da sie nativ laufen.

Zitat:

Zitat von Mikko
ps linux: jaja, die fbf ist weit verbreitet... :lol:

FBF? FritzBoxFon? Fédération Bancaire Française?

r_kerber 3. Dez 2005 15:58

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von Mikko
gui:
mich würde mal brennend interessieren, wer von den hier diskutierenden schon einmal _real_ eine gui per hand programmiert hat, und nicht einfach nur zusammenklickt.

Ja, ich. Vor über 10 Jahren mit Borland C 4.5, ResourceManager und WinApi16!
Zurück zum Thema: Aus der Diskussion erkennt man eines ganz deutlich: Es gibt sie nicht, die eierlegende Wollmilchsau. Jede Programmiersprache und jedes Framework hat seine Vor- und Nachteile. Und wenn's um Zukunftssicherheit geht, dann kann man nur im Kaffeesatz lesen.
Bei der Entscheidung, auf welches Programmiersprache man setzt, gibt es IMHO viele Dinge zu beachten. Nur mal kurz einige:
  • Für welche Plattform sollen die Anwendungen erstellt werden
  • Mit welcher Programmiersprache wurde bisher entwickelt und konnten damit die Problemstellungen damit zur Zufriedenheit gelöst werden
  • Welche Programmiersprachen beherrschen meine Programmierer
  • Bietet eine andere Programmiersprache/IDE gleichwertige oder bessere Werkzeuge/Frameworks (z.B.Datenbankzugriff, -persistenz, ...)?
  • Welche Folgekosten kommen auf mich zu (Schulungen, weitere Komponenten/Frameworks, ...)?
Die Liste ließe sich bestimmt beliebig verlängern. Und wenn ich mir die von static_cast geschilderte Ausganslage so anschaue, dann ist es IMHO die bessere Lösung über .Net nachzudenken (mit BDS 2006 und/oder VS 2005). Mit dem Wechsel auf Java würde sich die Firma mit Sicherheit nur Probleme schaffen (Irrwege, Kosten, demotivierte Mitarbeiter).

md_mse 3. Dez 2005 16:01

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Zitat:

Zitat von r_kerber
Mit dem Wechsel auf Java würde sich die Firma mit Sicherheit nur Probleme schaffen (Irrwege, Kosten, demotivierte Mitarbeiter).

Lol... "demotivierte Mitarbeiter" trifft den Nagel auf den Kopf :thumb:. Sorry für OT

Marcel Gascoyne 7. Dez 2005 20:37

Re: Weg mit Delphi her mit Java, für die Zukunft sicher?
 
Ob man nun für neue Projekte Delphi (.NET) oder Java einsetzt hängt meiner Meinung nach vom Umfeld ab. Wenn eine Firma eine eigene Anwendung entwickelt kann man mit Delphi, C# und Java sein Ziel erreichen.

Java hat seine Stärken nicht im GUI- sondern im Enterprise Bereich. Und gerade dort spielt es seine Stärken massiv aus. Es gibt im J2EE Umfeld derzeit wohl keine Alternative zu Java. NET holt zwar mächtig auf, aber solange die Big Player wie z.b. SAP auf Java setzen wird sich da nicht viel ändern.

Ich sehe das selber bei meinen Projekten. Der Schwerpunkt verlagert sich zur Zeit eindeutig in Richtung Java, wobei das bei uns natürlich auch mit der Einführung von SAP zu tun hat.

Man muss sich nur mal bei den Stellenanzeigen umsehen um festzustellen das derzeit Java-Entwickler am meisten gefragt sind.

Gruß,
Marcel


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz