🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #9793

Re: .NET krytycznym okiem

#9793
From: Piotr 'Qertoip' Włodarek
Date: Sun, 06 Nov 2005 11:38
66 lines
3908 bytes
> Czy można gdzieś przeczytać słowa krytyki na temat platformy dotnet, bo
> jak na razie gdziekolwiek nieczytałbym, to jest przedstawiana w samych
> superlatywach.

Głównie dlatego, że .NET to rzeczywiście bardzo dobra platforma. Innym
powodem może być fakt, że żeby ją sensownie krytykować, trzeba ją zgłębić, a
to zajmuje sporo czasu... podczas którego można się do niej przekonać ;)

Z sensownej krytyki widziałem kiedyś duży artykuł uznanego konsultanta .NET,
który platformą się znudził i ją "porzucił". Nie mam czasu szukać teraz
linka (może ktoś ma pod ręką?), ale artykuł wywołał sporo zamieszania.

Często też zarzuca się platformie brak przenośności, uznając alternatywne
implementacje za daleko niedojrzałe.

++++

Poniżej jest moja osobista krytyka, dotycząca dwóch aspektów .NET
Dotyczy wyłącznie .NET 1.1, oparta jest na około roku doświadczenia, więc
śmiało można zarzucić jej lamerskość ;)

1. MS zrezygnował z object spaces i zdecydował się na relacyjne podejście do
danych w obiektowych językach. Mi się to nie podoba, wielu deweloperom
również; powstało mnóstwo narzędzi O/RM wypełniających tą lukę, a skutek
taki, że co projekt, to całkiem inna architektura DAL.

2. a) ASP.NET jest koszmarnie skomplikowane, a przez to trudne do zgłębienia
i zapamiętania. N.p. przepływ sterowania. Częściowo wynika to z
elastyczności, ale czy na pewno nie dało się tego zrobić prościej?

2. b) ASP.NET oferuje naprawdę potężną abstrakcję nad podstawowymi
mechanizmami tworzenia stron, zwłaszcza nad protokołem HTTP. Zwykle dzięki
posiadaniu wygodniejszego modelu programistycznego możemy znaczne szybciej
tworzyć rozwiązania. 

Nie inaczej jest w przypadku ASP.NET... *pod warunkiem*, że zgodzimy się, 
aby technologia sterowała naszymi wymaganiami, zamiast wymagania użyciem 
technologii.

Problem polega na tym, że owa abstrakcja (w wersji 1.1, co podkreślam) 
jest daleka od doskonałości.

Jeśli pogodzimy się z jej niedoskonałościami, życie jest proste i 
faktycznie możemy cieszyć się zaskakująco wydajnym tworzeniem aplikacji. 

Jeśli zaczynamy walczyć z problemami, nagle okazuje się, że gubimy się w 
grubej warstwie pomiędzy prostymi technologiami (HTTP, HTML, JS) a 
powierzchnią oferowanej abstrakcji.

Np. strona będzie źle zaindeksowana przez wyszukiwarki, wiele zasobów 
nie będzie miało własnego URI (co trochę przeczy istocie Internetu), 
strony będą ciężkie, bo viewstate przy repeaterze musi być włączony,
kod będzie niezgodny ze standardami W3C...

...co zresztą jest całkiem akceptowalne w intranecie.

Oczywiście każdy z powyższych problemów da się jakoś rozwiązać,
ale wtedy właśnie ASP.NET przestaje być milutką technologią, delikatnie
mówiąc. Szczęśliwie ASP.NET 2.0 rozwiązuje wiele takich problemów.


-- 
| Piotr 'Qertoip' Włodarek
| www.piotr-wlodarek.pl/komercha/ - Ranking technologii IT na rynku pracy
`-> Software Engineering 4 Those Who Care About The Craft
Technical Details
Message-ID: <7g25qr1l5nal.dlg@piotr-wlodarek.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <dkj7pd$o6q$1@nemesis.news.tpi.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Piotr 'Qertoip' Włodarek <qer1@o2.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: .NET krytycznym okiem
Date: Sun, 6 Nov 2005 12:38:58 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 66
Message-ID: <7g25qr1l5nal.dlg@piotr-wlodarek.pl>
References: <dkj7pd$o6q$1@nemesis.news.tpi.pl>
NNTP-Posting-Host: ntwklan-81-219-20-237.devs.futuro.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1131277139 28454 81.219.20.237 (6 Nov 2005 11:38:59 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Sun, 6 Nov 2005 11:38:59 +0000 (UTC)
X-User: qer1
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit