Úff.. stór spurning :)
Það sem mér finnst einna helst best við .NET er MJÖG bættur stuðningur við forritara.. Þar á ég við hluti eins og auðveldari API, ekkert óþarfa “plumbing / housekeeping”, og managed umhverfi, sem tryggir örugga keyrslu kóðans. Sem sagt MIKLU auðveldara að forrita.. svo er ekki verra að fá C++ keyrsluhraða (ef þú ert ekki að gera einhverja vitleysu) og RAD development sem áður hefur bara þekkst í Visual Basic.
Einnig er margt nýtt þarna á ferðinni sem er mjög sniðugt, svo sem Remoting (ný aðferð til að nota hluti á annarri vél, eða á milli processa á sömu vél), Reflection (forrit geta skoðað önnur forrit í keyrslu.. MARGT þar sniðugt á ferðinni)
ASP.NET kemur líka með margar sniðugar nýjungar, eins og algjöran aðskilnað kóða og útlits.. þar ertu að vinna með “Web Forms” sem eru server controls sem keyra á serverinum og senda frá sér HTML kóða ef clientinn er browser. Einnig er hægt að þýða þessi control yfir í aðra hluti, eins og WML (VML?) fyrir WAP síma og þessháttar, og t.d. senda þessi controls frá sér aðeins mismunandi kóða eftir því hvaða browser er að requesta síðurnar.
Ef þú notar svona “code behind” klasa þá er eina sem þú setur inná vefþjóninn nokkrar .aspx síður sem innihalda uppsetningu útlits og þessa WebForms controls, svo er skilgreining efst í síðunni þar sem síðan erfir einhvern “code behind” klasa, og er nóg að compæla öllum kóða í eina .dll skrá sem er sett í /bin/ möppu. ATH! Þetta er ekki venjulegur COM .dll fæll, heldur .NET assembly sem er töluvert öðruvísi, og margir kalla “COM á sterum”. T.d. til að skipta honum út þarf ekkert að gera nema að skrifa yfir skránna. Þá haldast þau request sem voru í minni í gangi þangað til þau eru búin, og öll ný requests eru serveruð af nýju skránni :) very simple, virkar og er bara brill :)
Svo er hægt að gera allskonar krúsidúllur með ASP.NET, t.d. erfa allir grunnklasar frá System.Web.UI.Page, en hægt er t.d. að búa til klasasafn með nýjum “SidanMin” klasa, sem erfir frá System.Web.UI.Page og útfærir á einhver annan hátt.. annað dæmi væri að búa til “MyTable” klasa sem erfir frá System.Web.UI.WebControls.Table, og gerir allar töflur grænar og samkvæmt einhverju CSS stylesheet :) þarna ertu þá kominn með þína eigin klasa sem útfæra útlit, og ef þú lætur allar síðurnar þínar erfa frá honum er hægt að breyta útlit allra síðna með því að skipta út þessum grunnklasa :) Svo ofaná allt er líka stuðningur fyrir Page Templates o.s.frv. o.s.frv. :)
Það sem er svo gott í .NET er að það er allt mjög opið.. ef þú fílar ekki útfærsluna sem einhver klasi býður, þá býrðu bara til þinn eigin, erfir frá hinum og breytir :) og ef klasinn leyfir ekki að erfa frá sér (er “sealed”) þá geturðu bara búið til wrapper sem stillir properties o.s.frv… sem sagt endalausir möguleikar :)
Hmm.. ég veit nú ekki hversu lengi ég ætla að halda áfram að buna svona svo ég ætla bara að hætta.. en ef einhverjar spurningar vakna.. þá bara skjóta, ég kíki reglulega hingað inn :)
<br><br>-
Skarsnik