Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Guten Morgen,

wie ich schon öfters hier geschrieben habe arbeite ich an meiner Bachelorarbeit. Meine VB.net Anwendung steht, jetzt muss die Theorie aufgearbeitet werden.

Mein Prof kam wie das letzte mal mit den UML-Diagrammen zu spät um mir zu sagen das er genau wissen möchte warum ich mich für VB.net entschieden habe.

Ich hab in meiner Arbeit nun geschrieben das VB.net und Java zur Auswahl standen da dies die beiden Sprachen sind die die Programmiererin zumindest in Ansätzen beherrscht.

Wie erkläre ich nun den Unterschied zwischen den beiden in der Anbindung einer Datenbank? Ich finde im Internet einfach nichts nützliches zu dem Thema.

Weiß jemand Vorteile gegenüber Java?

Liebe Grüße

Simone

Geschrieben

ich könnte dir nur allgemeine Sachen sagen.

Java:

Vorteile:

-Plattformunabhängigkeit

-Ist dynamisch, was das Runtime-System angeht. Klassen werden dann gelinkt, wenn sie benötigt werden.

Nachteile:

-die Performance ist verringert, da Java-Code vom Interpreter (der die Plattformunabhängigkeit erst möglich macht) interpretiert wird.

-Java ist eine Sprache die von Version zu Version an Funktionalität zunimmt. Der Nachteil ist, das von einer Version auf die nächste nicht nur neue Funktionen hinzukamen sondern auch schon bestehende Elemente erweitert wurden. So kann es passieren, daß ein unter Java2.0 entwickeltes Programm, unter Java1.1 nicht läuft, obwohl der Programmierer nur Funktionen aus Java1.1 eingesetzt hat.

.NET:

Vorteile:

-Unterstützung gemischtsprachiger Programmierung (durch IL Code)

-Maschinennahe Programmierung möglich

Nachteile:

fallen mir grad nichts fundamentales ein must du googlen ;)

lg

simon

Geschrieben

Danke für eure Antworten.

Das klingt doch schon mal klasse, die Idee in beiden einen Datenbankanbindungstest zu machen finde ich toll. Das werde ich sofort machen und dann auswerten, da ist dann noch das gewünschte "selbstständige Auswerten" und so Wissenschaftliches Bla bla drin :)

Geschrieben

Also irgendwie sind das Begründungen auf sehr niedrigem Niveau. Wenn schon Vor- und Nachteile, dann auch bitte richtig.

Java [...] Nachteile: die Performance ist verringert, da Java-Code vom Interpreter (der die Plattformunabhängigkeit erst möglich macht) interpretiert wird.
a) Eine pauschale Aussage wie Bytecode ist langsamer als vorkompilierter Code ist falsch. Es gibt Szenarien, in denen das der Fall ist, genauso wie es Szenarien gibt, wo Bytecode deutlich (!) schneller ist.

B) auch .NET Code wird nicht direkt nativ kompiliert, sondern ebenfalls in Bytecode umgewandelt (Stichtwort: Common Intermediate Language). Der Punkt ist also weder ein Plus- noch ein Minuspunkt für eine der beiden verglichenen Technologien.

Java ist eine Sprache die von Version zu Version an Funktionalität zunimmt. Der Nachteil ist, das von einer Version auf die nächste nicht nur neue Funktionen hinzukamen sondern auch schon bestehende Elemente erweitert wurden.
Das gilt nicht nur für Java sondern für so ziemlich jede Programmiersprache (.NET included). Versuch mal ein .NET 3.0 optimiertes Programmm unter 1.1 auszuführen - viel Spaß.

Vielleicht solltest du dich zunächst mal genauer mit den Technologien beschäftigen, bevor du solche gewagte Thesen aufstellst.

Geschrieben

Meiner Meinung nach ist .Net code meistens schneller als gleichwertiger Java code. Kommt aber wie gesagt auf die Anwendung an.

.Net und Java kompilieren beide zu Bytecode, aber .Net hat den Vorteil, dass man sich den Dialekt den man schreibt (c#, vb, boo ...) aussuchen kann.

Klarer Vorteil von Java ist die Plattformvielfalt. Für .Net gibts zwar Mono aber warum .Net unter Linux programmieren?

Zusätzlich hat .Net (oder besser c#) einige Eigenheiten. Z.b. kann ein Interface hier keine statischen Mitglieder haben (geht in Java)

Geschrieben
Meiner Meinung nach ist .Net code meistens schneller als gleichwertiger Java code. Kommt aber wie gesagt auf die Anwendung an.
Also was denn jetzt? Ist es schneller oder kommt es auf die Anwendung an?

Und wenn es schneller ist kannst du das sicherlich mit Benchmarks belegen und nicht nur als Bauchgefühl vermuten, oder?

Geschrieben
Sehr sehr interessant.

Ja? Dann gucken wir uns das dochmal genauer an:

This guy had trolled the comp.lang.java.programmer and comp.lang.c++ newsgroup for many weeks with pretentious post about the performance comparison of C++ and Java.

The comparison was done in a not scientific way with only purpose of get replies. To get replies he/she send many replies to each message he/she receives. For reach is target he/she changed his/hers email address many times to avoid killfiles.

Geschrieben

wird hier allen ernstes drüber diskutiert welche sprache schneller ist? einmal eine interpreter sprache und einmal eine Multiparadigme Sprache.

ich muss wirklich gestehn ich habe mir den text des links, zwecks der fehlenden zeit nicht durchgelesen, jedoch sprechen die screens von den benchmarks wohl doch sehr für sich, mal davon abgesehn gings dort um c# und java und nicht um c++ soweit ich das jedenfalls gelesen habe. (nicht komplett).

Geschrieben
jedoch sprechen die screens von den benchmarks wohl doch sehr für sich
Tun sie das?

Wie willst du wissen, welche Aussagekraft die hinter den Diagrammen liegenden Tests haben, wenn du dir nichtmal die Zeit nimmst, die Erklärung durchzulesen, die beschreibt, wie die Ergebnisse zustande gekommen sind?

Nur anhand ein paar Excel-Diagrammen zu sagen "Ah ja, ich habe ja immer schon gewusst, dass A zu B führt" halte ich doch für reichlich unsachlich.

Geschrieben

.Net und Java kompilieren beide zu Bytecode, aber .Net hat den Vorteil, dass man sich den Dialekt den man schreibt (c#, vb, boo ...) aussuchen kann.

Auch mit Java kannst du dir die Sprache mit der du den Bytecode Erzeugst aussuchen. z.B. Jruby, Grails, PHP und mehr ...

Geschrieben
ich könnte dir nur allgemeine Sachen sagen.

Java:

Vorteile:

-Plattformunabhängigkeit

-Ist dynamisch, was das Runtime-System angeht. Klassen werden dann gelinkt, wenn sie benötigt werden.

Nachteile:

-die Performance ist verringert, da Java-Code vom Interpreter (der die Plattformunabhängigkeit erst möglich macht) interpretiert wird.

Das ist nicht immer richtig, in einigen Bereichen ist Java schneller als C und C++. Wahr ist das Java einen erhöhten Ressourcenverbrauch hat was Speicher angeht und die Startzeit einer Applikation ist auch meist länger durch den Start der VM. Aber durch HotSpot wird einmal ausgeführter Code nicht jedesmal neu interpretiert.

.NET:

Vorteile:

-Unterstützung gemischtsprachiger Programmierung (durch IL Code)

-Maschinennahe Programmierung möglich

Nachteile:

fallen mir grad nichts fundamentales ein must du googlen ;)

Wie wäre es mit der fehlender Plattformunabhängigkeit ??? :)

Geschrieben

Erlich gesagt ist bei der Frage java oder .net sprache her das persönliche befinden ausschlaggebend.

Wenn du dich mit vb.net wohler fühlst und dadurch produktiver arbeiten kannst, hast du deine Argumentation.

Weil .net ist ja durch mono auch platformunabhängig usw.

Daher Warum hast du dich wirklich für vb entschieden?

Warscheinlich weil du dich damit wohler fühlst? ;)

Geschrieben
Wahr ist das Java einen erhöhten Ressourcenverbrauch hat was Speicher angeht
Um das auf die Ursprungsfrage zu beziehen: Ist mit .net auch nicht anders. Und um es ein wenig weiter zu fassen: Kommt drauf an.

Wenn ich eine große Serveranwendung habe, die ohnehin eine ganze Weile benötigt, bis alles initialisiert ist und in einem lauffähigen ist (oder der Rest der Applikation einfach wahnsinnig schneller ist als in vorkompiliertem Code) fällt die Startup-Zeit für die VM überhaupt nicht mehr ins Gewicht.

Wie wäre es mit der fehlender Plattformunabhängigkeit ?
Naja mono existiert ja, allerdings wäre ich doch sehr vorsichtig, ob ich so etwas in Produktion einsetzen würde. Es sind ja immer zwei Dinge, ob etwas funktioniert, oder ob es so gut funktioniert, dass man auch guten Gewissens einem Kunden gegenüber Fehlerfreiheit garantieren kann.
Geschrieben
Es sind ja immer zwei Dinge, ob etwas funktioniert, oder ob es so gut funktioniert, dass man auch guten Gewissens einem Kunden gegenüber Fehlerfreiheit garantieren kann.

absolute Fehlerfreiheit ist wohl wunschdenken und meist nicht behauptbar.

Geschrieben
absolute Fehlerfreiheit ist wohl wunschdenken und meist nicht behauptbar.
Natürlich werde ich mein Programm nie absolut fehlerfrei bekommen. Darum geht es auch nicht. Böse Zungen würden behaupten, das sei auch gar nicht das Ziel - wofür bräuchte ich schließlich sonst umfangreiche (und teilweise nicht unbedingt billige) Supportveträge. Ich kann allerdings potentielle Fehlerquellen und problematische Komponenten von vorneherein minimieren - und darum geht es ja.
Geschrieben

Also derzeit arbeite ich hauptsächlich mit C#, die Entwicklungsumgebung bleibt aber die gleiche und ich muß sagen VS.Net sagt mir deutlich mehr zu als Java mit z.B Eclipse.

Dies stellt für mich bei der Wahl der Sprache schon ein Kriterium dar. Immerhin schlägt man sich mit der Umgebung wärend der ganzen Entwicklungsphase rum und wird durch das VS gut unterstützt und abgesehen von bedingten Breakpoints auf das ändern von Werten erfüllt auch der Debugger alles was ich bisher brauchte.

Ansonsten zum Thema Unterschiede bei der arbeit mit Datenbanken. Stichwort LINQ hat Java etwas ähnliches?

Geschrieben
derzeit arbeite ich hauptsächlich mit C#, die Entwicklungsumgebung [...] sagt mir deutlich mehr zu als Java mit z.B Eclipse.
Das ist ja immer eine sehr persönliche Wahl. Ich hätte den Satz genau andersherum gesagt ;-) Aber auch im Java Bereich gibt es ja Grabenkämpfe, ob man nun Netbeans oder Eclipse verwenden sollte. Da muss jeder mit seiner eigenen Wahl glücklich werden.

Dies stellt für mich bei der Wahl der Sprache schon ein Kriterium dar.
Ist es sicherlich auch. Wenn ich nicht das notwendige Toolset "drumherum" habe ist die eigentliche Arbeit deutlich unproduktiver und damit deutlich unangenehmer.

Stichwort LINQ hat Java etwas ähnliches?
Mehr oder weniger direkt:

Language Integrated Query - Wikipedia, the free encyclopedia

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...