Grundlegende Unterschiede zwischen C# und JAVA ?
-
Melan schrieb:
Java ist Plattformunabhängig und .NET gibts nur für Windows.
(ka obs Tools gibt um .NET auf anderen Systemen zu emulieren)
Wenn du sowieso nur für Windows entwickelst, würde ich eher C# mit .NET empfehlen.es gibt mono
und warum c# vor java, selbst wenn man nur für windows entwickelt?
denn selbst wenn ich nur für windows entwickeln möchte, sehe ich nicht DEN vorteil, so ist z.B. eclipse dem visual studio gnadenlos überlegen
-
golden_jubilee schrieb:
und warum c# vor java, selbst wenn man nur für windows entwickelt?
denn selbst wenn ich nur für windows entwickeln möchte, sehe ich nicht DEN vorteil, so ist z.B. eclipse dem visual studio gnadenlos überlegenaeh... nein.
c# integriert sich besser in windows. zB wenn du services schreiben willst oder spezielle api funktionen verwenden - geht mit java nur umstaendlich. selbiges bei com einbindung.
und dass eclipse vs ueberlegen ist... aeh... ne, ich sehe nicht wo. es ist vielleicht nicht unterlegen - aber welche features fehlen dir in vs?
-
C# im Vergleich zu anderen Sprachen:
-
Shade Of Mine schrieb:
c# integriert sich besser in windows. zB wenn du services schreiben willst oder spezielle api funktionen verwenden - geht mit java nur umstaendlich. selbiges bei com einbindung.
genau deswegen würde ich wenn ich nur unter Windows entwickle C# nehmen.
Außerdem kann es vielleicht sein, dass .NET die Zukunft wird bei der Entwicklung unter Windows und die WinApi und MFC ersetzten bzw. gleichbedeutend wird.
-
http://www.galileocomputing.de/openbook/csharp/kap34.htm schrieb:
Der größte Unterschied besteht darin, dass sich C# oberhalb der.NET-Frameworks und der .NET-Laufzeit befindet und Java den Frameworks und der Laufzeit von Java übergeordnet ist.
Das verstehe ich absolut nicht
C# ist oberhalb von Framework und Laufzeit
Java ist Framework und Laufzeit übergeordnetAbgesehen davon, dass sich diese beiden Sätze für mich nicht groß unterscheiden, wo ist da der "größte Unterschied" zwischen C# und Java?
-
Melan schrieb:
Außerdem kann es vielleicht sein, dass .NET die Zukunft wird bei der Entwicklung unter Windows und die WinApi und MFC ersetzten bzw. gleichbedeutend wird.
Wann kapiert Ihr das endlich das .NET ein Wrapper der WinAPI ist genau wie MFC, QT, wxwidgets oder was es sonst noch so gibt.
Deswegen wird es die WinAPI geben und in naher Zukunft nicht ersetzt werden!
-
Noch nicht genannt, aber imho sehr wichtig:
C# kennt (auch benutzerdefinierte) Werttypen, also solche, die nicht als Referenz verwaltet sondern tatsächlich kopiert werden.
C# kennt call-by-reference, also z.B. die Möglichkeit, das Zielobjekt einer übergebenen Referenz zu wechseln.
C# kennt mit dem using-Schlüsselwort und dem Disposeable-Pattern eine Möglichkeit, RAII ohne try-finally nachzubilden.
-
Wann kapiert Ihr das endlich das .NET ein Wrapper der WinAPI ist genau wie MFC, QT, wxwidgets oder was es sonst noch so gibt.
Deswegen wird es die WinAPI geben und in naher Zukunft nicht ersetzt werden!WPF nicht.
-
besserwisser schrieb:
Wann kapiert Ihr das endlich das .NET ein Wrapper der WinAPI ist genau wie MFC, QT, wxwidgets oder was es sonst noch so gibt.
Deswegen wird es die WinAPI geben und in naher Zukunft nicht ersetzt werden!Falsch.
Ja, noch ist es zum Teil (aber nicht vollständig) ein Wrapper. Aber es ist bereits angedacht, das sich dies in Zukunft ändern wird. Einzelne Aussichten vermitteln schon zwei Projekte von Microsoft wie Singulary und ich glaube Green (oder wie es heißt) die sich völlig von der API verabschiedet haben (Thema Microkernel mit .Net als Aufsatz).
Ich bezweifel das dies bereits in der nächsten oder übernächsten Windowsgeneration entgültig ist, aber ich würde mich da nicht gänzlich festlegen wollen.
-
In der aktuellen c't steht auch darüber was drin
(Singularity und das andere Zeugs)
-
Shade Of Mine schrieb:
golden_jubilee schrieb:
und warum c# vor java, selbst wenn man nur für windows entwickelt?
denn selbst wenn ich nur für windows entwickeln möchte, sehe ich nicht DEN vorteil, so ist z.B. eclipse dem visual studio gnadenlos überlegenaeh... nein.
c# integriert sich besser in windows. zB wenn du services schreiben willst oder spezielle api funktionen verwenden - geht mit java nur umstaendlich. selbiges bei com einbindung.
und dass eclipse vs ueberlegen ist... aeh... ne, ich sehe nicht wo. es ist vielleicht nicht unterlegen - aber welche features fehlen dir in vs?
sei doch mal ehrlich...
1. eclipse importiert die pakete selber im studio schreib ich immer den namespace hin, nachdem ich rausgefunden habe welcher es ist2. mit eclipse kompiliere ich keinen code der nicht syntaktisch falsch ist, sicher im vs werden mir manche sachen auch markiert, aber eben nicht alles, so passiert es das ich code kompiliere und doch einen trivialen tippfehler hatte
3. die vorschläge die eclipse bietet, wenn man etwas falsch macht sind ja der hammer
4. wo werden mir im vs variablen im code markiert, die z.B: nie gelesen werden?
5. warum muss ich beim ersten mal 2 mal die projekteigenschaften aufrufen? - so ein übler bug ist niemanden aufgefallen(ist bei meinen kollegen das selbe)
6. gute kostenlose svn plugins? - nicht für das vs
7. IntelliSense kann gegen eclipse 3.4 einpacken
8. mindestens einmal am tag gibt es ein problem, weil noch temp dateien rumliegen
9. vs ist eindeutig langsamer
vlt benutze ich es ja nur falsch
aber ich bin seit dem studio 2003 dabei- welches ich - ja das muss man mal sagen als original im schrank zu stehen habe
ich möchte nicht rumflamen, schließlich kann jeder seine ide selber wählen
aber wenn man mich fragt, dann schreib ich halt warum es aus meiner sicht die schlechtere ide ist
-
golden_jubilee schrieb:
1. eclipse importiert die pakete selber im studio schreib ich immer den namespace hin, nachdem ich rausgefunden habe welcher es ist
packages != namespace
Weiterhin macht vieles nicht Eclipse, sondern die Reflection von Java! Eclipse schmeisst die JVM an und fragt über Reflection die Eigenschaften ab. Das ist also kein IDE-Feature, sondern es wird von der IDE dem User lediglich visualisiert und interaktiv angeboten. Schmeiss mal Reflection raus aus Java, und die IDE kann dann auch nichts mehr bzw. die Eclipse-Entwickler müssten erstmal einen Parser bauen.golden_jubilee schrieb:
2. mit eclipse kompiliere ich keinen code der nicht syntaktisch falsch ist, sicher im vs werden mir manche sachen auch markiert, aber eben nicht alles, so passiert es das ich code kompiliere und doch einen trivialen tippfehler hatte
Wenn du selber kompilierst, ist das ja dein Verschulden, oder? Eclipse und Co. kompileren immer dann, wenn du STRG+S drückst. In MSVC drückst du halt STRG+F7. Der Effekt ist der gleiche.
golden_jubilee schrieb:
3. die vorschläge die eclipse bietet, wenn man etwas falsch macht sind ja der hammer
Ja, das ist ein sehr gutes Feature. Kann man so nichts gegen sagen. Aber Java ist auch eine Pipifax-Sprache, da sind Fehlerkorrektur-Vorschläge einfacher zu realisieren. Aber wir vergleichen hier wieder zwei verschiedene Sprachen in unterschiedlich großem Komplexität.
Wer Fehlerkorrektur-Vorschläge unter MSVC braucht, gibt den Error-Code in die MSDN-Index ein, und bekommt meistens einen textuellen Vorschlag. Ist zwar nicht automatisch, aber kann man manuell in MSVC lösen. Ist kein Ersatz, aber es ist auch nicht so, das es nichts gibt.
golden_jubilee schrieb:
4. wo werden mir im vs variablen im code markiert, die z.B: nie gelesen werden?
Der Compiler spuckt Warnings aus... doppelklick auf die Warning und der zeigt dir die Stelle an. Klar, kein 100% Ersatz, aber es gibt was.
golden_jubilee schrieb:
5. warum muss ich beim ersten mal 2 mal die projekteigenschaften aufrufen? - so ein übler bug ist niemanden aufgefallen(ist bei meinen kollegen das selbe)
Der Bug ist mir in MSVC2005 nicht bekannt. Habe mal MSVC2003 gehabt, aber müsste ich lügen.
golden_jubilee schrieb:
6. gute kostenlose svn plugins? - nicht für das vs
Ich benutze AnkhSVN, funktioniert wunderbar:
http://ankhsvn.open.collab.net/golden_jubilee schrieb:
7. IntelliSense kann gegen eclipse 3.4 einpacken
Yo, stimmt. Weiß auch MS und kann man auch in einem der MSVC-Blogs nachlesen. Aber jeder MSVC-user investiert ehrlich gesagt auch lieber in Visual Assist X.
golden_jubilee schrieb:
8. mindestens einmal am tag gibt es ein problem, weil noch temp dateien rumliegen
Aha? Wäre mir neu. Das ist jetzt ehrlich gesagt ein sehr ungenaue und schwer beweisbare Anschuldigung von dir. Ich kanns jedenfalls nicht nachvollziehen.
golden_jubilee schrieb:
9. vs ist eindeutig langsamer
Kann ich nicht bestätigen.
Übrigens, ich arbeite seit mind. 6 Jahren beruflich mit Eclipse. Weiß also sehr wohl zu vergleichen.golden_jubilee schrieb:
vlt benutze ich es ja nur falsch
Nö, du hast nur nicht verstanden, wie die Eclipse-IDE arbeitet und warum sie für Java so tolle Features hat. Aber gibt es diese Features auch 1:1 für C++? (ich meine von Eclipse CDT!!! Denn du hast ja die IDEs verglichen, oder?)
Java- und C++-IDEs zu vergleichen ist nicht sehr klug, wenn man bedenkt wie komplex die beiden Sprachen sind.
Ich kann dir nur empfehlen, VisualAssist X zu benutzen. (Demo gibts kostenlos) Hat sehr nette Features.
-
Artchi schrieb:
Java- und C++-IDEs zu vergleichen ist nicht sehr klug, wenn man bedenkt wie komplex die beiden Sprachen sind.
Ich dachte, es ginge hier um C# und nicht C++?
-
Chewie83 schrieb:
Artchi schrieb:
Java- und C++-IDEs zu vergleichen ist nicht sehr klug, wenn man bedenkt wie komplex die beiden Sprachen sind.
Ich dachte, es ginge hier um C# und nicht C++?
Dann halt C#. C# ist ungefähr vergleichbar vom Konzept mit Java. Auch wenn C# ein paar Features mehr hat als Java. Aber C++ ist trotzdem noch ein anderes Kaliber.
Du kannst ja gerne mal einen C#- oder Java-Compiler implementieren. Und dann einen C++-Compiler. Welchen Compiler wirst du wohl schneller fertig bekommen? Siehste!
Und genau diese Komplexität kann man auch auf IDE-Features bzgl. der Sprachen übertragen.
-
Artchi schrieb:
Aber C++ ist trotzdem noch ein anderes Kaliber.
Eben drum, da stimme ich Dir absolut zu. Aber ich denke, was in Eclipse/JDT bezüglich Refactoring und Fehlerkorrektur möglich ist, sollte doch auch in ähnlicher Form mit C+ funktionieren, insofern muss ich dem Vorposter mit dem Eclipse-VS-Vergleich rechtgeben. Auch wenn ich seit VS 2003 keine Version mehr gesehen hab, aber an den Punkten, die er aufzählt, scheint sich nicht viel getan haben.
-
Shade Of Mine schrieb:
und dass eclipse vs ueberlegen ist... aeh... ne, ich sehe nicht wo. es ist vielleicht nicht unterlegen.
kennst du intellij-idea (ist 'ne java-ide)?
*die* ist eclipse, netbeans und visual studio haushoch überlegen.
-
wenn wir nicht ankh benutzen würden wüßte ich nicht, dass es so scheiße ist
klar sind packages keine namespaces, aber ging es keinen grund warum ich sie trotzdem selebr tippen muss?
danke ich weiß wann eclipse kompliliert und habe bewußt den haken nicht gesetzt, so dass ich eine button habe zum kompilieren
ich wollte damit auch sagen, dass wärend des schreibens bereits gechekt wird ob das müll ist oder nicht - was ich wie gesagt beim studio vermissewas die live fehler korrektur angeht, ist mir sehr wohl beweußt, dass nicht eclipse eine eigenen parser mitbringt
und ich weiß nciht wie man das NICHT als ide feature bezeichnen kann
und solange es eins ist stelle ich hier die frage warum nicht in c#, mit einer ähnlichen reflection apiund es ist wirklich toll das der compiler die warnugnen auspukt, fast wie in eclispe, aber auch nur fast
und was macht java im gegensatz zu c# zur pipifax sprache?, ich meine
hey vlt sind closures nicht so leicht, aber immerhin müsste das studio dann die gleichen dinge bieten wie eclipse - nur halt auf java pipifax niveau
-
Chewie83 schrieb:
Artchi schrieb:
Aber C++ ist trotzdem noch ein anderes Kaliber.
Eben drum, da stimme ich Dir absolut zu. Aber ich denke, was in Eclipse/JDT bezüglich Refactoring und Fehlerkorrektur möglich ist, sollte doch auch in ähnlicher Form mit C+ funktionieren, insofern muss ich dem Vorposter mit dem Eclipse-VS-Vergleich rechtgeben. Auch wenn ich seit VS 2003 keine Version mehr gesehen hab, aber an den Punkten, die er aufzählt, scheint sich nicht viel getan haben.
Dann kann ich nur sagen, hast du leider nicht die Erfahrung mit den C++-Produkten. Denn dann wüsstest Du, das Visual Assist X (ich wiederhole mich) genau diese Features, wie Refectoring, Fehlermarkierung-on-the-fly, include-Completion usw. anbietet. Es ist zwar nicht 100% mit dem aus Eclipse vergleichbar, aber man hat ein paar Features, die einem enorm weiter helfen, als es das nackte MSVC bietet.
jeder der MSVC (nicht Express!) hat, kann zumindest die Demo ausprobieren. Wer kein MSVC hat, kann sich die Flash-Demos auf der Website anschauen, um einen ersten Eindruck zu bekommen.
Wer ernsthaft (!) mit C++ arbeitet und mit C++ Geld verdient, investiert auch ohne Augenzwinkern in dieses Plugin. Denn die Zeitersparnis, das man durch das Plugin macht, amortisiert sich ruck zuck.
-
golden_jubilee schrieb:
wenn wir nicht ankh benutzen würden wüßte ich nicht, dass es so scheiße ist
...Ja, WAS ist denn scheiße??? Mensch, ich kann ales scheiße nennen. Aber sag doch mal konkrete Beispiele!
Und was die C#-Features in MSVS angeht: probier doch einfach mal Visual Assist X aus.
-
Artchi schrieb:
golden_jubilee schrieb:
wenn wir nicht ankh benutzen würden wüßte ich nicht, dass es so scheiße ist
...Ja, WAS ist denn scheiße??? Mensch, ich kann ales scheiße nennen. Aber sag doch mal konkrete Beispiele!
Und was die C#-Features in MSVS angeht: probier doch einfach mal Visual Assist X aus.
ich hab mit dem letzen release und dem studio 2008 in so fern probleme, dass ich
1. selten komplett commiten kann - dann muss ich immer die dateien einzel commiten - dann klappst
2. alles außer code, icons funktionieren grundsätzlich nicht
3. es ist nicht immer alles aufgelistet was ich wirklich geändert habe an klassenja ich werde mal visual assist testen