Expert .NET 2.0 IL Assembler
28.08.2008 | Gunnar
Tegin hiljuti tutvust .NET-i sügavamate soppidega ning lugesin läbi raamatu Expert .NET 2.0 IL Assembler. Raamatu autor on Serge Lidin, kes on IL Assembleri, IL Disassembleri ja IL Assembler keele spetsifikatsiooni looja. Kuigi raamat keskendub peamiselt IL Assemblerile, annab see päris hea ülevaate sellest, kuidas .NET-i madalamad kihid toimivad ja kuidas need üles on ehitatud. Algajatele ma seda raamatut soovitada ei julge - tugevad eelteadmised .NET-i toimimisest on eelduseks, et siinne jutt arusaadav oleks.
Kes ei tea, milline IL Assembler välja näeb, siis kannete C# ja võtmesõna var ja Laiendusmeetoditest lähemalt teine koodi plokk annab sellest esmase pildi.
Raamat mainib erinevates peatükkides ära ka selle, kuidas ühe või teise .NET keele kompilaator ühes või teises olukorras käitub ning millist vahekeele koodi see toodab. Samuti toob Serge välja kõrgema taseme keelte poolt seatavad piirangud, mida IL Assembleri tasemel ei eksisteeri.
Näiteks VB.NET globaalsed muutujad on olemas ka IL Assembleri tasemel, kuigi C# neid otseselt ei toeta. Mulle ehk kõige huvipakkuvam üllatus oli see, et IL Assembleris ei eelda meile kõrgema taseme keeltest tuntud throw, et objektina antakse kaasa System.Exception klassist päritud tüüp. Throw saab IL Assembleri tasemel kenasti hakkama ka kõikide muude objektidega.
Expert .NET 2.0 IL Assembler on osalt hea lugemine ja osalt jällegi käsiraamat. IL Assembleris programmeerides võib selle endale lauanurgale võtta, sest info leiab siit üles päris kiiresti. Raamatu päris priske lisade osa sisaldab erinevaid tabeleid keele instruktsioonide ja palju muu kasuliku kohta.
