Hvad er det for noget information du ønsker? Ulemper i forhold til hvad? Der er sikkert dem der vil sige at det er en ulempe at det er MS der står bag - andre vil se det som en styrke, så du er nok nødtil at vøre lidt mere præcis i dit spørgsmål.
Den eneste ulempe ved .NET er at jeg ikke kan finde ud af det..
Nej, jeg tror at de folk der kører MS platformen er meget positive overfor .NET, da der er en masse gode funktioner i .NET. Men skal du have noget negativt om .NET, er du nok nød til at spørge nogle linux tilhængere, som udelukkende bruger OpenSource. De har nemlig altid noget negativt at sige om MS
Du må gerne beholde de point for min skyld, da der ikke er nogen der har specifikt har svaret på spørgsmålet, men det er måske fordi der ikke er et svar på det. :-)
Valget mellem .NET eller ikke .NET afhænger som sagt i høj grad af ens platform strategi (hvor meget man satser på Microsoft).
Men når man så skal arbejde med .NET så støder man ind i nogle ting som man selv ville have lavet anderledes.
Det er ikke nødvendigvis det samme for alle personer.
Og alle sprog har et elelr andet man finder upraktisk (hvis jeg nogensinde møder ham der besluttede at Java ikke skulle have unsigned data typer, så risikerer jeg tiltale for drab !).
Min liste over ting i .NET jeg ville have lavet anderledes er:
1) .NET ligger kraftigt op til database specifik programmering med System.Data.SqlClient namespace. Man kan godt encapsulate det pænt, men 95% af de begyndere som starter med .NET for skrevet deres kode database specifik.
2) XML parseren er hardcoded. Man er nødt til at bruge den MS leverer. Hvis man brugte passende GoF patterns, så ville det være muligt at replace den uden at ændre/recompile koden.
3) Remoting mangler en nem callback funktionalitet. Alle eksempler jeg har set har været meget komplekse. Så naturlig en funktionalitet burde være nem at implementere.
4) DateTime Parse's format gæt er møg irriterende. Man burde kunne angive formatet ligesom i ToString.
5) Properties burde ikke have været bygget ind i sprogene. Det repræsenterer en bestemt kode stil og jeg synes ikke at man på den måde skal favorisere en bestemt kode stil. Hvis folk vil encapsulate på den måde, så må de lave Get og Set.
[det var dem jeg lige kunne komme i tanke om - der er sikkert flere]
Jeg kan godt se det er et spørgsmål om kodestil, men personligt synes jeg at C# måden giver en renere kode, det er lettere at adskille de forskellige property funktioner fra hinanden, og ikke mindst fra de normale funktioner/metoder.
arne_v>> der er jo ingen der tvinger dig til at bruge properties... dvs, jo, i allerede eksisterende kode, men når du skriver egen kode kan du bare lade dem være, og lave setV og getV-metoder.
Ang. dine punkter
1. Enig. Det er ærgeligt at der er lagt så meget vægt på deres SQL-server (MSDE), da mange nye indenfor .Net automatisk bruger den, da alt andet er for besværligt.
2. Det kender jeg ikke nok til at kunne udtale mig om. Men generelt synes jeg MS har været meget flinke til at sørge for at mange centrale dele af koden benytter interfaces som man er frit for at skifte ud.
3. Hehe... tror jeg der er mange mange mange folk rundt om i verden der har fået grå hår over ;)
4. Tja... det er da rigtig nok. Sørger man for at formatere sine strings ordenligt får man dog ikke de store problemer
Tja - jeg betragter det bare som overflødigt stuff. Jeg synes også at C++ IO med overload af << og >> er håbløst overflødigt. Men nogen har jo tilsyneladende syntes at det var en god ide.
re 2) Interfaces er gode, men det kræver factories at undgå konkrete klasser helt.
Derudover synes jeg at understøttelse af flere sprog i .Net er med til at øge kompleksiteten i programmeringen. Fordelene ved flere sprog, synes jeg ikke opvejer ulemperne ved det.
runesoft>> så du synes ikke om this[object arg] ??
jeg synes nu den er meget dejlig, nærmest uundværlig, når man laver typesafe collections og vil beholde samme syntaks for indexing som normale arrays har.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.