Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[Allgemein] -  C# vs Python
#5
Ja, bitte erkläre mir die Unterschiede bzw. die Bedeutung. Gerade NUGet interessiert mich, weil damit wohl weitere Bibliotheken für ein Projekt besort werden können.

Zitat:Sehr gern! Ich erkläre dir zuerst NuGet, dann die CLR, und anschließend den Unterschied zwischen .NET und .NET Framework. Alles so, dass es für jemanden mit Python-Erfahrung logisch und vergleichbar ist.

? 1. Was ist NuGet?
NuGet = der Paketmanager für .NET, vergleichbar mit pip in Python.
Damit installierst du externe Bibliotheken wie:
  • JSON-Parser (
    Code:
    Newtonsoft.Json
    ,
    Code:
    System.Text.Json
    )
  • HTTP-Clients
  • Logging-Frameworks (
    Code:
    Serilog
    ,
    Code:
    NLog
    )
  • Datenbanktreiber (MySQL, PostgreSQL)
  • GUI-Frameworks
  • Tools für PDF, Excel, usw.

? Wie verwendet man NuGet?
Es gibt zwei Wege:
1. Über die Kommandozeile (dotnet CLI)
Beispiel: Du willst JSON-Unterstützung installieren:
Code:
dotnet add package Newtonsoft.Json
Danach kannst du es in C# verwenden:
Code:
using Newtonsoft.Json;

2. Über Visual Studio
In Visual Studio gibt es:
Rechtsklick auf dein Projekt → „NuGet-Pakete verwalten“
Dort kannst du suchen, installieren, Versionen wählen usw.

? Was passiert beim Installieren eines NuGet-Pakets?
NuGet:
  1. lädt das Paket (eine
    Code:
    .nupkg
    Datei) herunter
  2. legt es im Projekt unter
    Code:
    <projektname>.csproj
    als
    Code:
    <PackageReference>
    ab
  3. speichert Kopien im globalen Paketcache
    (vergleichbar mit
    Code:
    ~/.cache/pip
    )
Beispiel aus einer
Code:
.csproj
:
Code:
<ItemGroup>
  <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
Damit weiß .NET beim Build: diese Pakete müssen eingebunden werden.

? 2. Was ist die CLR? (Common Language Runtime)
Die CLR ist die Laufzeitumgebung von .NET, vergleichbar mit:
  • dem Python-Interpreter
  • der Java Virtual Machine (JVM)
Sie übernimmt:
✔ Speicherverwaltung
Garbage Collection, Stack/Heap-Verwaltung.
✔ Just-in-time-Kompilierung (JIT)
C# wird zuerst in eine Zwischensprache kompiliert (IL = Intermediate Language).
Die CLR wandelt IL zur Laufzeit in Maschinencode um.
✔ Exception-Handling
Abfangen und Verarbeiten von Fehlern.
✔ Sicherheit / Sandbox
Code aus unbekannten Quellen kann sicher ausgeführt werden.
Kurz gesagt: Ohne CLR läuft kein C#-Programm.

? 3. Unterschied: .NET vs. .NET Framework
Das ist ein wichtiger Punkt — viele Begriffe führen zu Verwirrung.

? .NET (heute)
Die moderne, plattformübergreifende Version.
  • läuft auf Windows, Linux, macOS
  • Open Source
  • schneller
  • regelmäßige Releases (.NET 6, 7, 8, 9, …)
  • zukunftssicher
Wenn du heute C# lernst, nimm immer .NET (ohne "Framework").

? .NET Framework (alt)
Die ältere Windows-only-Version.
  • läuft nur auf Windows
  • seit 2020 „nur noch Wartungsmodus“
  • Version endet bei 4.8.1
Wird z. B. noch gebraucht für:
  • alte Firmenanwendungen
  • alte Windows-Programme mit WPF oder WinForms
  • alte Spiele-Launcher, Tools etc.

Übersicht:
Merkmal
.NET (modern)
.NET Framework (alt)Plattform
Windows, Linux, macOS
Nur Windows
Open Source
Ja
Nein
Zukunft
aktiv weiterentwickelt
Wartungsmodus
Geschwindigkeit
schneller
langsamer
Mobile / Web / Cloud
voll unterstützt
eingeschränkt
Visual Studio
ja
ja
CLI-Support
dotnet CLI
eingeschränkt

? Wie erkennt man, was gemeint ist?
Wenn du liest:
  • .NET 6, .NET 7, .NET 8, .NET 9 → modern
  • .NET Core → Vorgänger von modernem .NET
  • .NET Framework 4.x → alt
  • C# → kann auf beiden laufen (aber heute fast nur auf modernem .NET)

? Zusammengefasst:
⭐ NuGet
→ Paketmanager wie pip
→ installiert Bibliotheken für .NET-Projekte
⭐ CLR
→ Laufzeitumgebung wie Python-Interpreter
→ führt C#-Code aus (JIT-Kompilierung)
⭐ .NET (modern)
→ plattformübergreifende, offene, aktuelle C#-Plattform
⭐ .NET Framework (alt)
→ alte Windows-only Plattform, nur für Legacy-Software

Wenn du willst, kann ich dir auch erklären:
? Was ist die dotnet CLI & wichtigste Befehle
? Wie man ein C# Projekt anlegt
? Wie man Python und C# kombiniert
? Welche Bibliotheken für Anfänger sinnvoll sind
? Welche typische Projektstruktur in C# existiert
Sag einfach Bescheid!
Zitieren Return to top


Nachrichten in diesem Thema
C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden
RE: C# vs Python - von Joopi - Vor 3 Stunden

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste