Click here to Skip to main content
Click here to Skip to main content

Writing High Level, Thinking Low Level for .NET.

, 28 Dec 2009
Rate this:
Please Sign up or sign in to vote.
I recently read a book by Randall Hyde; the author of ‘The Art of Assembly’. In his new series on ‘writing great code’, he suggests to the use to think low level when writing high-level code. In .NET the low level construct is ‘IL’ Intermediate Language. There are several advantages to...
I recently read a book by Randall Hyde; the author of ‘The Art of Assembly’. In his new series on ‘writing great code’, he suggests to the use to think low level when writing high-level code. In .NET the low level construct is ‘IL’ Intermediate Language. There are several advantages to understanding how the compiler will compile your high-level code into IL. However, there are not many resources to decompile a section of code to see what the compiler is doing.
One great tool I have found for doing this is ‘LINQ Pad’. LINQ Pad features a lambda λ button for doing just that. A nice thing about the ‘decompiler button’ is that it has different decompile options. I personally use the ‘statement decompiler’. It makes it easy to decompile just the statement or lines I need to see IL for.
 
You will need some general understanding of IL, which can be found on Microsoft’s web site at:
 
http://msdn.microsoft.com/en-us/netframework/aa569283.aspx
 
Well that is all for now. Hope this tip helps. More to follow.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Proto-Bytes
CEO AW Proto-Code, Inc.
United States United States
I’m a self learned wiz kid turned Architect. Stared with an Apple IIe, using AppleSoft Basic, ProDos and Begal Basic at age 10.
 
Picked up LPC in college before the Dot Com Explosion. Wrote some Object C in the USAF for one of my instructors. Got a break from a booming computer manufacture testing server software. Left the Boom and went to work for a Dot Com built from the ashes of Sun Micro in CS. Mentoring in Java solidified me as a professional developer. Danced in the light of the sun for 13 years, before turning to the dark side. An evil MVP mentored me in the ways of C# .NET. I have not looked back since.
 
Interests include:
 
~ Windows Presentation Foundation and Silverlight
~ Parallel Programming
~ Instruction Set Simulation and Visualization
~ CPU to GPU code conversion
~ Performance Optimizations
~ Mathematics and Number Theory
~ Domain Specific Languages
~ Virtual Machine Design and Optimization
~ Graphics Development
~ Compiler Theory and Assembler Conversion Methodology
~ CUDA, OpenCL, Direct Compute, Quantum Mechanics
 
IEEE Associate Member 2000
Group type: Organisation (No members)


Follow on   Twitter

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 28 Dec 2009
Article Copyright 2009 by Proto-Bytes
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid