Datenbank mit Java oder C#
-
Hallo ich möchte ein Warenwirtschaftsprogram schreiben. Soll ich dafür Java C# oder was anderes nehmen. C# hat ja DBGrid und damit kann man super schnell Datensätze anzeigen. Mit Java ist das nicht so einfach und optimal. Was meint ihr. Wir nicht java zu träge dafür?
-
es liegt normalerweise an der programmierung und nicht an java dass es träge wird. allerdings habe ich mit der kombination java-mysql seht gute erfahrungen gemacht. dbgrid-ähnliche anzeigestrukturen findest du auch bei java. was glaub ich bei c# nicht der fall ist: nimmt man z.b. den einfachen listview so kann man in java jedes objekt reinstecken, das die toString methode unterstützt (darüber wird die anzeige geregelt). wenn du dann wieder auf das selectedItem zugreifst, ist das gleich das objekt selbst. die verschiedenen modifier für die listenansichten tun ihr übriges.
ich empfehle java, ist auch platformunabhängig
-
Wir nicht java zu träge dafür?
Also das würde ich hier nicht schreiben, sonst weckst du die Trolle auf und dann ist der Thread gestorben
Naja da du den Post in die Java-Ecke geschrieben hast wird dir wohl die Mehrheit zu Java raten.
An sich spricht nicht's gegen C#, aber wenn du mal dein Warenwirtschaftsprogram auch auf Linux laufen lassen willst hast du mit .NET pech.Außerdem ist so ein DBGrid auch in Java schnell geschrieben. Also nur wegen einer Komponente auf Java zu verzichten wäre nicht sehr Klug.
-
Ich empfehle C# mit Windows Forms weil du damit viel schneller entwickeln kannst.
-
JK. schrieb:
Ich empfehle C# mit Windows Forms weil du damit viel schneller entwickeln kannst.
Ich empfehle eine SAP Anbindung (man gönnt sich ja sonst nichts)
Dann nehmen wir ABAP, das ist für Tabellenoperationen optimiert!
-
Benutze die Profi-Tools des Weltmarktführers und gut is.
-
Und welche Profi-Tools sind es denn?
-
JK. schrieb:
Ich empfehle C# mit Windows Forms weil du damit viel schneller entwickeln kannst.
Dann empfehle ich Java und JGoodies Forms
-
MrJava schrieb:
Und welche Profi-Tools sind es denn?
Microsoft Visual C# 2005 Express
-
Hat den C# zukunft. Ich habe gehört dass C# noch lange nicht so ausgereift ist wie java. dazu kommt noch dass java viel mehr bibliotheken hat als c# und man sich deshalb c# ersparen soll. die sprache sei überflüssig. Ist denn Java nicht irgendwann zu langsam wenn die GUI zu aufwändig wird. Ich meine der Speicher darf hier bestimmt nicht klein sein oder?
-
C# hat, wie alles was von MS gehypt wird, gute Chancen...
Ernsthaft: mach dir keine Sorgen wegen dem Speicher. Bei Java benötigt die VM so um die 40 MB (deshalb wirken kleine Programme auch so aufgeblasen), der Rest (~700 MB auf modernen PC's) bleibt für deine Applikation.
Geschwindigkeit: Java ist nicht langsamer als andere Sprachen. Lediglich Swing ist manchmal etwas träge. Das liegt vorallem daran, dass Swing wirklich alles selbst zeichnet, ausserdem wird das mit jeder Version besser. Wenn du deine Arbeit in einen eigenen Thread auslagerst (was man immer tun sollte), hast du hier keine Probleme.
-
Danke JBeni,
ich bleibe dann bei Java. Finde ich ehe genial die Syntax. Außerdem bin ich nicht so der MS-Fan.
-
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.