über .Net nörgeln
-
templäd schrieb:
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 ...; } }
Der Grund ist AFAIK dass das Common Type System nicht vorschreibt dass eine Sprache unsigned Typen unterstützen muss.
-
EDIT: Mist zu lang zum schreiben gebraucht
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.
*lol* Interessante Gedanken, aber stimmen leider nicht
Die wissen schon warum sie das gemacht haben.Um die Menge an verfügbaren und zukünftigen .Net Sprachen unter einem Hut zu bringen, muss eine bestimmte Menge an Funktionalität vorgeschrieben werden, dass sprachübergreifend problemlos zusammengearbeitet werden kann. Dafür gibts die CLS (Common Language Specification). Was dort drin steht muss eine Sprache erfüllen um als .Net kompatibel zu gelten.
Unsigned Datentypen gehören nicht dazu! Deshalb darf in der Klassenbibliothek überhaupt nie irgendwo unsigned ... verwendet werden, da sonst nicht garantiert wäre dass die Klasse mit allen .Net Sprachen benutzt werden kann. Somit erledigt sich die Frage warum IList einen signed Integer verwendet und nicht ein unsigned.
Einem selber steht es natürlich frei auch Indexer mit anderen Datentypen zu implementieren, aber kompatibel zu allen Sprachen wird das nur bedingt.
Und für eine Liste mit numerischen Index object als Indextyp zu verwenden ist doch unsinnig. Wie Knuddelbaer sagt, da gibts Dictionaries die Schlüssel/Wert Paare speichern.
-
Danke für die Info!
CLS enthält keine unsigned typen !wichtig! werd ich mir merken.
Über die eigenartige Syntax zur Definition eine [] operators kann ich hinwegsehen.Ansonsten scheint es mir so als gäbe es nicht so viel zu Nörgeln oder?
Ich überlege noch ein bißchen.
-
Also über die Dateiendung zu nörgeln finde ich auch schon fehl am Platz, da die Technologie nun mal von der MS-Plattform ausgeht wo sie bislang immer Standard war. Zumindestens kann ich dies nicht .Net anlasten.
Ich bin jetzt nicht von .Net 100%ig überzeugt, muss aber dennoch sagen das mir viele Ansätze im .Net (gerade ab den .Net Framework 3.0; ins Besondere WPF, WCF...) sehr zusagen. Das Problem mit dem Monopolist sehe ich durchaus, aber ich bewerte eine Programmierumgebung mehr nach der Handhabung als nach dem Namen der dahinter steckt). Eine höhere Portabilität und Standardisierung fände ich auch gut, und ich hoffe das Mono weitgehend nachziehen kann (wobei ich nicht damit Rechne das z.B. WPF kurzfristig portiert wird - wobei dies mit OpenGL-Mitteln wohl auch machbar sein dürfte).
cu André
-
Knuddlbaer schrieb:
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.
Bei .NET war eines der Ziele Sprachunabhängigkeit, nicht die Platformunabhängigkeit.
Gruss Simon
-
zur Java JRE gabs auch andere Sprachen, wie zum beispiel Groovy. Aber produktiv arbeiten kann man damit schon, auch wenn es unter Linux dazu doch etwas einrichtungszeit benötigt, weil .NET eben nicht alles bietet, um Plattformunabhängig zu sein. Genannt habe ich die dinge schon, die Probleme verursachen, wie zum Beispiel dass sich .NET auf wildows DLLs stützt, die unter Linux einfach nicht verfügbar sind. Aber wenn es sich doch noch um DLLs handelt, die als lib.so unter Linux vorhanden sind, dann haben die einen anderen namen, was dazu führt, das sie ohne weiteres nicht gefunden werden. Vieles, was auf Windows sehr sauber aussieht, wird damit unter Linux zu einer unschönen Frickelei. Die Dateiendung .exe stört deshalb, weil ich unter linux gerne meine Mono programme eindeutig identifiziert haben möchte, damit ich sie in verbindung mit der mono plattform Bringen kann, das geht aber nicht, weil es auch noch Programm gibt, die die endung .exe haben, allerdings mit wine gestartet werden sollen. Ansonsten ist mir die Endung ziemlich egal, sie soll ihren Zweck als Typ-Identifizierung übernehmen, was sie hier allerdings nicht mehr kann.
Zur Diskussion, dass man eine Dateiendung einfach ändern kann, was dazu führt, dass die Dateien mit den falschen Anwendungen geöffnet werden. Sollte der Dateityp im Header Stehen, wer sollte einen Anwender daran hindern, den Header zu ändern? So kann man auf die gleichen Fehler kommen. Die beiden Arden den Typ einer Datei festzustellen sind somit gleichwertig. Die einzige sicherheitslücke ist es die dateiendungen ausblenden zu lassen, denn so sieht eine Wichtig.pdf.exe wie ein harmloses dokument aus, kann sich aber als ein gefährlicher Virus entpuppen. Aber wer stellt schon die Dateiendungen ab? Ich hoffe hiermit ist die Diskussion über Dateiendungen endgültig erledigt.
-
asc schrieb:
wobei ich nicht damit Rechne das z.B. WPF kurzfristig portiert wird - wobei dies mit OpenGL-Mitteln wohl auch machbar sein dürfte).
Denkst du? Ich glaube das nicht das es noch allzu lange dauern kann bis ein paar 3D-Freaks sich Moonlight krallen, OpenGL darunter schieben und Schritt für Schritt die Fehlenden Sachen nachbauen. Jetzt da es WPF/E schon open source gibt ist die Schwelle nicht mehr so hoch als wenn gar nichts da ist bis auf etwas Doku im MSDN und das XAML-Schema
-
Sollte sich Silverlight durchsetzen, was wird dann aus Flash? und Newgrounds? Aber die Hardwareunterstützung sprich ja schon für Silverlight, das hat imho Flash noch nicht.
Ich hab mal gehört, Microsoft will sogar ein eigenes Microsoft
PDF herausbringen will. Ich kann nur hoffen, dass sich das nicht durchsetzt, weil Monopole sind Scheiße. Und wer jetzt nur auf die Microsoft Plattform setzt, der ist später mitschuld, falls Microsoft diesen Status erreichen sollte.
-
Krux schrieb:
Sollte sich Silverlight durchsetzen, was wird dann aus Flash? und Newgrounds? Aber die Hardwareunterstützung sprich ja schon für Silverlight, das hat imho Flash noch nicht.
Viel wichtiger ist, dass sich Silverlight in erster Linie an Entwickler richtet und hier eine wesentltlich bessere Plattform als Flash/Flex bietet.
Ich hab mal gehört, Microsoft will sogar ein eigenes Microsoft
PDF herausbringen will.
Gibt es schon: XPS.
Wobei ich es vom technologischen Standpunkt eigentlich interessanter finde, dass WPF auch Dokumentbeschreibung zulässt. Mal schaun, was daraus wird.
Ich kann nur hoffen, dass sich das nicht durchsetzt, weil Monopole sind Scheiße.
Ah und was ist PDF?
-
PDF ist sicher lange kein Adobe Monopol mehr, man braucht schon lange kein Adobe programm mehr, um PDF nutzen zu können, weder zum erstellen, noch zum lesen.
Was ich meine ist, Microsoft versuch doch seinen eigenen Blitzkrieg durchzuführen. Alles was schon auf dem Markt ist, und sich grade durchsetzt, davon klaut Microsoft die Idee, setzt den eigenen Namen drunter, und Punmt da unmengen an Kapital rein, damit es das Original vom markt schwemmt. Anstatt mit Adobe sich an einen Tisch zu setzen, um gemeinsam das PDF format zu verbessern, wird XPS herausgebracht. Nicht dass microsoft sich mit an die Java IDE hängt, um die zu verbessern, nein Microsoft will sie überrollen. Stellt euch mal vor, ihr wollt ein unternehmen gründen, und habt eine Idee, diese Wird umgesetzt, ist erfolgreich, und ihr expandiert. Dann bekommt Microsoft wind von dieser Idee, und kauft sie nicht auf, so wie das alle Unternehmen tun würden, nein sie bauen es nach, es wird mehr Geld reingesteckt, als man das selber je könnte, und auf dem Markt gebracht. Dann wird noch mal Groß die werbetrommel gerührt, und als die neue Große Microsoft Idee Verkauft, technisch perfekt umgesetzt. Alle anfangsschwierigkeiten, die das eigene Projekt noch hat, und grade ausgebügelt werden, sind Perfekt gelöst. Das ist es was mich eigentlich an .NET aufregt, technisch ist es sehr Gut umgesetzt, man kann kaum meckern, ausser, dass Microsoft wenig daran liegt, das ganze auch auf Plattformen laufbar zu machen, die nicht von Mircrosoft sind.
-
Konrad Rudolph schrieb:
Ich kann nur hoffen, dass sich das nicht durchsetzt, weil Monopole sind Scheiße.
Ah und was ist PDF?
PDF ist seit 1. Juli 2008 offener Standard. Ausserdem stellte Adobe die Spezifikationen schon lange vorher zum kostelosen Download bereit.
-
Hmm, der erste Juli ist genau 9 Tage her, die 15 Jahre vorher seit es PDF gibt hat Adobe das Monopol aber mächtig ausgereizt. Die Jahre war PDF ein kommerzielles properitäres Format, auch wenn es in den letzte Jahren andere Tools zur Erstellung gab. Da ist Abobe nicht viel anders als Microsoft als Quasimonopolist bei Betriebssysteme und Office Software.
XPS wurde dagegen sofort bei der ECMA als Standard eingereicht. Wie so vieles anderes auch an .Net was standardtisiert wurde.
@Krux
Du redest leicht von "an einen Tisch setzen und verbessern" aber allermeistens wollen das die entsprechenden Firmen gar nicht. Adobe lässt sich von keinen ins PDF Format reinreden und Sun mit Java damals wie heute genauso. Microsoft hat ne erweiterte Java Version rausgebracht mit J++, Sun meckert rum, Microsoft darf das nicht mehr Java nennen und dann wundert sich jemand das man einen Gegenentwurf in Form von .Net präsentiert? Wieso sollten die sich unter solchen Umständen auch an irgendeiner Java IDE engagieren wo sie doch selber eh von Haus aus eine sehr starke IDE haben. Das VS ist älter als die meisten Java IDEs.Das ist es was mich eigentlich an .NET aufregt, technisch ist es sehr Gut umgesetzt, man kann kaum meckern, ausser, dass Microsoft wenig daran liegt, das ganze auch auf Plattformen laufbar zu machen, die nicht von Mircrosoft sind.
Wieso sollten sie auch? Den allermeisten Umsatz machen sie mit Windows Produkten, ist doch nicht verwunderlich dass sie eine Technologie von denen dann auf ihre Plattform zugeschnitten wird. Wenn du z.B. irgend nen Dokument schreibst auf Arbeit oder Schule oder wie auch immer, dann schreibst du des doch auch nur in einer Sprache, oder übersetzt du es immer in zig verschiedenen Sprachen in der Hoffnung dass es irgend nen Inder mal freut das du nen paar Worte Hindi raus bekommen hast. Die Zielgruppe ist viel zu klein um sich die ganze Mühe zu machen. Stattdessen konzentrieren sie sich auf ihr Kerngebiet und bieten dort auf das System angepasste Software an. Ist doch strategisch voll nachvollziehbar warum sie sich auf ihe Plattform konzentrieren.
Das sollen jetzt keine Lobeshymnen auf Microsoft werden, aber diese ewige gebashe mit vollkommen haltlosen Argumenten (wenn es denn überhaupt mal Argumente gibt) gegen MS find ich sinnlos. Manche tun echt so als wenn MS das Böse in Person ist, dabei ist es auch nur eine Firma die zusehen muss wie jede andere auch dass ihr Geschäft läuft.
-
microsoft ist das beste, was wie wo da ist.
-
Krux schrieb:
PDF ist sicher lange kein Adobe Monopol mehr, man braucht schon lange kein Adobe programm mehr, um PDF nutzen zu können, weder zum erstellen, noch zum lesen.
Siehe Tallas Antwort.
Anstatt mit Adobe sich an einen Tisch zu setzen, um gemeinsam das PDF format zu verbessern, wird XPS herausgebracht.
Siehe Tallas Antwort.
Nicht dass microsoft sich mit an die Java IDE hängt, um die zu verbessern
Welche Java-IDE? Und wieso sollte Microsoft das tun? Visual Studio war eigentlich schon immer State of the art, was IDEs angeht, es gab nie Grund, das eigene Produkt zugunsten eines andere, schlechteren Produkts fallenzulassen.
nein Microsoft will sie überrollen. Stellt euch mal vor, ihr wollt ein unternehmen gründen, und habt eine Idee, diese Wird umgesetzt, ist erfolgreich, und ihr expandiert. Dann bekommt Microsoft wind von dieser Idee, und kauft sie nicht auf, so wie das alle Unternehmen tun würden
… wie das selbstverständlich auch Microsoft tut, oder zumindest versucht. Von Yahoo hast Du noch nie gehört, was?
Das ist es was mich eigentlich an .NET aufregt, technisch ist es sehr Gut umgesetzt, man kann kaum meckern
Das ist ja wohl der größte Quatsch.
.NET „funktioniert“ zwar, technisch gesehen ist das aber ein einziger Flickenteppich. Es gibt jede Menge valide technische Kritik an .NET, daher wundert es mich eigentlich sehr, dass Du Dich so auf die Marketing-Seite verbeißt.
Merke: Microsoft ist keine Wohlfahrt, sondern ein profitorientiertes Unternehmen, und wie jedes andere erfolgreiche Unternehmen setzen sie ihre Ansprüche konsequent und skrupellos durch. Das heißt nicht, dass das moralisch immer vertretbar ist. Aber Microsoft unterscheited sich da kein bisschen von anderen Firmen. Das scheinst Du offensichtlich nicht mitzubekommen, wenn man sich mal Deine Signatur anschaut. Microsoft als „das große Böse“ abzustempeln ist unheimlich naiv. Im Vergleich zu einigen anderen Firmen (spontan fallen mir da Monsanto und Nestlé ein) ist Microsoft richtig lieb und niedlich. Man muss Microsoft auch zugute halten, dass es mehr für seine Mitarbeiter tut als fast jedes andere Unternehmen der Welt. Es ist ja auch kein Zufall, dass Microsoft als eine der ersten amerikanischen Firmen ein Diskriminierungsverbot gegen Schwule und Lesben erlassen hat (was es von staatlicher Seite so nicht gibt), und dass es Jahr für Jahr zu Deutschlands beliebtestem Arbeitgeber gewählt wird.