32 ms·
.NET JIT and CLR – Joined at the Hip
- Rapzid 8y agoThese blog posts on deep dives into the .Net internals is one of my favorite side effects of it being open sourced. I also enjoy the internal blog posts from teams such as Edge at MS. It is a great time for software to be sure.
- matthewwarren 8y ago> ... is one of my favorite side effects of it being open sourced. Agree! I would never have the time or expertise to work all this out just using WinDBG or similar. Having the source, including decent comments and things like the BOTR [0] is amazing for exploring the internals! [0]: https://github.com/dotnet/coreclr/tree/master/Documentation/botr#the-book-of-the-runtime https://github.com/dotnet/coreclr/tree/master/Documentation/...
- nightski 8y agoIt's great for sure but there were deep dive books much more comprehensive than this on the clr and jit that I read a decade ago. Microsoft press has always had great technical resources. I actually really miss the days of technical books. Blog posts serve a purpose but they definitely never adequately replaced books.
- matthewwarren 8y ago> It's great for sure but there were deep dive books much more comprehensive than this on the clr and jit that I read a decade ago. Out of interest, which books are you referring to? I'm always on the lookout for more (decent) technical books to read! :-)
- kernoble 8y agoThese are great! I'm impressed with the testing approach. Is anyone aware of similar articles/explanations of the JVM runtime and JIT?
- matthewwarren 8y ago> I'm impressed with the testing approach. Likewise, I really liked the SuperPMI tool, it's a very interesting way of testing > Is anyone aware of similar articles/explanations of the JVM runtime and JIT? I've recently come across this article about the JVM that discusses internals, http://blog.jamesdbloom.com/JVMInternals.html http://blog.jamesdbloom.com/JVMInternals.html Also the slides from this presentation a very good https://jpoint.ru/en/talks/5vqeeeo89yk6q8qmm0y8sg/ https://jpoint.ru/en/talks/5vqeeeo89yk6q8qmm0y8sg/
- epx 8y ago.NET, Java, etc. all sound so 1990-ish.
- ct520 8y agoI could see how people could say that. As someone that loves to explore languages and frameworks. My opinion is if you haven't checked out the new .NET ecosystem it's worth a look/revisit.
- epx 8y agoPerhaps I will. I have a huge bias - PTSD from frameworks and I could not swallow why GNOME tried to steer to .NET/Mono at one point.
- CodeCube 8y agoCan you expand a bit on what you mean by "PTSD from frameworks"?
- epx 8y agoSure. Basically, fear from lock-in, fear from having to do major rewrites because version+1 is completely different, or because vendor ditches the whole thing or goes bankrupt. To be fair, Java and .NET fared well since then - both still exist and it it is very convenient to e.g. drop an old JAR in a project and just use it without issues.
- benaadams 8y ago.NET Core has pretty strong backwards compatibility rules: https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/breaking-changes.md https://github.com/dotnet/corefx/blob/master/Documentation/c... > We generally don't accept change proposals that are in bucket #1. ... > Bucket 1: Public Contract Clear violation of public contract. > Examples: > - Renaming or removing of a public type, member, or parameter > - Changing the value of a public constant or enum member > - Sealing a type that wasn't sealed > - Making a virtual member abstract > - Adding an interface to the set of base types of an interface > - Removing a type or interface from the set of base types > - Changing the return type of a member > - ...or any other incompatible change to the shape of an API