über .Net nörgeln



  • .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



  • zwutz schrieb:

    typischtroll schrieb:

    du hast nicht verstanden, was knuddelbaer gesagt hat

    dann sag du es mir doch

    das war kein troll. das war nur ich von einem anderen rechner. seit wann gibt dir die dateiendung garantie über den inhalt? ist schon toll das windows alles nach endung überprüft und entprechende programme nach doppelklick dann schön abstürzen weil der inhalt nicht zur dateienddung passt 🙄
    unter unix-derivaten gibt es übrigens ein schönes tool names file. ein, zwei zeilen bashscript, und ich kann wesentlich verlässlicher dateien nach inhalt auflisten, als es mit diesen schwachsinnigen dateiendungen möglich ist.



  • Man Dateiendungen wollte ich hier nicht diskutieren. Aber gut, kurzer Ausflug.

    Unter Linux zeigst Du uns die einfache Auflistung eines Verzeichnisses. Dann verwende auch bitte unter Windows die einfache Version (/B)

    C:\t\test>dir /b
    datei
    verzeichnis

    Beim Verzeichnis gibt es - zumindest bei mir unter cmd - kein \

    bar\
    blubb.exe
    foo.txt
    command.com

    Alles was ich da sehe: Eine Datei namens blubb.exe , foo.txt und command.com . Ob command.com nun ausführbar ist oder eine Textdatei ist, sieht man an diesem Listing nicht.

    Mein guter alter Amiga A500 konnte auch Anwendungen Dateitypen zuordnen, ganz frei von Dateiendungen. Hierzu wurde einfach der Header der Datei analysiert und zugeordnet. Dateiendungen sind schlicht nicht zwingend erforderlich. (Kurzum: Wenig Rechenleistung, keine Dateiendungen, kein Veralbern von Anwendern in dem man einfach eine Datei umbenannte.)

    Wie aber gesagt wurde, gab es diesen Glaubenskrieg bereits und hier möchte ich viel mehr Probleme mit dem Framework diskutieren , nicht alte Glaubenskriege ausgraben. Oder diesen bitte in einem neuen Thread anzetteln.

    Collections, die als Positionsangabe ein object entgegen nehmen nennen sich z.B. Dictionary.

    Würde für einen numerischen Index ein object verwendet, hättest Du massig Nachteile durch (un|%)boxing. Dies durch ein Interface erzwungen bedeutet massig Performanceverlust für alle folgenden Klassen.

    Diese Ansicht stellt eine Möglichkeit dar, warum viele Collections einen int nehmen. Möglich wäre es auch, das die Entwickler zu faul waren uint zu schreiben weil int einfach sitzt. Die genauen Gründe kennen wohl nur die Designer.

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

    Polemik ? 🤡


Anmelden zum Antworten