Datenbank mit Java oder C#
-
Um die Zukunft von C# würd ich mir keine Sorgen machen. Laut TIOBE Index gehört C# zu den Programmiersprachen, deren Popularität mit am schnellst wächst.
-
MrJava schrieb:
Finde ich ehe genial die Syntax.
Wo unterscheiden sich Java und C# im Syntax so dramatisch?
-
Ja ihr habt recht. Die Syntax von Java und C# ist sehr ähnlich. C# ist ja auch ein abklatsch von Java. Ihr macht es mir nicht leicht. Jetzt überzeugt ihr mich mehr für C#. Was mir an C# gefällt ist das DBGrid.Damit kann ich so einfach eine DAtenbankanbindung machen. In java muss ich 10 mal so viel an Zeit investieren und trotzdem läuft das nicht so schön wie in C#.
-
C# hat keine Steuerelemente (DBGrid). Du meinst das .net Framework.
-
@MrJava: Nimm' es mir nicht übel, aber ich traue dir nicht vollständig zu, ein professionelles Warenwirtschaftsprogramm zu schreiben. Wenn es professionell werden soll, sag ich jetzt nichts mehr und denk mir meinen Teil.
Amsonsten würde ich dir raten, mach es halt mal ansatzweise mit beiden Plattformen und entscheide dich dann. Du bist dann in jedem Fall um eine Erfahrung reicher. Ob es jetzt irgendwie ein tolles Steuerelement gibt, sollte jedenfalls nicht vollständig ausschlaggebend sein. :xmas1:
-
Ich abreite auch mit einer MySql Db und dem Java connector dazu. Ich habe keine Probleme. Und das was in der 2. Antwort gefallen ist mit der toString() Methode ist echt cool. Ich habe mir für alle Datentypen (ResultSets) aus der Datenbank eigenen KLassen geschrieben die die toString Methode überschreiben. So habe ich in meinen Listboxen immer den Datensatz liegen. Mit getItem und einem cast hast du dann alles was du brauchst. Und ich finde diesen Gewschindigkeitsdiskussionen können wir uns doch langsam sparen. Es ist doch gar net so lahm. Dafür steht die Anwendung doch ziemlich schnell. Und bei Java weis man auch was so passiert. Bei dem MS Sachen und den ganzen Assistenten kommt man doch gar nicht mehr zum Coden.
Wenn dan mal was net tut weis man nicht wieso.
-
sven1978 schrieb:
... Und bei Java weis man auch was so passiert. Bei dem MS Sachen und den ganzen Assistenten kommt man doch gar nicht mehr zum Coden.
Wenn dan mal was net tut weis man nicht wieso.Genau deswegen arbeite ich immer mit einem Makro-Assembler. Heute weiß man nie was die komischen Compiler/Laufzeitsysteme so alles so machem. Man hat einfach keine Kontrolle mehr über seinen Code.
Wer die Ironie findet, darf sie behalten ... :xmas2:
-
Hallo,
ich will Dir mal versuchen ein paar Tipps und Hinweise zu geben. Damit ich nicht wie jeder Troll Behauptungen aufstelle, werde ich alles so gut es geht begründen.
Performance
Java ist nicht (mehr) langsam. Java 5.0 hat erneut risen Schritte nach vorne gemacht. Sowohl von der Performance als auch von den Sprachfeatures. Es würde logisch klingen, dass Bytecode langsamer sei, schließlich muss dieser noch in Maschinensprache übersetzt werden. Stimmt aber nicht so ganz. Sun hat einen sehr guten HotSpotter[1], welcher zur Laufzeit hochoptimierten Maschinencode für genau den Prozessor erzeugt auf dem er gerade läuft. Einmal übersetzer Code wird nicht nochmal übersetzt. Warum sollte dieser Code langsamer sein?Natürlich kann man das mit C oder C++ mindestens genauso gut, macht aber keiner. Das ist für ein Unternehmen nicht weiter möglich, da man für jedes kleine Bugfix/Update alles neu kompilieren und testen müsste. Die Kosten dafür stehen in keinem Verhältnis zum Nutzen.
Zweiter Mythos: Garbage Collection ist langsamer. Wieder falsch(zumindest in den meisten Anwendungsgebieten). Die VM kann zur Laufzeit Speicherfreigeben, wenn gerade die Situation dafür günstig ist(z.B. CPU wartet auf Leseoperation der HD).
Fakt ist: Swing ist langsamer(Begründung s. JBeni) und sieht nicht immer schön aus. Auch kein Problem, nimm SWT von IBM. Dieses benutzt die Systemkoponenten des jeweiligen OS.
Gute Beispiele für die hohe Performance die erreicht werden kann, sind z. B. Application Server von Bea, IBM oder der JBoss. EJB Container dürften gerade für Dich interessant sein.
Das Java auch bei Spielen schnell sein kann zeigt folgender Quake Klon[2].
Java vs C#
Kurze knappe Antwort: Ist geschmacksache.Ich sehe die Vorteile bei Unternehmenslösungen dennoch ganz klar bei Java. Microsoft denkt monopolistisch und ist nur auf Windows fixiert. Java hat u.A. mit Firmen wie Sun, IBM, Oracle, etc. eine mindestens genauso große Macht im Hintergrund. Java ist plattformunabhängig und JREs gibt es für fast alle Architektuen und Java unterstützt offene Standards.
Ein großer dt. Marktführer in diesem Bereich setzt übrigens auch auf Java.
@all: Es kommt in diesem Forum leider mind. einmal pro Woche die Frage, warum Java denn so langsam sei. Was würdet ihr davon halten, meinen Ansatz etwas auszubauen und ein FAQ Eintrag zu diesem Thema zu erstellen?
[1] http://java.sun.com/products/hotspot/docs/whitepaper/Java_Hotspot_v1.4.1/Java_HSpot_WP_v1.4.1_1002_1.html
[2] http://www.bytonic.de/html/jake2.html
-
Anregung für FAQ schrieb:
...Auch kein Problem, nimm SWT von IBM. Dieses benutzt die Systemkoponenten des jeweiligen OS...
Ja, nur leider ist SWT voll auf Windows optimiert. Auf einigen anderen Platformen wird es von Swing ueberholt (bzgl. Geschwindigkeit).
Was ich auchschon von Leuten gehoert habe die SWT benutzen: es sei komplizierter als Swing, und auch weniger dynamisch (im Sinne von "Komoponenten neu zusammenstecken"). Da ich noch nicht soviel Erfahrung mit SWT habe (von der Programmiererseite), kann ich das weder bestaetigen, noch widerlegen.
-
JBeni schrieb:
Was ich auchschon von Leuten gehoert habe die SWT benutzen: es sei komplizierter als Swing, und auch weniger dynamisch (im Sinne von "Komoponenten neu zusammenstecken"). Da ich noch nicht soviel Erfahrung mit SWT habe (von der Programmiererseite), kann ich das weder bestaetigen, noch widerlegen.
Ich musste mich in letzter Zeit etwas mit SWT beschäftigen und kann bestätigen, dass man lieber die Finger davon lassen sollte. Totaler Mist ist das.
-
Es ist von IBM. Muss man noch mehr sagen?
-
Ich würde auch vermuten, dass SWT programmiererseitig unschön ist, nachdem was ich bis jetzt weiß. Allerdings leidet Swing an Problemen, die niemals behoben sein werden. Selbst wenn der FileDialog irgendwann mal vernünftig aussehen sollte, was er im Moment ganz sicher nicht tut, fehlt die komplette Explorer-Funktionalität darin. Und die wird es auch nie geben, außer die bauen den ganzen Windows-Explorer nach. Ich habe das TortoiseSVN-Plugin installiert und das zeigt mir im Explorer den Status der versionierten Dateien an. Ich mache mir keine Hoffnung, das irgendwann in einem Swing-Dialog zu sehen.
Ehrlich gesagt hoffe ich wirklich, dass SWT oder ein anderes Toolkit in Zukunft so benutzbar wird, dass es Swing brauchbar ersetzen kann.
-
Optimizer schrieb:
was er im Moment ganz sicher nicht tut
Igitt, bist du farbenblind? Deine Titelleiste sieht ja stark nach "Wie halte ich mich nachts um halb vier wach?" aus...
Aber lassen wir mal das Aussehen und die Funktionalität bei Seite, dann finde ich, dass Swing im Vergleich zu SWT, AWT und auch den meisten C++ Tookits am besten designed ist und auch am angenehmsten zum Programmieren ist (gtkmm und QT sind in diesem Punkt fast equivalent, bei gtkmm suckt nur die Liste und bei QT der Makro-Signal-Handler). Blöd ist halt die Multithreading Problematik bzw. nicht jeder weiß um dieses Problem.