The learning curve

The shame! Two months of inactivity on this blog… the reason? A steep learning curve.

I have been diving deep into the .NET framework, at the sub-CLR level. What all the versions mean, how they interact. How assemblies and modules look like at the byte level. What actually happens when methods are called and types are loaded, how memory management is performed, why the reflection api is built the way it is. Next to that, how the C# compiler targets this platform, in detail. And of course, Visual Studio. What does it do when I make a settings, config or resource file or add a windows forms, etc. How do the project and solution files interact with it. But I also got to know it under the hood, because of my lastest project: developing an exploratory modelling extension package for Visual Studio. By the way, this was all quite new to me, although I have quite recently finished courses up until the MCTS level and already have some development experience in .NET. And it occured to me that a lot of developers never make such a deep dive, even when having several years of experience in developing for .NET. So it is apparently not necessary to be able to do my work. Why did I do it then, you might ask?

Getting to know my working environment a few levels deeper has helped me to better understand it , remember the way to manipulate it and predict how it will behave. I am convinced this will help me get the most out it and to be able to keep working sensibly when things become more complex. I have seen too many developers resort to some sort of trial-and-error when things get though, although most of them have had a scientific education. I have seen people doing bug hunting in very strange ways: not even trying to understand what is happening, but just pushing some buttons, moving some code and see if it works. When the thing you work on is very simple and you have a bit of luck, this usually works and will sometimes even be faster than trying to understand it. But when things get complex, the chances of accidentily solving your bug get very small, very quickly..

Any way, reading a lot of books, doing little experiments and making small applications to see how certain technologies work have taken up a lot of time. Oh and of course, December is always full of parties, weekends away, christmas, etc. Sadly, not much was left for writing blog posts. But the good part is that the quality of future blog posts will probably improve because of all the new knowledge – I hope.

Written by Rick | Tags: , , |

No Comments - Leave a comment »

Powered by WordPress | Aeros Theme | WordPress Themes