Ich bin wirklich unklar über den Unterschied zwischen C #, C # .NET und dem Gleichen für ASP und andere '.NET'-Sprachen.
Soweit ich weiß, ist .NET eine Bibliothek / ein Framework von ... Dingen. Ich denke, dass sie im Wesentlichen Zugriff auf Windows-Daten wie Formularelemente usw. haben, aber dies scheint nicht für ASP.NET zu gelten.
Außerdem sehe ich Leute, die sich ".NET" -Entwickler nennen. Bedeutet dies, dass sie fließend C #, ASP und andere Sprachen sprechen?
Schließlich sehe ich nie C # ohne .NET. Ist C # so eng mit .NET verbunden, dass es ohne .NET unbrauchbar wird?
Zusammenfassend: Was genau bietet .NET? In welcher Beziehung steht es zu C # und ASP usw.? Was bedeutet "ein .NET-Entwickler"? Und warum sehen Sie C # nie ohne .NET?
[Abgesehen davon ist mir klar, dass es sich um mehrere Fragen handelt, aber ich denke, dass sie sehr eng miteinander verbunden sind (oder zumindest den Eindruck, den mir das Durchsuchen von Programmierern / SO usw. vermittelt hat)].
.NET ist ein Framework für die Anwendungsentwicklung. Es enthält zahlreiche Bibliotheken mit einer Reihe von Funktionen.
C # ist eine Sprache, die für die Verwendung mit .NET erstellt wurde. Es ist nicht die einzige .NET-kompatible Sprache. Weitere Optionen sind VB.NET, F #, Managed C ++, IronRuby und IronPython. Sie schreiben Code in der Sprache Ihrer Wahl, um die Funktionalität in .NET Framework zu nutzen.
ASP.NET ist eine Erweiterung von .NET, mit der Sie webbasierte Anwendungen und Websites schreiben können. In diesem Zusammenhang ist ein Großteil des Gesamtrahmens verfügbar (oder nützlich, z. B. für WinForms).
[Classic] ASP ist ein älteres Webframework, ebenfalls von Microsoft. Trotz der ähnlichen Namen unterscheiden sich ASP und ASP.NET unter der Haube erheblich. Ein bemerkenswerter Unterschied ist, dass Ihre einzigen Sprachoptionen für ASP VBScript und JScript sind. ASP ist eine ältere und veraltete Technologie, machen Sie sich keine Sorgen damit.
quelle
Zunächst einmal ist .Net ein Bytecode-Framework, das Java-Bytecode ähnelt. .Net ist jedoch nur BYTECODE. Es gibt keine ".Net" Amtssprache. Die beiden Hauptsprachen für .NET sind C # und VB.Net. ASP.Net ist eine Erweiterung der bereitgestellten .Net-Bibliothek, mit der Anwendungen, die in C # oder VB.Net (oder anderen .Net-Zielsprachen) geschrieben wurden, als Website verwendet werden können.
Entwickler, die sich mit .NET auskennen, meinen in der Regel, C # oder VB.Net oder beides zu kennen, und können leicht lernen, welche sie nicht kennen (C # und VB.Net sind, abgesehen von der allgemeinen Syntax, äußerst ähnliche Sprachen).
Schließlich ist ASP NICHT dasselbe wie ASP.Net. Sie haben große Unterschiede
quelle
Da nur eine Antwort Mono erwähnt, ohne ins Detail zu gehen:
Obwohl C # als Sprache ursprünglich bei Microsoft als Teil von .NET Framework entwickelt wurde, wurde es später von ECMA standardisiert , was bedeutet, dass unabhängige standardkonforme Implementierungen der Sprache entwickelt werden können, und das waren sie auch. Das bekannteste davon ist Mono .
Mono ist eine Open-Source-Implementierung eines mit .NET Framework kompatiblen ECMA-Standards, einschließlich eines C # -Compilers und einer CLI-Implementierung (Mono Runtime, das Äquivalent zu Microsofts CLR - der virtuellen Maschine von .NET Framework). Ziel ist es, .NET-Anwendungen plattformübergreifend auszuführen. Ab heute unterstützt es C # 4.0 und einen wesentlichen Teil der .NET Framework-Funktionen . Das Mono-Team spiegelt nicht nur die Microsoft-Implementierung wider, sondern führt auch eigene Innovationen durch.
Ja, es ist möglich und machbar, in C # ohne .NET zu arbeiten. Es ist jedoch unwahrscheinlich, dass Mono in der Lage sein wird, mit dem Marktanteil von Microsoft und der Position von .NET Framework mitzuhalten, nicht jetzt und nicht in naher Zukunft.
quelle
Jon Skeets Buch C # In Depth bricht .NET ziemlich prägnant auf. Es wird oft in Verbindung mit verwendet
quelle
Die anderen Antworten erklären gut, was für eine Technologie sie haben, aber ich denke, sie vermissen einen der Hauptgründe für Verwirrung. C # und C # .NET sind im Wesentlichen synonym, jedoch unterscheiden sich VB.NET und VB und auch ASP und ASP.NET. VB bezieht sich im Allgemeinen auf VB6 und älter, und ASP bezieht sich auf klassisches ASP. Diese Technologien wurden mit der Veröffentlichung des .NET-Frameworks grundlegend umgestaltet und haben nicht nur neue Namen für Produkte entwickelt, an die Microsoft .NET angehängt hat, sondern C # war auch neu, sodass sich beide Namen tatsächlich auf dasselbe beziehen.
quelle
Sie müssen unterscheiden zwischen Sprachen, Frameworks, CLR, Patterns und Programmiermethoden.
ASP.Net verwendet ein völlig anderes Programmiermuster als Winforms, obwohl beide dieselbe Grundlage haben. Sie können ASP.net- und .Net-Anwendungen in verschiedenen Sprachen programmieren.
Dann gibt es noch Mono und die im Mono-Kontext verwendete C # -Sprache - wahrscheinlich eine Recherche wert.
Lesen Sie diese Links durch:
http://en.wikipedia.org/wiki/Common_Language_Runtime
http://en.wikipedia.org/wiki/.NET_Framework#Alternative_implementations
http://en.wikipedia.org/wiki/File: Übersicht_der_Gemeinsamen_Sprache_Infrastruktur.svg
quelle