Friday, May 15, 2015

You think you know C#? Dive deeper!

Last year during the TechDays I saw these talks by Bart de Smet.

I was really really blown away by these talks. The depth of his understanding of the C# language, the .NET framework, the CLR and even down to machine code was just *freaking* amazing. 

So let me give you an impression what it felt like. I was doing 160 in my Panda ( which is 'pretty good' for a Panda ). You know - I know a bunch of patterns, SOLID things, SCRUM style working, try to keep code coverage up, messaging patterns and I have an idea what Martin Fowler is talking about most of the time. Felt pretty good. And then:

I was ready to park my Panda right there, on the side of the road. What's the point of driving 160 if others drive 300+ ?

It actually took me a while to not think 'this would have taken him 1 second' while working on projects the week after. So I decided to thank him for his talk - to which he responded very friendly:

Shortly after, I found his courses on PluralSight 'C# Language Internals' part 1 and 2. Which I'm doing right now and it's very interesting. I'm not sure whether I can directly apply this knowledge in my daily things, but I'm very happy that the CLR is not as much of a black box to me as it used to be.

Last week, I went down a different rabbit-hole while chasing the SIMD rabbit. That got me to view the 'Making .NET Applications Even Faster' course. Another WOW for me there. This course goes into detail about the Garbage Collector and the difference between debug and release builds. That difference is also discussed in the language internals course in detail, so that helped. 

I guess what it comes down to in short is this: A couple of years ago, I thought it wasn't necessary to know about low level stuff if you're using .NET and I was wrong. Not only can it be very useful, it's also a very interesting new world that will open your eyes to why certain things are the way they are. 

If you think you understand C#, do yourself a favor, get a PluralSight subscription and dive deeper! And these courses are great to get started. 

No comments:

Post a Comment