{"product_id":"net-development-using-the-compiler-api","title":".NET Development Using the Compiler API","description":"\u003cp\u003e\u003cspan class=\"fontstyle0\"\u003eAbout the Author\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"fontstyle2\"\u003eJason Bock \u003c\/span\u003e\u003cspan class=\"fontstyle3\"\u003eis a Practice Lead for Magenic\u003cbr\u003e(\u003c\/span\u003e\u003cspan class=\"fontstyle4\"\u003ehttp:\/\/www.magenic.com\u003c\/span\u003e\u003cspan class=\"fontstyle3\"\u003e) and a Microsoft MVP (C#).\u003cbr\u003eHe has 20 years of experience working on a number of\u003cbr\u003ebusiness applications using a diverse set of frameworks\u003cbr\u003eand languages such as C#, .NET, and JavaScript. He is\u003cbr\u003ethe author of \u003c\/span\u003e\u003cspan class=\"fontstyle5\"\u003eMetaprogramming in .NET, Applied .NET\u003cbr\u003eAttributes\u003c\/span\u003e\u003cspan class=\"fontstyle3\"\u003e, and \u003c\/span\u003e\u003cspan class=\"fontstyle5\"\u003eCIL Programming: Under the Hood of .NET\u003c\/span\u003e\u003cspan class=\"fontstyle3\"\u003e.\u003cbr\u003eHe has written numerous articles on software development\u003cbr\u003eissues and has presented at a number of conferences and\u003cbr\u003euser groups. He is a leader of the Twin Cities Code Camp\u003cbr\u003e(\u003c\/span\u003e\u003cspan class=\"fontstyle4\"\u003ehttp:\/\/www.twincitiescodecamp.com\u003c\/span\u003e\u003cspan class=\"fontstyle3\"\u003e). Jason holds a\u003cbr\u003eMaster’s degree in electrical engineering from Marquette\u003cbr\u003eUniversity. Visit his website at \u003c\/span\u003e\u003cspan class=\"fontstyle4\"\u003ehttp:\/\/www.jasonbock.net\u003c\/span\u003e\u003cspan class=\"fontstyle3\"\u003e.\u003c\/span\u003e \u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"fontstyle3\"\u003e\u003cspan class=\"fontstyle0\"\u003eIntroduction\u003cbr\u003e\u003c\/span\u003e\u003cspan class=\"fontstyle1\"\u003eMost developers I know typically view coding as a means to an end. That is, they write\u003cbr\u003ethe code to satisfy the requirements set forth by the business. The code is interpreted or\u003cbr\u003ecompiled, but either way, the final result is machine code that executes and (hopefully)\u003cbr\u003edoes the right thing.\u003cbr\u003eHowever, there’s more to software development than just that. I’m not talking about\u003cbr\u003eprocess or patterns per se; what I’m getting at is for developers to view their code in\u003cbr\u003ea more analytical way. Throughout my career, I’ve run into numerous cases in which\u003cbr\u003eI would’ve loved to have the ability to analyze my code so I could find errors quickly.\u003cbr\u003eI’ve also wanted to be able to extend and augment languages in certain ways so I didn’t\u003cbr\u003ehave to write the same code over and over again. The primary language that I’ve used\u003cbr\u003ethroughout my career has been C#, and although C# is a fine language to develop in, it\u003cbr\u003eseemed to lack these dynamic, analytical capabilities.\u003cbr\u003eThat’s no longer the case. Microsoft has provided public, open-source components\u003cbr\u003ein its Compiler API that allows developers to create analyzers that will help them detect\u003cbr\u003eproblematic issues. This API also empowers developers to build code at runtime to create\u003cbr\u003eamazing, dynamic applications and libraries. Because all of this code is open source, it’s\u003cbr\u003eavailable to read and contribute to. Enabling .NET developers to shape and mold the\u003cbr\u003efuture of the .NET compilation system is a wonderful thing to behold, and it’s exciting to\u003cbr\u003esee the development community embrace this model.\u003cbr\u003eI wrote this book to help you navigate this new open-source API world. In it, I\u003cbr\u003edemonstrate how to use the Compiler API to write custom analyzers and refactorings to\u003cbr\u003eimprove your code base. I show you how to use the Scripting API (part of the Compiler\u003cbr\u003eAPI) to use C# as a scripting language, a feature that was essentially unavailable to C#\u003cbr\u003edevelopers. I also illustrate how to use the Compiler API in innovative ways that go\u003cbr\u003ebeyond these typical scenarios. My hope is that when you’ve finished this book, you’ll\u003cbr\u003eview C# and the ecosystem that supports it in a fundamentally different (and hopefully\u003cbr\u003epositive!) way—as a language that is open in terms of its implementation and its\u003cbr\u003ecommunity involvement.\u003cbr\u003e\u003c\/span\u003eWho This Book Is For\u003cbr\u003e\u003cspan class=\"fontstyle1\"\u003eThis book is for architects and developers who have experience with C# and want to dive\u003cbr\u003edeeper into how code is compiled and executed. There’s no expectation that the reader\u003cbr\u003ehas any experience with compilers, but I do assume that the reader has foundational\u003cbr\u003eknowledge of C#.\u003c\/span\u003e \u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e","brand":"Amjad Traders","offers":[{"title":"Default Title","offer_id":48506121650370,"sku":"Amjad0001","price":600.0,"currency_code":"PKR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0768\/2972\/0770\/files\/01.jpg?v=1785246229","url":"https:\/\/amjadtraders.online\/products\/net-development-using-the-compiler-api","provider":"Amjad Traders","version":"1.0","type":"link"}