über .Net nörgeln



  • So, ich wollte mal dieses Forum dazu nutzen über .Net zu nörgeln. Ich hab das Gefühl, Microsoft wollte mit .NET einfach nur mal wieder einen Schritt weiter in richtung Weltherrschaft im Computerbereich. Die Idee war ja lange altbacken, ursprünglich Smalltalk, dann Java. da Microsoft ja ein Synonym für "Der Standard" ist, und die Genannten Projekte nicht von Microsoft waren, brauchte die Welt was neues, etwas was sie noch nie gesehen hatte, eine Plattform, die Problemlos auf allen Systemen läuft unabhängig von der Rechnerarchitektur. Nunja da schufen sie .NET. Gut der moderne Mensch ist ja von Natur aus neugierig, und probiert einfach mal aus ein C# Programm zu kompilieren. Aber was ist das, hat doch tatsächlich das .Net programm die Endung .exe. Wo es doch ein .net Programm ist wäre da eine Endung .net nicht irgenwie einleuchtender, schlieslich soll es sich doch um eine neue Plattform handel. .exe stand doch schon immer für Windows und Dos Programme. Naja künfitg wird man wohl die Bedeutung der Endung auf die Microsoft-Plattform prgramme erweitern müssen.
    Zudem .NET DLLs sind auch oft nur wrapper für systemeigene DLLs. Moment mal sind DLL-Dateien nicht auch nur auf Windows vorhanden? naja wen stört's .NET war ja sowiso nie dazu ausgelegt auf anderen Plattformen lauffähig zu sein.



  • Schönen Dank für diese Information. Die Signatur "Boykottiert Micro$oft" sagt ja schon alles. 👎



  • Krux schrieb:

    Gut der moderne Mensch ist ja von Natur aus neugierig, und probiert einfach mal aus ein C# Programm zu kompilieren. Aber was ist das, hat doch tatsächlich das .Net programm die Endung .exe.

    Und? Ich frag mich echt was für eine Langeweile man haben muss um sich über Dateiendungen aufzuregen. Die Datei die rauskommt ist eine ausführbare Datei die du für Windows kompiliert hast und auch den gleichen Aufbau hat wie jede andere *.exe Datei, sie wird sogar durch den gleichen Mechanismus gestartet von Windows. Eine andere Endung zu wählen wäre die falsche Entscheidung.

    Krux schrieb:

    Zudem .NET DLLs sind auch oft nur wrapper für systemeigene DLLs. Moment mal sind DLL-Dateien nicht auch nur auf Windows vorhanden? naja wen stört's .NET war ja sowiso nie dazu ausgelegt auf anderen Plattformen lauffähig zu sein.

    Du haust da jetzt aber ganz schön was durcheinander. Du sprichst von .Net, beziehst dich aber nur auf die Klassenbibliothek der Windows Implementierung. Dort gibt es ein paar Windows spezifische Namespaces die Windowstypische Funktionalität enthält wie halt Windows.Forms, stimmt, aber trotzdem ist doch nicht pauschal alles nen Wrapper.

    Außerdem sind Dlls kein windowseigenes Konzept, dynamisch ladbare Bibliotheken gibts unter Unix genauso, nur heißen die dort anders.

    Klar hat jede Technologie ihre Vorzüge und Problemstellen, aber .Net ist unter Windows die produktivste Programmierplattform, umsonst hat sie nicht in so kurzer Zeit soviel Aufmerksamkeit erregt.



  • .NET ist aus ganz anderen Gründen Scheisse 😉



  • NET ist viel mehr als nur das Ausführen von Programme auf unterschiedlichen Plattformen.
    Es ist alles aus einem Guß. Insbesondere Visual Studio mit SQL-Server, ASP NET, IIS, etc.



  • hustbaer schrieb:

    .NET ist aus ganz anderen Gründen Scheisse 😉

    Die fänd ich aus Deiner sicht nun doch interessant, von mir aus auch per Mail ;o)



  • nein, nein, macht das mal schön hier 😛



  • Aber was ist das, hat doch tatsächlich das .Net programm die Endung .exe. Wo es doch ein .net Programm ist wäre da eine Endung .net nicht irgenwie einleuchtender, schlieslich soll es sich doch um eine neue Plattform handel. .exe stand doch schon immer für Windows und Dos Programme. Naja künfitg wird man wohl die Bedeutung der Endung auf die Microsoft-Plattform prgramme erweitern müssen.

    Selten so gelacht. 😃



  • Seid .Net sind .exe auch unter Linux verfügbar 😉



  • Keiner, aber auch kein Mensch zwingt Dich, sich mit .Net auseinanderzusetzen, was Du ja auf sicher noch nicht wirklich gemacht hast, sonst wäre Dein Kommentar besser ausgefallen.

    Benutze doch eins von den andern 25 oder sind es 26 Betriebssysteme auf dieser Welt, oder genau, Bau Dir doch Dein eigenes.
    Und der Ausführbaren Datei würde ich die Endung, warte mal!
    Genau *.urx geben, au ja, dass wird bestimmt Lustig und auf sicher viel, viel besser als MS und .Net zusammen.

    Gruß, Doug_HH



  • Nun, die Kritik bezieht sich, wenn auch vllt. etwas überzogen, IMHO auf die Tatsache, das .Net sehr nahe an Windows gebaut ist. Sollte es doch Plattformübergreifend sein, findet man sehr viele parallelen zur WinAPI.

    Vergessen sollte man hier jedoch nicht das Project Mono - was zwar die Möglichkeit eröffnet auf Windowsfremden Plattformen zu arbeiten aber die komplette Plattformunabhängigkeit (noch) nicht bieten kann.

    Warum man unbedingt Dateiendungen benötit verstehe ich ohnehin nicht. Es gibt genug Systeme, die völlig ohne Endung auskommen um den betroffenen Typ und die damit auszuführende Aktion zu ermitteln.

    Auch wenn der Post des Ops etwas sachlicher hätte sein können, sind es doch Posts wie die vor diesem, die das ganze von einer Diskussion zum Offtopic treiben. Dabei finde ich persönlich das Thema garnicht mal so uninteressant - erst recht wenn z.B. husbear noch ganz andere Aspekte einbringen könnte - sofern das hier bis dahin nicht völlig zum Offtopic und eher was für NADRW mutiert.



  • Talla schrieb:

    Krux schrieb:

    Gut der moderne Mensch ist ja von Natur aus neugierig, und probiert einfach mal aus ein C# Programm zu kompilieren. Aber was ist das, hat doch tatsächlich das .Net programm die Endung .exe.

    Und? Ich frag mich echt was für eine Langeweile man haben muss um sich über Dateiendungen aufzuregen. Die Datei die rauskommt ist eine ausführbare Datei die du für Windows kompiliert hast und auch den gleichen Aufbau hat wie jede andere *.exe Datei, sie wird sogar durch den gleichen Mechanismus gestartet von Windows. Eine andere Endung zu wählen wäre die falsche Entscheidung.

    also das Stimmt definitiv nicht, .NET ist eine Plattform ähnlich wie die von Java, damit sie unabhängig sein kann, es halndelt sich hierbei also um eine Virtuelle Maschiene. Unter Linux tritt nur dann das Problem auf, dass wenn man alle .NET projetke mit mono starten möchte, dann geht das einfach nicht, weil sich .NET anwendungen einfach nicht eindeutig identifizieren lassen(jedenfalls nicht mit der Endung), im gegensatz zu den Java Programmen.



  • Knuddlbaer schrieb:

    Warum man unbedingt Dateiendungen benoetit verstehe ich ohnehin nicht. Es gibt genug Systeme, die voellig ohne Endung auskommen um den betroffenen Typ und die damit auszufuehrende Aktion zu ermitteln.

    Ich find die Methode MIT Endungen sogar besser als ohne... so erkennt man auf einem Blick, WAS die Datei macht. Unter Linux seh ich bei einem einfachen Dateilisting nichtmal, ob das nun Dateien oder Verzeichnisse sind, geschweige denn, was denn nun eine Text-Datei oder ne ausfuehrbare Datei ist



  • Da das der Nörgel Thread ist geb ich auch mal was dazu.

    Einer meiner wenigen Kritikpunkte an .Net (ab 2.0) ist der Indexoperator in den .Net Collections. Kann einfach nicht verstehen warum der einen signed parameter nimmt.

    Btw. wieso ist die Syntax eigentlich so komisch oder kommt das nur mir so vor

    class  Test
    {
       public int this[uint id]
       {
          return ...;
       }
    }
    


  • zwutz schrieb:

    Ich find die Methode MIT Endungen sogar besser als ohne... so erkennt man auf einem Blick, WAS die Datei macht. Unter Linux seh ich bei einem einfachen Dateilisting nichtmal, ob das nun Dateien oder Verzeichnisse sind, geschweige denn, was denn nun eine Text-Datei oder ne ausfuehrbare Datei ist

    Was erkenne ich an Secret.exe denn genau ? Was wenn ich Secret.exe und Secret.com in einem Verzeichnis habe ? Was sagt mir die Endung denn ?!

    Wird eine Textdatei, die man Secret.exe nennt denn ausführbar ? Ist eine Secret.com die ich Secret.txt nenne denn eine Textdatei ?

    Kann einfach nicht verstehen warum der einen signed parameter nimmt.

    Wird der Indexer nicht durch die Schnittstelle festgelegt ? Diese kann nicht wissen ob der erbende nicht mit negativen Indexen arbeiten will und wird daher nicht uint vorgeben können. Du könntest ja eine Liste implementieren wollen, die Elemente vom Index -50 bis 49 hält.



  • Knuddlbaer schrieb:

    Wird eine Textdatei, die man Secret.exe nennt denn ausführbar ? Ist eine Secret.com die ich Secret.txt nenne denn eine Textdatei ?

    Einspruch: "Polemik"

    Knuddlbaer schrieb:

    Du könntest ja eine Liste implementieren wollen, die Elemente vom Index -50 bis 49 hält

    Ja und eine die was anderes benutzt. Dann hätte man korrekter Weise object als Indextyp nehmen sollen.



  • Knuddlbaer schrieb:

    Was erkenne ich an Secret.exe denn genau ? Was wenn ich Secret.exe und Secret.com in einem Verzeichnis habe ? Was sagt mir die Endung denn ?!

    Wird eine Textdatei, die man Secret.exe nennt denn ausfuehrbar ? Ist eine Secret.com die ich Secret.txt nenne denn eine Textdatei?

    Dateilisting unter Windows:

    bar\
    blubb.exe
    foo.txt
    command.com
    

    unter Linux:

    bar
    blubb
    foo
    command
    

    man erkennt sofort, welche Dateien welchen Zweck erfuellen... Man kann Endungen bestimmten Anwendungen zuordnen, mit der sie geoeffnet werden sollen (.cvs und .txt sind beides reine Textdateien, erstere wuerd' ich aber nie mit notepad und letztere nie mit Excel oeffnen) und ausserdem ist in Filelistings eine einfache Filterung nach gewuenschten Dateitypen moeglich.

    Darueber hinaus sind Dateiendungen fuer den Betrieb vieler Anwendungen zwingend erforderlich (auch ein Compiler geht nach Dateiendungen)



  • also irgendwann gabs mal die Diskussion um Dateiendungen schon
    und afaik gabs da auch mal einen kleinen Glaubenskrieg von den vermeintlich "Großen" zu dem Thema
    ich denk, da kann man sich jetz auch lange drüber streiten, ob eine Dateiendung sinnvoll ist oder nicht
    Aber ich denke, dass das .NET-Framework ja noch ein wenig mehr zu bieten hat, als *.exe-Dateien in binärer Form (oder halb-binär).



  • zwutz schrieb:

    Knuddlbaer schrieb:

    Was erkenne ich an Secret.exe denn genau ? Was wenn ich Secret.exe und Secret.com in einem Verzeichnis habe ? Was sagt mir die Endung denn ?!

    Wird eine Textdatei, die man Secret.exe nennt denn ausfuehrbar ? Ist eine Secret.com die ich Secret.txt nenne denn eine Textdatei?

    Dateilisting unter Windows:

    bar\
    blubb.exe
    foo.txt
    command.com
    

    unter Linux:

    bar
    blubb
    foo
    command
    

    man erkennt sofort, welche Dateien welchen Zweck erfuellen... Man kann Endungen bestimmten Anwendungen zuordnen, mit der sie geoeffnet werden sollen (.cvs und .txt sind beides reine Textdateien, erstere wuerd' ich aber nie mit notepad und letztere nie mit Excel oeffnen) und ausserdem ist in Filelistings eine einfache Filterung nach gewuenschten Dateitypen moeglich.

    Darueber hinaus sind Dateiendungen fuer den Betrieb vieler Anwendungen zwingend erforderlich (auch ein Compiler geht nach Dateiendungen)

    du hast nicht verstanden, was knuddelbär gesagt hat 👎



  • typischtroll schrieb:

    du hast nicht verstanden, was knuddelbaer gesagt hat

    dann sag du es mir doch



  • Was man gerne hat:
    Typen für Dateien, wegen der genannten Vorteile.

    Was man nicht gerne hat:
    Den Typ im Dateinamen kodiert.

    Windows mach beides.
    Linux keines (Flag für ausführbar zählt nicht)
    Ein Dateisystem mit Datei typen als "Metadata" oder so ähnlich gibt es meines Wissens nicht (Warum eigentlich?)

    Back to .Net Nörgeln


Anmelden zum Antworten