Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

nach etlichen Recherchen im Internet sowohl auf Deutsch als auch auf Englisch, weiß ich sowohl einges als auch wiederum wenig über die Materie .net.

Ich meine es gibt etliche Quellen diesbezüglich, aber mein Informatik wissen, hält sich in Grenzen. Es wird viel über Common Language Runtime erwähnt usw.

Videos auf Youtube gibt es auch dazu, aber in keinem IT-Forum wurde dies mal erwähnt. Darum Frage ich jetzt einfach mal in die "Runde".

WAS IST .NET?

Danke im Voraus

Gruß

Geschrieben

.NET ist ein "Framework" bestehend aus mehrern 1000den von Klassen. Ein Framework ist ein Rahmen, bzw. eine Bibliothek, auf die ein eigenes Programm zugreifen kann.

Die .NET-Anwendungen arbeiten unteranderem auch mit einem Zwischencode, wie das bei Java auch der Fall ist, dort gibt es diesen Bytecode. Das führt dazu, dass Steuerelemente und Bibliotheken in unterschiedlichen Sprachen geschrieben sein können, es muss lediglich die ICL unterstützt werden.

Geschrieben

richtig. Es ist aber rein für Windows Betriebssysteme gedacht. Man wollte eine Hardwareunabhängigkeit. Aber für Microsoft schien es uninteressant es auch für andere Betriebssysteme zu machen.

C# ist eben die Programmiersprache für Windows. Du kannst mit Visual Studio spielen leicht GUIs erstellen. Die Kodierung ist auch nicht schwer und sehr stark an Java angelehnt. Wenn mans so will ist C# ein Java Abklatsch mit den Microsoft Verbesserungsvorschlägen.

Nicht jede Firma lässt sich was von Microsoft sagen ;-)

Daneben gibts noch ASP.NET, das ist das selbe wie C# nur fürs Internet. Des weiteren kannst du damit auch C++ machen im Rahmen von .NET. Ist aber nicht unbedingt zu empfehlen, denn wenn ich schon C++ mache, dann möchte ich auch Schnelligkeit ;-)

ASP.NET wird nur von wenigen Browsern unterstützt, deswegen würde ich sowas lieber mit Java machen.

MFG derwunner

Geschrieben

.NET ist der Nachfolger der sog. COM-orientierten Software-Entwicklung unter Microsoft Windows. Damit konnte/kann man bequem einigen Problemen von COM, wie .dll-Hell DLL-Hell aus dem Weg gehen. Zudem hat man ein einheitliches Framework zur Windowsprogrammierung - während man noch in den 90ern viele verschiedene, nicht immer miteinander kompatible Ansätze hatte (Object Windows Library, Microsoft Foundation Class Library)

Wichtig für das Verständins sind einerseits die Common Intermediate Language, die Zwischensprache in die alle .NET-Anwendungen übersetzt werden und die Common Language Runtime, die diese Programme dann letztendlich ausführt.

Im Gegensatz zu Java ist .NET von Anfang an so konzipiert worden, dass sie sprachneutral gehalten worden ist. Wer VB programmieren konnte/wollte, konnte/kann das nach wie vor. Erst jüngst mit dem Erscheinen von .NET 4.0 ist ein neuer Spross -F#- zur microsofteigenen Sprachfamilie (Visual Basic .NET, C#, Visual C++ .NET) hinzugestoßen. F# verfolgt den Ansatz zur funktionialen Programmierung.

So ist es ohne Probleme möglich, Komponenten einer Software in F# zu schreiben und diese dann in C# einzubinden.

Während der Ausführung des Programms läuft im Hintergrund ein sog. Just-in-time-Kompilier, der nochmals während der Laufzeit Optimierungen durchführt. Daher sind die Programme trotz des Umstandes, dass sie nicht direkt in Maschinencode übersetzt werden, recht performant.

Mit dem Mono-Projekt gibt es auch eine (teil)-Portierung non .NET zu *nix-Systemen.

Die Sprache ist recht einfach zu verstehen - allerdings ist das Framework äußerst Umfangreich.

Unter Microsoft Visual Studio 2010 Express findest Du alles, was Du benötigst, um sofort loszulegen.

Soviel in aller Kürze.

Geschrieben (bearbeitet)

Daneben gibts noch ASP.NET, das ist das selbe wie C# nur fürs Internet. Des weiteren kannst du damit auch C++ machen im Rahmen von .NET. Ist aber nicht unbedingt zu empfehlen, denn wenn ich schon C++ mache, dann möchte ich auch Schnelligkeit ;-)

Nein. ASP ist nicht das selbe wie C#. ASP kann allerdings C#-Code als sog. Code-Behind einbinden.

richtig.

ASP.NET wird nur von wenigen Browsern unterstützt

ASP ist das Äquivalent zu den Java Server Pages und läuft auf dem Server - nicht auf dem Client - wo auch der Browser zu finden ist.

Seiten werden in einer eigenen, auf HTML aufsetzenden, Seitenbeschreibungssprache abgefasst, die beim Abruf vom Server in HTML gerendert werden.

Um es nochmal zu verdeutlichen: Wird vom Server .ASP, .JSP, .PHP oder sonstwas nachgefragt, ist es Aufgabe des Servers, zu überlegen, was er mit einer solchen Anfrage macht. Oder hast Du schonmal bei Dir PHP installieren müssen, um eine PHP-Seite im Browser darstellen zu können?

Bearbeitet von lilith2k3
Geschrieben
richtig. Es ist aber rein für Windows Betriebssysteme gedacht. Man wollte eine Hardwareunabhängigkeit. Aber für Microsoft schien es uninteressant es auch für andere Betriebssysteme zu machen.

Mono ...

C# ist eben die Programmiersprache für Windows. Du kannst mit Visual Studio spielen leicht GUIs erstellen. Die Kodierung ist auch nicht schwer und sehr stark an Java angelehnt. Wenn mans so will ist C# ein Java Abklatsch mit den Microsoft Verbesserungsvorschlägen.

konsequente Generics, Lambdas, Closures, sinnvolle generische Collections, LINQ... momentan schielt man eher von Java-Seite auf .Net

Nicht jede Firma lässt sich was von Microsoft sagen ;-)

Den versteh ich nicht.

Daneben gibts noch ASP.NET, das ist das selbe wie C# nur fürs Internet.

Und hier schlägt die unwissenheit vollends durch. ASP.Net ist ähnlich wie ASP MVC, Rails oder Seaside ein Webframework, in dem man mit allen von .Net unterstützen Sprachen entwickeln kann.

Des weiteren kannst du damit auch C++ machen im Rahmen von .NET. Ist aber nicht unbedingt zu empfehlen, denn wenn ich schon C++ mache, dann möchte ich auch Schnelligkeit ;-)

unmanaged Code kann mit managed Code im .Net-Framework kombiniert werden, wobei der managed Code in aller Regel nicht wesentlich langsamer ist als unmanaged Code (auf c++ bezogen)

ASP.NET wird nur von wenigen Browsern unterstützt, deswegen würde ich sowas lieber mit Java machen.

ASP.Net ist ein serverseitig interpretiertes (jaja, ich weiß, eigentlich wirds nicht wirklich interpretiert weils kompiliert ist) WebFramework, das mit dem Browser nichts zu tun hat. Was ausgeliefert wird ist normales Html & Javascript.

Als vergleich bieten sich hier WebFrameworks anderer Sprachen an.

Von daher ist der komplette Satz eigentlich totaler nonsense.

Geschrieben

ok, ich gebe mich geschlagen -.-

ASP ist auch nicht meine welt. Hab ich noch nie gebraucht. PHP FTW!

Ich weiß, es gibt vieles in .NET auch PHP. Aber selten dumm, wer PHP mit .NET macht.

MFG derwunner

Geschrieben

ASP ist auch nicht meine welt. Hab ich noch nie gebraucht. PHP FTW!

Und wieder: ASP.Net / MVC ist ein Framework, PHP ist eine Sprache. Wenn schon vergleiche, dann eher PHP und z.B. C# oder F#, wobei dann PHP eher schlechter wegkommt.

Ich weiß, es gibt vieles in .NET auch PHP. Aber selten dumm, wer PHP mit .NET macht.

Den versteh ich nicht.

Geschrieben
...

Meiner Meinung nach eine sehr schöne Zusammenfassung. Wobei man als Programmieranfänger nicht alles verstehen muss bzw. sollte.

Nicht desto trotz, zu F# noch ein Detail:

Im Gegensatz zu objektorientierten Sprachen haben funktionale einen für manche Zwecke entscheidenden Vorteil, sie können eine Endrekursion frühzeitig auflösen. D.h. die unnötige Speicherreservierung für Variablen pro Methodencall und das Vorhalten der Aufrufreihenfolge im "Call Stack" wird bei erkannter Endrekursion übergangen. Gerade für Analysen einer Baumstruktur ist dies vom Vorteil.

Ich pers. würde dem Threadersteller allerdings dazu raten, C# als eine, als Java Deriviat anzusehende, objektorientierte Sprache zu betrachten, die ausschließlich für Windows und dessen Mobil-Ableger gegeignet ist. Statt dessen solltest Du Dich mit wirklich WICHTIGEN Sachen, was das objektorientierte Programmieren angeht, beschäftigen.

Imo sind das Fragen wie:

- Was bedeutet "MVVM" und "MVC" - Pattern

- Factory Pattern

- Prototype Pattern

u.v.m. Patterns.

Zudem könnte man sich, zur Oberflächengestalltung für Windowsanwendungen, DIREKT mit "WPF" beschäftigen, statt den Umweg über Windows.Forms bzw. Java.Swing zu gehen. Diese beiden verhindern eher ein tieferes Verständnis für WPF, und somit (imo) zukunftsweisender Oberfächengestalltung..... wer schonmal einen Progressbar, der auch wirklich Progress hat, unter Windows.Forms gemacht hat oder auf reaktive Anwendungen steht weiss was ich meine.

Geschrieben
Meiner Meinung nach eine sehr schöne Zusammenfassung

Danke :]

Ich pers. würde dem Threadersteller allerdings dazu raten, C# als eine, als Java Deriviat anzusehende, objektorientierte Sprache zu betrachten

Das trifft es nicht ganz, weil der Zweck, weshalb .NET entwickelt und eingesetzt werden sollte ein grundlegend anderer war. Also bestenfalls hat Java inspirierend Pate gestanden.

die ausschließlich für Windows und dessen Mobil-Ableger gegeignet ist

Man sollte sagen: .. von Windows und dessen Mobil-Ablegern vollständig unterstützt. Für Linux ist .NET auch "geeignet", allerdings noch nicht zu 100% unterstützt. Beispielsweise der Bildbetrachter F-Spot oder der Audioplayer Banshee sind in C# geschrieben.

Geschrieben

Nicht desto trotz, zu F# noch ein Detail:

Im Gegensatz zu objektorientierten Sprachen haben funktionale einen für manche Zwecke entscheidenden Vorteil, sie können eine Endrekursion frühzeitig auflösen. D.h. die unnötige Speicherreservierung für Variablen pro Methodencall und das Vorhalten der Aufrufreihenfolge im "Call Stack" wird bei erkannter Endrekursion übergangen. Gerade für Analysen einer Baumstruktur ist dies vom Vorteil.

Zusätzlich bietet funktionale Programmierung den Vorteil, das man im normalfall keinen State hat, was bei Threading / asynchronen Operationen ein immenser Vorteil ist (wobei F# dieses Prinzip mit seinem mutable-Keyword ziemlich pervertiert).

Imo sind das Fragen wie:

- Was bedeutet "MVVM" und "MVC" - Pattern

- Factory Pattern

- Prototype Pattern

u.v.m. Patterns.

eine kleine Übersicht der GoF-Patterns: .NET Design Patterns in C# and VB.NET - Gang of Four (GOF) - DoFactory

  • 2 Wochen später...
Geschrieben
Hallo zusammen,

WAS IST .NET?

Danke im Voraus

Gruß

Um nochmal zur eigentlichen Frage zurück zukommen - was ist .NET? Wie einige schon schrieben ist .NET ein Framework und auch eine alternative zum COM, aber das sind alles nur einzelne Elemente.

Ich denke, .NET muss man als ein Stück "Softwareinfrastruktur" betrachten. .NET ist auch kein einzelnes Produkt was man runterladen oder im Laden kaufen kann. Es besteht aus sehr vielen Komponenten, deshalb ist eine genaue Antwort auf die Frage ein Abendfüllendes Thema.

.NET besteht unter anderem aus einer Assembler ähnlichen, typsicheren und Stack-Orientierten Sprache ( Intermediate Language, IL-Code ) die von einer Runtime Engine (Common Language Runtime) ausgeführt wird und Features wie Garbage Collection, Sicherheitsfeatures usw bietet. Die CLR besteht unter anderem aus einem Just-In Time Compiler der optimierten Maschinen -Code für die jeweilige Plattform erzeugt. Dazu kommt eine sehr mächtige Klassenbibliothek (.NET Framework) und diverse Compiler die den IL-Code erzeugen C#.NET, VB.NET, F#, ...

Geschrieben
Um nochmal zur eigentlichen Frage zurück zukommen - was ist .NET? Wie einige schon schrieben ist .NET ein Framework und auch eine alternative zum COM, aber das sind alles nur einzelne Elemente.

Ich denke, .NET muss man als ein Stück "Softwareinfrastruktur" betrachten. .NET ist auch kein einzelnes Produkt was man runterladen oder im Laden kaufen kann. Es besteht aus sehr vielen Komponenten, deshalb ist eine genaue Antwort auf die Frage ein Abendfüllendes Thema.

.NET besteht unter anderem aus einer Assembler ähnlichen, typsicheren und Stack-Orientierten Sprache ( Intermediate Language, IL-Code ) die von einer Runtime Engine (Common Language Runtime) ausgeführt wird und Features wie Garbage Collection, Sicherheitsfeatures usw bietet. Die CLR besteht unter anderem aus einem Just-In Time Compiler der optimierten Maschinen -Code für die jeweilige Plattform erzeugt. Dazu kommt eine sehr mächtige Klassenbibliothek (.NET Framework) und diverse Compiler die den IL-Code erzeugen C#.NET, VB.NET, F#, ...

Danke für die Zusammenfassung meines Artikels :D

Geschrieben

Hi,

also ich muss sagen, du hast Recht. Eine sehr schöne Zusammenfassung :uli

Und ja, das wäre ein Thema für einen Abend. Bei .NET fällt selbst mir schon einiges zu erzählen ein.

MFG derwunner

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...