Windows Framework
-
interpreter schrieb:
- man zu ihr am meisten .NET-Beispielcodes findet
Dem kann ich nicht zustimmen, die meisten Codes findet man in VB.NET. Eine Umsetzung ist allerdings nicht schwer.
-
interpreter schrieb:
- die Sprache eine starke Ähnlichkeit hat mit C++ (Optimizers Aussage kann ich nicht nachvollziehen)
Und das kann ich nicht nachvollziehen. C# hat bei weitem mehr Ähnlichkeiten zu Java als zu C++.
-
Optimizer schrieb:
interpreter schrieb:
- die Sprache eine starke Ähnlichkeit hat mit C++ (Optimizers Aussage kann ich nicht nachvollziehen)
Und das kann ich nicht nachvollziehen. C# hat bei weitem mehr Ähnlichkeiten zu Java als zu C++.
Einigen wir uns doch dahin, dass C# eine gewisse Ähnlichkeit mit beiden Sprachen hat.
-
Nein. C# hat kaum Ähnlichkeiten zu C++, weder konzeptionell, noch in der Semantik, noch in der Art der Anwendung. Man darf mit Fug und Recht behaupten, dass C# eher aus Java entstanden ist, weil sich dort viele Konzepte (VM, automatische Speicherverwaltung, constness über immutable, Standardbibliothek, Referenzsemantik bei Objekten) auf wundersame Weise gleichen.
Selbst Microsoft schreibt in der MSDN immer wieder sinngemäß, dass C# entwickelt wurde, weil Java noch nicht perfekt ist (fairerweise schreiben sie auch, dass vermutlich auch C# nicht die perfekte Sprache ist).
Mit C++ hat C# fast nichts am Hut, außer Teile der Syntax (die auch in Java so sind) und manche Bereiche des "unsafe code", den man aber sowieso eher vermeidet.
-
Optimizer schrieb:
Mit C++ hat C# fast nichts am Hut, außer Teile der Syntax (die auch in Java so sind) und manche Bereiche des "unsafe code", den man aber sowieso eher vermeidet.
Ich meinte mit Ähnlichkeit auch nur die Syntax.
-
ok dann werd ich mich mal dran machen, c# zu lernen
Das ganze wird doch auf alle Fälle noch mit Longhorn unterstütz, d.h. man lernt was zukunftssicheres, oder?Bis jetzt hab ich den MS Vc++ 6, da wird dann wohl eine Neuanschaffung notwendig, in was sollte ich da mein Geld stecken? 2002,2003 oder gibts sogar schon VS 2004?
BTW: Wenn jemand Tutorials etc hat, immer her damit
- Ihr habt mir bis jetzt schon gut geholfen, THX!
-
Zieh dir halt erstmal die Betas, die kosten dich gar nichts und man kann gut damit arbeiten.
-
Rodney schrieb:
Das ganze wird doch auf alle Fälle noch mit Longhorn unterstütz, d.h. man lernt was zukunftssicheres, oder?
Ja.
Rodney schrieb:
Bis jetzt hab ich den MS Vc++ 6, da wird dann wohl eine Neuanschaffung notwendig, in was sollte ich da mein Geld stecken? 2002,2003 oder gibts sogar schon VS 2004?
-
Also ich hab zwar mal gelesen das C# aus C++ und VB entstand, finde aber auch das C# eher Java ähnelt, wobei man dazu sagen muß das der Syntax von Java zum Großteil bei C abgekupfert wurde. Aber bevor wir uns noch weiter streiten hier 2 Codebeispiele
:
namespace myApplication { class myClass : myParentClass { private string s = "Hello World!"; public void hello() { System.Console.WriteLine(s); } } }
#include <iostream> #include <string> class myClass : public myParentClass { private: string s = "Hello World!"; public: void hello() { std::cout << s; } }
So, jetzt kann sich jeder selbst einen Eindruck über die Ähnlichkeit von C# und C++ verschaffen.
-
class myClass extends myParentClass { private String s = "Hello World!"; public void hello() { System.out.println(s); } }
-
Optimizer schrieb:
C# hat bei weitem mehr Ähnlichkeiten zu Java als zu C++.
Alleine das impliziert ja schon, dass C# und C++ ebenfalls ähnlich sind.
-
Dieser Logik kann ich nicht folgen. Dazu musst du erstmal nachweisen, dass Java und C++ sehr ähnlich sind und das wird dir nicht gelingen.
-
Optimizer schrieb:
Dieser Logik kann ich nicht folgen. Dazu musst du erstmal nachweisen, dass Java und C++ sehr ähnlich sind und das wird dir nicht gelingen.
Die Programmiersprache Java ist letztlich nur C++, wobei man einige Konzepte entfernt hat und ein paar neue hinzugefügt hat.
-
Ich zitiere mal schnell zusätzlich gulp.de:
Java hingegen wurde von Sun Microsystems entwickelt und 1995 als neue objektorientierte Programmiersprache vorgestellt. Dabei ist Java im Grunde auch eine Sprache aus der C-Familie und in weiten Teilen nicht nur mit C++ vergleichbar, sondern sogar identisch. Allerdings wurden bei der Entwicklung von Java einige Sprachbestandteile von C++ anders umgesetzt oder konsequent eliminiert.
-
Das ist faktisch falsch, weil man in Java völlig andere Konzepte benutzt als in C++. Java kommt nicht aus der "C-Familie".
dito C#. Wie gesagt, C# ist mehr mit Java vergleichbar und beide Sprachen haben bis auf die Syntax fast keine Gemeinsamkeiten mit C++. Und die Syntax ist nun wirklich nicht der Hauptkern der Sprachen, insbesondere, weil es sehr viele völlig unterschiedliche Sprachen gibt, die auf der C-Syntax aufbauen.
Nimm es mir nicht ganz übel, aber entweder mit Java oder mit C++ scheinst du nicht allzu vertraut zu sein, sonst würdest du die Unterschiede bemerken. Allein nur wegen der Speicherverwaltung macht man einige Sachen in Java schon völlig anders (vgl. java.langString mit std::string).
Und das ist nur eines von 982643976 Dingen, in denen sich die Sprachen unterscheiden.
-
Optimizer schrieb:
Das ist faktisch falsch, weil man in Java völlig andere Konzepte benutzt als in C++.
Nenn mir doch mal bitte 5 solcher völlig anderen Konzepte.
C# ist mehr mit Java vergleichbar und beide Sprachen haben bis auf die Syntax fast keine Gemeinsamkeiten mit C++.
Siehe mein letztes Posting.
Und die Syntax ist nun wirklich nicht der Hauptkern der Sprachen, insbesondere, weil es sehr viele völlig unterschiedliche Sprachen gibt, die auf der C-Syntax aufbauen.
Wenn wir von "Ähnlichkeiten" sprechen, dann müssen wir auch die Syntax betrachten. Dass diese nahezu die identische von C++ ist, ist nicht abstreitbar.
Nimm es mir nicht ganz übel, aber entweder mit Java oder mit C++ scheinst du nicht allzu vertraut zu sein, sonst würdest du die Unterschiede bemerken.
Mach es dir nicht zu einfach, in dem du mir pauschal Inkompetenz vorwirfst, nur weil ich eine andere Meinung vertrete.
Allein nur wegen der Speicherverwaltung macht man einige Sachen in Java schon völlig anders (vgl. java.langString mit std::string).
Was ist denn der signifikante Unterschied zwischen java.lang.String und std::string?
Mir ist des öfteren aufgefallen, dass Vertreter von Java darauf bestehen, dass Java total andere Konzepte als C++ biete und sowieso was völlig anderes ist. Eine Begründung habe ich noch nie gelesen
-
Mach es dir nicht zu einfach, in dem du mir pauschal Inkompetenz vorwirfst, nur weil ich eine andere Meinung vertrete.
Was ist denn der signifikante Unterschied zwischen java.lang.String und std::string?
LOL. Naja Inkompetenz habe ich dir eigentlich nicht direkt vorgeworfen, aber das find ich jetzt ziemlich lustig.
Nenn mir doch mal bitte 5 solcher völlig anderen Konzepte.
Ich weiß zwar nicht, wie du genau auf 5 kommst, aber ich habe dir bereits einige Ansatzpunkte genannt (auf Seite 2), an denen du selber nachforschen kannst. Ich habe jetzt aber keine Lust mehr. Mir auch relativ egal, du hast bisher noch gar nichts begründet und ich mag jetzt auch nicht mehr.
Meinetwegen ist Java für dich eben ein C++ "wobei man einige Konzepte entfernt hat und ein paar neue hinzugefügt hat" und C# für dich "fast die selbe Sprache wie C++".
Das kann mir eigentlich sehr egal sein.
-
Optimizer schrieb:
Was ist denn der signifikante Unterschied zwischen java.lang.String und std::string?
LOL. Naja Inkompetenz habe ich dir eigentlich nicht direkt vorgeworfen, aber das find ich jetzt ziemlich lustig.
Tolles Argument
Ich weiß zwar nicht, wie du genau auf 5 kommst,
Die Zahl ist willkürlich. Hätte auch 4 oder 6 nehmen können. Ich wollte nur prüfen, ob du mir einige Konzepte aufzeigen kannst - offensichtlich nicht.
Meinetwegen ist Java für dich eben ein C++ "wobei man einige Konzepte entfernt hat und ein paar neue hinzugefügt hat"
Japp.
und C# für dich "fast die selbe Sprache wie C++".
Das habe ich nie gesagt.
-
die Sprache eine starke Ähnlichkeit hat mit C++
Gut, du hast dies gesagt. Ist genauso falsch.
Die Zahl ist willkürlich. Hätte auch 4 oder 6 nehmen können. Ich wollte nur prüfen, ob du mir einige Konzepte aufzeigen kannst - offensichtlich nicht.
Du bist einfach nur zu faul, um selber nachzuforschen. Aber ich wiederhole mich ja gerne selbst und ergänze auch noch gerne was.
Also folgende, ziemlich elementare Dinge sind in Java und C# gleich oder sehr ähnlich, dagegen in C++ völlig anders:- Speicherverwaltung
- Designschwerpunkt auf Sicherheit (keine uninitialisierte variablen, arrays sind Objekte, die ihre Grenzen kennen)
- Die Art, constness durchzusetzen
- das Übersetzungsmodell
- JIT-Compillierung
- Objektorientierte, umfangreiche Klassenbibliothek, die auch GUIs, Grafik, Threads, Sockets und weitere Features enthält
- Java und .Net sind je eine ganze _Plattform_, die eine virtuelle CPU, die eigenen Assemblercode (MSIL/Bytecode) versteht und ein ganzes Betriebssystem-API simuliert
- Objekttypen haben Referenzsemantik und müssen auf dem Heap angelegt werden
- keine Mehrfachvererbung
- Ausnahmebehandlung, wie Exceptions aufgebaut sind, die den Stacktrace in sich tragen und Verkettung von Exceptions
- Generics im Vergleich zu C++ Templates
- und noch einiges mehrund du hast mir außer die Syntax, die aber auch zwischen C# und Java sehr ähnlich ist, noch keine einzige Ähnlichkeit von C# zu C++ aufgezählt. Du hast noch nicht ein Argument gebracht. Entweder du veralberst mich oder hast wirklich keine Ahnung.
-
Einige neue Konzepte hast du genannt. Das andere betrifft alles die Plattform .NET/Java und nicht die Sprachen selbst. Wir sprachen hier jedoch von den Unterschieden der Sprachen. Auch wenn ich jetzt Exceptions toll schachteln kann oder Templates nicht schon zur Compilezeit aufgelöst werden, ändert das nichts daran, dass sich Java & C++ sehr ähnlich sind.