Grundlegende Unterschiede 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
-
Ich benutze AnkhSVN und comitte bzw. arbeite damit auf tigris.org. Die atomic transactions sind allerdings ein Server-Feature. Denke nicht, das man dem Client groß die Schuld in die Schuhe schieben kann? Ansonst einfach mal die Bugs an Colabnet schicken, damit die dem nachgehen können. Deine Bugs kann ich hier nicht nachvollziehen.
-
Artchi schrieb:
Wer ernsthaft (!) mit C++ arbeitet und mit C++ Geld verdient, investiert auch ohne Augenzwinkern in dieses Plugin.
Ich höre immer investieren.
MS Visual Studio Pro 2008 915,95€
Visual Assist X 249$Warum?
Eclipse steckt diese Produkte jederzeit locker in die Tasche und ist 100% kostenlos! Warum geht das in der Java-Welt und nicht bei MS??
Selbst IntelliJ kostet nur zwischen 76€ und 456€.
Bei VS muss man für weniger Leistung viel mehr hinblättern und íst dann noch auf kostenpflichtige Plugins angewiesen, damit es halbwegs funktioniert. Da kann doch was nicht stimmen....
-
Wenn eine Firma diese Lizenzen nicht bezahlen kann, dann sollte man diese Firma schnell verlassen. Ich sage nur: sinkendes Schiff!
Sorry, aber ich kenne keine seriose Firma, die bei Werkzeugen spart, wenn es sinnvoll ist. Wenn mein 21 Zoll LCD-Monitor für über 600 EUR auf meinem Bürotisch steht (ja, den hat die Firma bezahlt, ist kein billiger Mediamarkt-Monitor!), dann ist die VAX-Lizenz ein Witz! Die VAX-Lizenz ist nicht mal annähernd das, was ich die Firma am Tag an Stundenlohn koste.
In der vorherigen Firma, bei der ich war, (die nur 20 Mann hatte), kam der Chef vorbei und hat gefragt, wer nen schönen Chefsessel bestellt haben will. Das sind einfach Werkzeuge und Materialien, die im Developer-Alltag anfallen. Genauso die Lizenz für VAX und VisualStudio. Wenn das nicht drin wäre, frage ich mich, wie die mein Gehalt bezahlen wollen?
Diese Tools bezahle ich sogar privat für mein Hobby! dann sollte es auch eine Firma gebacken bekommen.
Was meinte unser Kunde letztens: "Bevor ihr euch nen Wolf im Internet absucht, sagt uns lieber, welche Fachbücher wir euch zu einem speziellen Thema bestellen sollen."
Yo, und ein Fachbuch kostet im Schnitt 39 bis 49 EUR!!! Aber es ist immer noch billiger, als ziellos und sich die Infos zusammen zu kratzen, wenn es ein gutes Buch besser machen kann.
Das man Lizenzen für unbenötige Tools sparen sollte, ist eine andere Sache.
-
Investor schrieb:
Bei VS muss man für weniger Leistung viel mehr hinblättern und íst dann noch auf kostenpflichtige Plugins angewiesen, damit es halbwegs funktioniert. Da kann doch was nicht stimmen....
Ist es tatsächlich so, das IntelliJ oder Eclipse die gleiche Leistung wie MSVS hat? Ich bezweifel das! Ich bekomme bei MSVS immerhin einen sehr guten C++-Compiler, einen C#-Referenz-Compiler, die .NET-Referenz-Platform usw. Achja, es ist kein Java. Also was soll der Vergleich mit "IntelliJ ist besser" wo es doch total unterschiedliche Ziele verfolgt? Das eine ist für Java, das andere für C++ und .NET.
Also, wo ist da ein Vergleich möglich? oder ist MSVS eine Java-IDE?
-
Investor schrieb:
MS Visual Studio Pro 2008 915,95€
Visual Assist X 249$Warum?
Eclipse steckt diese Produkte jederzeit locker in die Tasche und ist 100% kostenlos! Warum geht das in der Java-Welt und nicht bei MS??Weil Microsoft noch dem "Kunden bezahlen für Software"-Modell anhängt, während Eclipse nun mal ein Produkt der Welt 2.0 ist und dessen Entwicklung durch große Firmen gesponsort wird. Kurz gesagt: Bei Microsoft muss man bezahlen, bei Eclipse will man bezahlen.