<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"><channel>
<title>.net</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/</link>
<description>Recent changes in .net</description>
<item><title>.net</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/.net</link>
<guid>http://sange.fi/~atehwa/cgi-bin/piki.cgi/#1119876101</guid>
<description>&lt;p&gt;&lt;ins&gt;Microsoftin uusi(n) hype.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Minulla ei ole pienintäkään aikomusta koskea tähän käytännössä, 
joten en voi tarjota kovin teknistä mielipidettä (niitä on muutenkin 
netissä tarpeeksi, esim. 
http://www.kuro5hin.org/story/2003/7/11/21859/2846). Sen sijaan voin 
tarjota ohjelmoijan näkökulman hypen alle.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;.NET:n sydämessä on kaksi asiaa: yhtenäistetty runtime 
environment (CLR), ja kasa (luokka)kirjastoja. CLR on "avoin" standardi 
(altis Microsoftin laajennuksille ja muille päähänpistoille), ja se 
toimii välimuotona, johon ohjelmat käännetään ja josta niitä ajetaan 
eri koneilla - aivan samaan tapaan kuin JVM, joka on Javan ytimessä. 
(Tarkennus tähän terminologiaan vielä: sekä CLR että JVM ovat itse 
asiassa tämän välimuodon ajo''toteutuksia'', välimuotoa itseään 
kutsutaan JVM:n tapauksessa Java-bytecodeksi, CLR:n vastaavan nimi on 
MSIL.) CLR:in on Microsoft tuottanut aika monen kielen 
käännöstoteutuksen, kun taas ohjelmien kääntämiseksi JVM:lle on 
kaziljoona Sunista riippumattomien instanssien tuottamaa 
toteutusta.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;CLR:n ytimessä (tavallaan rajoittamassa sitä, mihin se taipuu 
ja mihin ei) on sen tyyppijärjestelmä (CTS, common type system). Tämä 
tyyppijärjestelmä näyttää suunnilleen Java-kielen tapaiselta, ja siitä 
puuttuvat (muistaakseni) parametriset tyypit, ad hoc -alatyyppisyys 
(siis että alatyypin ei tarvitse olla alaluokka), funktionaaliset 
tyypit jne. Se siis olennaisesti rajoittaa uudenaikaisempien kielten 
järkevää toteuttamista .NET-alustalla. Tämä on primäärinen syyni 
vastustaa .NET-teknologiaa.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Jäljelle jäävät kirjastot. Olen nähnyt aika vähän arvioita 
.NET:n standardikirjastoista, mutta oletan, että niiden tila muistuttaa 
Java-kirjastojen alkutaipaleen tilaa. Suunnilleen kunnolla suunniteltu, 
liian suppeat useimpiin asioihin, kehittyvät hirveää vauhtia ja mihin 
suuntaan sattuu, ja todennäköisesti päätyvät samanlaiseksi sotkuksi 
kuin kaikki Microsoftin luokkakirjastokokoelmat tähänkin mennessä (MFC, 
COM -perusluokat, ActiveX jne...)&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Mutta arvatkaa mitä? C-kirjastoja (tadaa) on suunnilleen joka 
tarkoitukseen maan ja taivaan välillä. Ja useimmat ohjelmointikielet 
tarjoavat jonkinlaisen tavan käyttää niitä.&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;[kategoria: mv-mielipide] // 
http://c2.com/cgi/wiki?MicrosoftDotNet // 
http://c2.com/cgi/wiki?CommonLanguageRuntime //&lt;/ins&gt;

</description>
<pubDate>Mon, 27 Jun 2005 12:41:41 +0000</pubDate>
</item>

</channel></rss>
