Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
C# vs Java: Vor- und Nachteile
marco.b
myCSharp.de - Member



Dabei seit:
Beiträge: 303

beantworten | zitieren | melden

Eclipse verfolgt eine komplett andere Philosophie bei der Entwicklung, das ist schwer direkt mit VS zu vergleichen. Hier aber mal ein paar Dinge in Eclipse, die mir in Visual Studio leider fehlen (nur soviel zum Thema Microsoft-Erfahrung bezügl. GUIs):

* Etwa das 5-fache an Refactoringmöglichkeiten
* Bei Klick auf Identifier sehe ich markiert die anderen Stellen, an denen er Verwendung findet (wird jetzt erst in VS 2010 umgesetzt, für Eclipse seit Jahren Standard)
* Direktes Anzeigen von Fehlern und Warnungen im Dateibaum des Projekts anhand des Dateiicons
* Markieren von Fehlern beim Editieren. Funkt in VS generell auch, aber wesentlich unstabiler als bei Eclipse. Manche Fehler werden beim Editieren direkt erkannt und markiert, andere erst beim Kompilieren. Manche Fehler die ich behebe, bleiben markiert, bis ich wieder einen Build starte. In Eclipse sehe ich immer die tatsächlichen Fehler. Das Feedback beim Editieren ist genau dasselbe, wie beim Kompilieren.
* Direkte SVN/CVS-Integration und das kostenlos und stabil
* Visual Studio hat immer diese dummen Vereinfachungen drin. wenn ich schon sehe, dass standardmäßig Linq in jedes neue Projekt eingebunden wird, könnt ich den Bildschirm gegen die Wand schmeißen. Oder auch die 4, 5 using-Direktiven, die standardmäßig in jeder neuen Klasse drin sind - klar man kann sich ein Template exportieren. Aber wieso muss ich denn solche Dinge explizit abschalten? Nur weil ein paar Anfänger nicht wissen, wie Verweise einzubinden sind? Mich stört es einfach, wenn Dinge in mein Projekt eingebunden sind, die ich nicht brauche. Das mag Prinzipsache sein, aber für mich ist das wichtig.
* Eclipse hat n besseren Build-In-Support von Buildtoolchains (Ant / Maven)

Um auch mal für VS zu sprechen:
* Der GUI-Editor von VS schlägt jeden anderen um Längen. Netbeans hat zwar eine ganz nette Lösung, die ist aber selbst in der 6.5 ziemlich verbuggt.
* VS fühlt sich - abgesehen vom Codeeditor - besser an. Die Designerunterstützung ist super
* In VS findet man sich schneller zurecht
* Die Auto-Codevervollständigung ist einmalig. So schnell und zackig bieten das weder Eclipse noch Netbeans an.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.999

beantworten | zitieren | melden

Da ist es wieder das Problem mit dem Tellerrand.
Jeder meint, das er den alleinig wichtigen Teilbereich in der SW-Entwicklung vertritt.

Diejenigen die EnterpriseApps schreiben glauben, das das der grössere Markt und
damit der wichtigere ist, und die Desktop Entwickler glauben das gleiche.
Wobei die Enterpriseentwickler immer meinen von Obenherab schauen zu müssen.

Tatsache ist, das beide Bereiche gross sind, aber zumindest in den letzten 10
Jahren hat der Desktop Markt weitaus mehr zugenommen als der Enterprisemarkt,
da eben durch .NET und CO auch der kleine Handwerker jetzt erschwingliche
spezial Software bekommen kann.
Weshalb macht denn SAP so einen Bohai um den kleinen Mittelstand?

Der Enterprisemarkt wird derzeit durch BI aufgebläht, wobei sich zeigen wird, ob
das dann auch etwas bringt.
private Nachricht | Beiträge des Benutzers
mabo
myCSharp.de - Member



Dabei seit:
Beiträge: 334

beantworten | zitieren | melden

Hallo zusammen,

eine interessante Diskussion hier :)
Ich arbeite sowohl an Projekte in .NET als auch in Java und muss sagen, dass ich persönlich lieber an den .NET-Projekten arbeite.

Was ich bei Java schmerzlich vermisse sind Delegates, call by reference und echte Enums. Auch die Unterstützung für Generics ist wegen der Abwärtskompatibilität umständlich zu handhaben. Und die Java API Dokumentation ist ein Grauß. Man muss Glück haben wenn man Beispielcode finden will.

Die IDE Ecplipse bietet ein fast unüberschaubares Maß an Funkionen, von denen manche nützlich sind und manche eben nicht. Ausserdem stürzt es mir öfter ab als VS, und durch die vielen benötigen Plugins ist es oft sehr träge.

Warum Java im Enterprise-Bereich so gut etabliert ist liegt aber meiner Meinung nach vor allem daran, dass sich Windows zu spät als Betriebssystem für Server durchgesetzt hat. Und wenn man keinen Windows-Server hat bleiben nicht viele (moderne) Alternativen zu Java.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mabo am .
private Nachricht | Beiträge des Benutzers
robmir
myCSharp.de - Member



Dabei seit:
Beiträge: 155

Themenstarter:

beantworten | zitieren | melden

@mabo: ich bin mit 100% einverstanden.
private Nachricht | Beiträge des Benutzers
nullbit
myCSharp.de - Member



Dabei seit:
Beiträge: 4

beantworten | zitieren | melden

Zitat von JuyJuka

IDE
Die .Net IDE's sind im vergleich zu den Java-IDE's viel Angenehmer. Hier merkt man einfach Microsoft's Erfahrung (Okey, selbst #Develope finde ich besser als einige der Java-IDE's). [offtopic]Eclipse war der reine Horror für mich.[/offtopic]

Zum Thema IDE das wird wohl einfach Geschmackssache bleiben, sofern man die freie Wahl hat. Jede hat seine Vorteile, z.B bin ich zur Zeit gezwungen ein Java-Projekt in Eclipse zu machen ( ich mags echt nich ) weil es im Vergleich zu Netbeans sinnvoll AspectJ integriert, und in der Architektur halt eben auf Aspekte gesetzt wird. Andererseits hab ich mich gestern geärgert als ich in VS 2008 eine Klasse geschrieben hab und Felder angelegt. Es ist nich möglich sich für alle Felder automatisch Properties generieren zu lassen, sondern nur für jedes einzeln. In Netbeans standardmäßig kein Problem. Aber im groben würde ich sagen, das sind Nuancen.

Zum Thema GUIs, meine Meinung ist das Swing durch JavaFX abgelöst wird. Eine GUI deklarativ zu beschreiben ist wohl einfach der natürlichere Ansatz, wie ja auch mit WPF. Außerdem existieren hierbereits Tools für Photoshop und Illustrator. Man muss einfach auch sehen, dass diese Technik sehr neu ist. Wenn das passiert ist seh ich auch keine großen Unterschiede mehr zwischen Java und C#

Zum Thema VM, die JVM ist einfach älter, und die Abwärtskompabilität ist durchaus ein Problem. So ist es durchaus nervig dass, Generics nur auf Sprachebene vorhanden sind, aber keinen wirklichen Typ darstellen. Hier durchaus ein Pluspunkt für .NET bei denen das Typsstem ja "extern" ist. Hier hat meiner Meinung nach Microsoft den "Vorteil", dass es nachziehen kann und eine saubere Architektur vorweisen kann. Nichtsdestotrotz die JVM gibts quasi für jede Plattform und das was sie tut, tut sie mittlerweile extrem performant für ne VM. Sehe jetzt hier auch keinen Gewinner.

Zum Thema Enterprise, hier ist es natürlich eher ein Vorteil für Java schon länger dabei zu sein und auch auf "echten" Server-OS zu laufen. Hier würde ich zur Zeit ausschließlich auf J2EE setzen.

Zum Thema Sprache selber, gehe ich davon aus dass es in Zukunft eher Richtung Multiparadigmensprache gehen wird, da funktionale Ansätze im Kommen zu sein scheinen. Also eher Java mit Closures (hoffentlich schon in Version 7) oder Scala, oder F# und C#-Mischung. Aber das dürfte eine rein persönliche (eher universitäre und nicht aus der praxis kommende) Meinung sein
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

1. ich muss sagen das noch recht viele unwahrheiten im umlauf sind.
2. ich muss sagen das negatives durch unwissen verbreitet wird (aber das ist überall so und eigendlich normal)

daher will ich mal ein paar dinge in die runde werfen (das wird ein längerer post...)
Zitat von marco.b
* Direkte SVN/CVS-Integration und das kostenlos und stabil
dafür gibt es auch für vs kostenlose plugins.
Zitat von marco.b
Visual Studio hat immer diese dummen Vereinfachungen drin. wenn ich schon sehe, dass standardmäßig Linq in jedes neue Projekt eingebunden wird, könnt ich den Bildschirm gegen die Wand schmeißen. Oder auch die 4, 5 using-Direktiven, die standardmäßig in jeder neuen Klasse drin sind - klar man kann sich ein Template exportieren. Aber wieso muss ich denn solche Dinge explizit abschalten? Nur weil ein paar Anfänger nicht wissen, wie Verweise einzubinden sind? Mich stört es einfach, wenn Dinge in mein Projekt eingebunden sind, die ich nicht brauche. Das mag Prinzipsache sein, aber für mich ist das wichtig.
Zitat
Ich habe mal eine Datei mit über 13000000 Nummern auslesen müssen und überprüfen, ob alle Nummern eindeutig sind. Das habe ich mit Hashtable gelöst. Einmal habe ich die Nummern unter C# in die Dictionary geladet und dann habe ich das gleiche mit Java versucht, rate wer war performanter.

wenn du die templates nciht benutzen willst, dann erstelle doch einfach ein leeres projekt... wo liegt da das problem? oder erstelle dein eigenes template das voll und ganz deinen wünschen entspricht. dieses argument ist ziemlich schwammig...

Zitat von marco.b
* Etwa das 5-fache an Refactoringmöglichkeiten
* Bei Klick auf Identifier sehe ich markiert die anderen Stellen, an denen er Verwendung findet (wird jetzt erst in VS 2010 umgesetzt, für Eclipse seit Jahren Standard)
* Direktes Anzeigen von Fehlern und Warnungen im Dateibaum des Projekts anhand des Dateiicons
* Markieren von Fehlern beim Editieren. Funkt in VS generell auch, aber wesentlich unstabiler als bei Eclipse. Manche Fehler werden beim Editieren direkt erkannt und markiert, andere erst beim Kompilieren. Manche Fehler die ich behebe, bleiben markiert, bis ich wieder einen Build starte. In Eclipse sehe ich immer die tatsächlichen Fehler. Das Feedback beim Editieren ist genau dasselbe, wie beim Kompilieren.

diese funktionen bietet resharper & co auch. gut es kostet was aber eclipse hatte diese funktionen auch nciht von anfang an und microsoft bessert mit jeder version nach...


@ disskusion um großprojekte:

das bereits gennante step7 projekt mit seinen 100 mitarbeitern gehört eigendlich zum großprojekt TIA von siemens. da kommt also noch das komplette HWCN, HMI, SIMOTION und und und hinzu. alles im allem sind das weltweit über 1000 entwicker die daran arbeiten. 95% davon ist c# .net 2.5 SP1. Verteilt ist das projekt unter mehreren standorten in deutschland, ungarn, china, indien, usa und schweden(oder finnnland? ich habs ehrlichgesagt vergessen.... sagen wir einfach skandinavien).
wir haben insgesamt jetzt bereits über 10 millionen c# LOC (ich weiß das weil ich einer der wenigen bin, der auf fast alle sourcen zumindest lesenden zugriff haben)

ich denke das dürfte als großprojekt durchgehen.


@ diskussion um server und rechenzentren:
stark vertreten ist momentan ASP.NET. ich war mal bei einem projekt, da haben wir für einen namenhaften, großen automobilhersteller eine werkssteuerung mit MES unterbau gemacht, wobei dir komplette bedienung auf ASP.NET basiert hat. das war ein ziemlich großer cluster für den webserver und die webservices (alle in .net) und das MES system.

bei siemens selbst ist in derern rechenzentren eine starke ms präsenz zu finden. Viele admintools werden daher auch in c# geschrieben, da hier die anbindung sehr komfortabel und schnell umzusetzen ist.
Zitat von robmir
tja, schau aber die Beispiele was ich aufgelistet habe, das sind alles riesige Projekte und die basieren auch auf Client-Server-Modell aber wie gesagt alles unter Windows.
Ich habe mal eine Datei mit über 13000000 Nummern auslesen müssen und überprüfen, ob alle Nummern eindeutig sind. Das habe ich mit Hashtable gelöst. Einmal habe ich die Nummern unter C# in die Dictionary geladet und dann habe ich das gleiche mit Java versucht, rate wer war performanter.

sehr plumper vergleich... genauso plump wie die allermeisten direkten .net vs java vergleiche im internet... unabhängig davon wer da gerade die nase vorne hatte.


@allgemiene diskussion:

im forum hatten wir dieses thema schon des öfteren und das fazit war immer das gleiche: beide haben ihre daseinsberechtigung und werde auch in zukunft nebeneinander existieren.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal am .
robmir
myCSharp.de - Member



Dabei seit:
Beiträge: 155

Themenstarter:

beantworten | zitieren | melden

Zitat von JAck30lena
sehr plumper vergleich... genauso plump wie die allermeisten direkten .net vs java vergleiche im internet... unabhängig davon wer da gerade die nase vorne hatte.
ja da hast Du recht, ich habe ein dummes Beispiel gepostet. Aber immer hin, bei der Performance Messung muss man mit irgendwelchen Indikatoren arbeiten. Am anfang wollte ich das Problem mit Java lösen aber es hat nicht geklappt dann habe ich deswegen VS 2005 runtergeladet und erst dann gelöst. Das gleiche Problem habe ich mal mit Delphi gehabt. Delphi hat standardmäßig keine HashTable implementierung und da habe ich eine Open-Source Impl. eingesetzt. Trotzdem war Hashtable von C# um Fakto 5 schneller als Hashtable (klar, nicht original von Borland) von Delphi, wobei Delphi native code erzeugt. Das sind Sachen, die auch bei der Entwicklung eine Rolle spielen. Damit möchte ich sagen, dass Microsoft impl. von Hashtable (Dictionary..) clever gelöst hat
Zitat von JAck30lena
im forum hatten wir dieses thema schon des öfteren und das fazit war immer das gleiche: beide haben ihre daseinsberechtigung und werde auch in zukunft nebeneinander existieren.
Dass die beide ihre daseinsberechtigung haben ist mir schon klar, ich wollte eigentlich fragen, wo die Stärken von Java bzw. C# liegen oder anders ausgedrückt wo und für was werden die Sprachen eingesetzt z.B. C# für GUI und Windows-Anwendungen, weil...., Java für Enterprise bereich, weil....


Grüße
private Nachricht | Beiträge des Benutzers
GarlandGreene
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Emmerich, NRW

beantworten | zitieren | melden

.net/c# und Java sind direkte Konkurrenten. Man kan beide für so ziemlich dieselben Zwecke einsetzen und beide haben da jeweils auch ähnliche Fähigkeiten. .net ist neuer und entwickelt sich momentan deutlich rasanter, Java hat dafür eine deutlich ältere und erfahrenere Community. Kann man auch daran erkennen, daß viele erfolgreiche, über Jahre gereifte Projekte aus der Java-Welt in die .Net-Welt portiert worden sind. Wenn ich mir anschaue, welche zusätzlichen Libraries ich neben dem .net-Framework nutze, sind das fast ausschließlich portierte Java-Projekte (NHibernate, Spring.net, Log4net). Das funktioniert momentan ganz gut, weil auf Java-Seite so viel Zeit und Arbeit in gut funktionierende Konzepte gesteckt wurde. Ich seh auf .net-Seite bisher nicht so viele nichtkommerzielle Ansätze mit ähnlicher Qualität und bin gespannt, wie sich das weiterentwickeln wird.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.999

beantworten | zitieren | melden

Naja, wenn Du mal auf Codeplex schaust, oder doe ALT.NET anschaust,
wirst Du feststellen, das .NET auch sehr viele eigenständige Projekte hat.

Gerade seit FW 3.5 mit Lambda und co gibt es so viele beuerungen, die es mit Java nicht gibt...
private Nachricht | Beiträge des Benutzers
robmir
myCSharp.de - Member



Dabei seit:
Beiträge: 155

Themenstarter:

beantworten | zitieren | melden

ich frage mich auch warum Sun (also Java) Konzepte wie z.B. delegates nicht eingeführt bzw. nicht einführen möchte. Lambda, WPF...und andere Neuerungen da ist Microsoft doch schneller.
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 456
Herkunft: Bamberg

beantworten | zitieren | melden

Ich kann auch mal meinen Senf dazugeben.

Ich habe über drei Jahre Java programmiert (vorher mit C/C++) angefangen. Hier natürlich die ganze Schiene (JSP, Struts, Tomcat, EJB, Eclipse, Ant usw.). Dann hatte ich zu einer Unternehmung gewechselt, die mittels C# und .NET entwickelt. Ich hatte mich schon teilweise total lausig gefühlt, weil ich auf diese, in der "Java-Welt" verpönte Umgebung umgestiegen bin, bzw. auch musste, es gab halt in dem Ort kein anderes Stellenangebot.

Ich dachte aber auch, da ich ja jahrelang mit Open-Source-Tools gearbeitet hatte, dass vieles jetzt ganz anders wird, denn man kann ja erwarten, so dachte ich jedenfalls, dass die kommerziellen Angebote wesentlich besser sind, als die frei entwickelten, da man ja dafür bezahlen muss.

Die Sprache C# habe ich mir sehr schnell angeeignet, ich habe sehr sehr schnell gemerkt, dass C# als Antwort zu Java entwickelt wurde. Ich würde einfach mal behaupten, dass C# 95 Prozent Java abdeckt. Sehr gut fand ich Indexter, Delegates, und Eventhandling, sonst war ja alles identisch. Mit out und in kann ich nix anfangen, ist imo kein schöner Programmierstil. Sicher gibt es noch ein paar mehr Sachen, die fallen mir aber jetzt gerade nicht ein.

Leider musste ich mich noch mit 1.1 begnügen. Hier ging es dann schon los. Es gab z.B. keine Generics, die es aber in Java schon länger gab. Un die Entwicklungsumgebung 1.1, na, wie soll ich da jetzt sagen, war einfach lausig.

.NET 2.0 war schon ein Megaschritt und kam dann auch wieder etwas an Eclipse ran. Ich muss wirklich sagen, dass ich anfangs total enttäuscht von der IDE war. Ich hatte wirklich gedacht, dass man für Geld mehr bekommt als für das kostenlose Eclipse und was war, Pustekuchen. Der absolute Hammer war auch noch 1.1, da bin ich öfters an die Decke gegangen in der Arbeit. Das ist wie ein Arzt, der jahrelang mit den besten Werkzeugen arbeitet und dann nur noch einen Hammer und eine Schere in der Hand hat.

Mitlerweile habe ich mich daran gewöhnt. Es gibt auch viele kostenlose Plug-Ins für die IDE (z.B. Koda ect.), so dass ich jetzt mitlerweile ganz gut damit arbeiten kann.

Vorteilhaft finde ich auch, dass sehr viele Tools aus der Java-Welt nach C# portiert wurde, um nur mal einige zu nennen: NAnt, NHibernate, NDoc, NUnit und noch viele mehr.

Ich würde nie mehr in Java programmieren, wenn ich weiß, dass das Programm auf einer Windows-Umgebung laufen soll. Auch finde ich es angenehmer in C# zu programmieren als in Java. Die GUI-Entwicklung in .NET ist der absolute Hammer, verglichen mit Java, hier teilweise hardgecoded Swing-Anwendungen programmiert. Jemand, der Jahre lang z.B. mit Struts oder JSF gearbeitet hat und dann mit ASP.NET entwickelt muss dieses Framework einfach nur toll finden. Nix geht schneller. Was meint ihr, wie lange ich immer gebraucht habe, um Struts + Tomcat + Servlet aufzusetzen und dann was zum laufen zu bringen. In ASP.NET einmal Control reingezogen - fertig. Neben den Webanwendungen sind natürlich auch die GUI-Anwendungen mittels WPF und Windows-Forms der Hammer, unschlagbar.

Was ich aber immer noch vermisse, ist Eclipse. Manchmal, wenn ich gewisse Aktionen in VS durchführen möchte, z.B. Add Reference, dann weiss ich, dass ich mal schnell surfen kann. In der Arbeit sagen wir dann immer, ich habe jetzt die Microsoft-Methode ImRightBack aufgerufen. Das ist total nervig, weil dann einfach eine Zeit lang nix mehr geht. Bei Eclipse war es so, dass es eher länger gebraucht hat um zu starten, jedoch nach dem starten ist das Teil gelaufen (wenn nicht vollgepackt mit irgendswelchen PlugIns).

Fazit. Ich werde weiterhin hauptsächlich mittels C# entwickeln und bin super zufrieden damit - trotzdem fehlt mir, nach nun annähernd zwei Jahren C#-Entwicklungszeit, immer noch sehr Eclipse. Es ist so, wie ich im Web mal gelesen habe ...

Visual Studio is a great tool ... but Eclipse is in another league!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mosspower am .
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3.003
Herkunft: Thüringen

beantworten | zitieren | melden

Zitat von mosspower
Leider musste ich mich noch mit 1.1 begnügen. Hier ging es dann schon los. Es gab z.B. keine Generics, die es aber in Java schon länger gab.
Java kennt keine Generics. Ich rede von der Runtime, nicht der Sprache. In dem Sinn hat Java (die Sprache) etwas, das dem Programmierer vorgaukelt, es gäbe Generics - das hatte es wirklich schon lange, bevor .NET (also die Runtime) Generics bekam.

http://www.jroller.com/scolebourne/entry/generics_bashing_your_head_against

Ich greife es nur auf, weil's genau einer der Mythen ist, die über Java/.NET verbreitet werden: dass Java es "zuerst" hatte und .NET das Konzept nur übernommen hätte. Tatsächlich ist es aber genau ein Beispiel für jene Stellen, an denen .NET technologisch tatsächlich überlegen ist. Nutzt aber nichts - da geb ich dir recht - wenn die Entwicklertools (in den Augen vieler Entwickler) nicht mithalten können. Zudem sind Entwickler oft erstaunlich unflexibel, so dass der Umstieg auf Java oder .NET immer irgendwie erzwungen werden muss. Vorher wird sich zurückgelehnt und nach Herzenslaune FUD verbreitet. Wenn man die Technologie verbreiten will, muss man aber bei den Entwicklern ansetzen - ein Grund, wieso Monkeyboy Ballmer auf Bühnen herumtanzt und "Developers" skandiert .

Gruß,

LaTino
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
private Nachricht | Beiträge des Benutzers
LaTino
myCSharp.de - Experte

Avatar #avatar-4122.png


Dabei seit:
Beiträge: 3.003
Herkunft: Thüringen

beantworten | zitieren | melden

Nachtrag dazu: O'Reilly haben gerade ihre regelmäßige Analyse des Programmiersprachen-Buchmarktes veröffentlicht. Inwieweit das irgendeine Aussage über Verbreitung und Entwicklung einer Sprache gibt, soll jeder selber für sich bestimmen.

http://radar.oreilly.com/2009/02/state-of-the-computer-book-mar-22.html

LaTino
Ich find die BusinessObjects-Treemaps einfach nur genial...schade, dass nur die feststehenden Grafiken veröffentlicht sind :D
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)
private Nachricht | Beiträge des Benutzers
GarlandGreene
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Emmerich, NRW

beantworten | zitieren | melden

Zitat von FZelle
Naja, wenn Du mal auf Codeplex schaust, oder doe ALT.NET anschaust,
wirst Du feststellen, das .NET auch sehr viele eigenständige Projekte hat.

Gerade seit FW 3.5 mit Lambda und co gibt es so viele beuerungen, die es mit Java nicht gibt...

das ist aber alles noch SEHR jung. In den Java-Ports stecken ja neben Mannjahrzehnten Entwicklungszeit auch mehrere Jahre Erfahrung im produktiven Betrieb. Die Frage ist ja, wie viele dieser Projekte in einem Jahr (und in zweien, dreien) noch weiterentwickelt werden.
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

Zitat
das ist aber alles noch SEHR jung.

.net ist auch sehr jung. erst ab .net 2.0 ist etwas vernünftiges entstanden und das wird zunehmend bemerkt.

edit: und genau das ist der eignedliche hauptvorteil. es arbeiten im prinzip die selben leute an den .net projekten, die auch an den java-projekten gearbeitet waren. nur können die .net projekte ohne altlasten neuentwickelt werden.

oft denke ich mir auch, das man für die eine oder andere software komplett von vorne anfangen sollte und diese gelegenheit bekommt man mit .net.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal am .
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.999

beantworten | zitieren | melden

@GarlandGreene:
Und?
Wenn alle Leute immer so herangehen würden, würden wir immernoch im
Lendenschurz um ein Feuer laufen, weil sich das ja in den letzten tausend Jahren so bewährt hat.

Auch gäbe es dann weder Java noch z.b. Hibernate.

Es ist sicherlich richtig, das z.b. Castle deutlich mehr installationen hat, als z.b.
LinFu, aber das ändert nichts an der Tatsache, das LinFu deutlich leistungsfähiger ist.
Was sich schon dadurch bemerkbar ist, das es zum std. Proxy bei NHibernate geworden ist.

Genauso ist es bei ORMappern und allen anderen Sachen.
private Nachricht | Beiträge des Benutzers
sl3dg3hamm3r
myCSharp.de - Member

Avatar #avatar-2835.jpeg


Dabei seit:
Beiträge: 119
Herkunft: Lenzburg (CH)

beantworten | zitieren | melden

Bei .NET frage ich mich zuweilen allerdings, wo nun der Ersatz/Nachfolger der COM+ Technologie steckt? ... Ich denke das ist zur Zeit das grösste Versäumnis.
private Nachricht | Beiträge des Benutzers
GarlandGreene
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Emmerich, NRW

beantworten | zitieren | melden

Zitat von FZelle
@GarlandGreene:
Und?
Wenn alle Leute immer so herangehen würden, würden wir immernoch im
Lendenschurz um ein Feuer laufen, weil sich das ja in den letzten tausend Jahren so bewährt hat. [...]

Ich glaube, hier wird etwas als Kritik ausgelegt, was keine war.

Ich meine nur, daß man momentan, eben weil .Net noch so jung ist, noch nicht abschätzen kann, wo die Reise hin geht. Kommerzielle Erweiterungen gibt es schon lange und wird es weiterhin zuhauf geben, aber im Java-Umfeld sind in der Vergangenheit einige interessante Projekte gerade im nichtkommerziellen Umfeld entstanden (von denen ja viele zu .net portiert worden sind), die über viele Jahre hinweg aktiv weiterentwickelt worden sind. Und DAS muss sich im .Net-Umfeld erst noch entwickeln. Mehr hab ich gar nicht gesagt.
private Nachricht | Beiträge des Benutzers
DiscMaster
myCSharp.de - Member

Avatar #avatar-2602.jpg


Dabei seit:
Beiträge: 316

beantworten | zitieren | melden

Na, ich hab jetzt nicht so richtig konzentriert gelesen, aber einen Punkt meine ich zu vermissen: Die LayoutManager.

Die gingen mir als Anfänger zunächst tierisch auf die Nerven, aber gerade das GridBagLayout mit seinen Constraints macht richtig viel Freude wenn man es erstmal beherrscht. Ansonsten macht mir Java auch deutlich weniger Spaß als C# wegen dem EventHandling, Delegates, Properties und alledem. Aber das Malemalemachen ist bei Java doch etwas schöner gelöst finde ich. Ich spiele da auf die Shapes und vorallem die Positionierung mit gebrochenen Zahlen an und natürlich auf die AffineTransform. Für letzteres vermisse ich ein Pendant in C# ganz dolle, wäre dankbar für einen Hinweis, gleiches gilt auch für die LayoutManager - dann würde ich sofort wieder auf C# umsteigen.....

DiscMaster
"Flache Hierarchien schaffen! Das muss konkret nicht unbedingt etwas bedeuten, kommt aber immer sehr gut an."
Bernd Stromberg
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo DiscMaster,

in C# es gibt eine LayoutEngine-Klasse, mit der man eigene Layout-Manager implementieren kann, sowie das TableLayoutPanel und das FlowLayoutPanel als fertige Layout-Manager.

herbivore
private Nachricht | Beiträge des Benutzers
SeeQuark
myCSharp.de - Member

Avatar #avatar-2825.jpg


Dabei seit:
Beiträge: 946

beantworten | zitieren | melden

Mit WPF hast du imho viel ausgereiftere Layout-Panels (DockPanel, Grid, (Virtualizing-)StackPanel, UniformGrid, etc) als WinForms. Obwohl man mit diesen auch das meiste machen kannst.
Ausserdem wird da alles in logischen Einheiten (double) angegeben, und es ist alles vektororientiert. Du kannst also zoomen bis zum geht nicht mehr.
Shapes existieren auch.
Wenn man WPF erst einmal kennen gelernt hast, will man es nicht mehr missen.

Übrigens sprichst du jetzt vom Framework und nicht der Sprache an sich, die eig. völlig unabhängig von .NET definiert ist.

mfg
SeeQuark
private Nachricht | Beiträge des Benutzers
sth_Weird
myCSharp.de - Member



Dabei seit:
Beiträge: 469
Herkunft: BaWü

beantworten | zitieren | melden

ich muss auf Arbeit sowohl C# (noch VS2005) als auch Java (Eclipse, Plugin-Programmierung) programmieren (erste Programmiersprache war vor ca 10 Jahren VB).
Java habe ich in der Schule und im Studium kennen gelernt und war auch sehr begeistert davon, war sogar enttäuscht als ich auf Arbeit die Diplomarbeit in C# schreiben sollte. Aber ich war sehr positiv überrascht weil vieles einfach viel leichter von Hand ging. Besonders die GUI-Entwicklung, damals war ich Eclipse gewöhnt (oh Schreck lass nach was GUI getrifft) und JBuilder (VS ist auch hier überlegen finde ich).
C# programmiere ich mittlerweile viel lieber, am liebsten würde ich alles in C# machen, leider geht das bei Eclipse Plugin Entwicklung nicht :-/
Aber ich finde nicht dass es hier einen Gewinner gibt. Ich glaube einfach dass die beiden Sprachen unterschiedliche Stärken und Schwächen in verschiedenen Bereichen haben. Das muss man einfach mal so sagen.
ein bissl hat C# für mich in den letzten Jahren verloren, da die ganzen neuen Technologien mich etwas skeptisch machen, WPF, XAML, Silverlight, irgendwie kommt es einem ein bissl vor wie ne Spielwiese, ob und was sich in Zukunft etablieren wird und was nicht ist noch ungewiss. Java wirkt da etwas "seriöser".
Meine erste Wahl ist trotzdem C#, für mein Einsatzgebiet (GUI, XML, Datenbanken, auch mal hin und wieder Kommuikation mit Hardaware etc) hat Java einfach kein Ass im Ärmel.

gruß
sth_Weird
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von sth_Weird am .
~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+
Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht
* * *
Linux is for free...if your time is worth nothing
~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+
private Nachricht | Beiträge des Benutzers
schlotty
myCSharp.de - Member



Dabei seit:
Beiträge: 1

beantworten | zitieren | melden

Hi,
sorry, dass ich diesen alten Thread nochmal hochhole, aber ich muss zu diesem Thema eine Arbeit für die Schule erstellen. Der Fokus liegt auf dem Vergleich von .NET und Java. Ich soll zu einem Ergebnis kommen, welche Sprache besser ist (produktiver, bugfreier).
Leider findet man diese Frage nicht in der MSDN beantwortet ;-) Kann daher bitte nochmal einer mit Praxiserfahrung ein klares Statement abgeben, welche Sprache besser geeignet ist?
private Nachricht | Beiträge des Benutzers
m0rius
myCSharp.de - Member

Avatar #avatar-3125.png


Dabei seit:
Beiträge: 1.002

beantworten | zitieren | melden

Hallo schlotty,
Zitat von schlotty
Kann daher bitte nochmal einer mit Praxiserfahrung ein klares Statement abgeben, welche Sprache besser geeignet ist?
... ist ein Hammer besser oder eine Säge?
Das kannst du so nicht sagen! Passend ist hier das Motto "The right tool for the right matter!" ...

m0rius
Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 6.862
Herkunft: Esslingen

beantworten | zitieren | melden

Zitat von schlotty
... welche Sprache besser ist (produktiver, bugfreier)...

m0rius hats ja schon auf den Punkt gebracht. Es kommt drauf an was du machen willst, bzw. welche Anwendungsgebiete du in deiner Bewertung betrachten möchtest.

Man kann ohne weiteres für verschiedene Problembereiche sagen ob eine Sprache geeigneter ist als eine andere. Auch die eigenen Vorlieben kann man genau festlegen. Aber pauschal sagen, Sprache x ist besser als Sprache y ist unmöglich weil jeder "besser" anders auslegt.

In diesem Thread wurden ja viele Argumente genannt die du sicherlich einbringen kannst in deine Betrachtungen. Das hier tendenziell mehr C# Entwickler als Java Entwickler sind dürfte dabei aber klar sein :)
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers