دات نت و معماری Runtime دات نت
از کد تا Intermediate Language (IL) 📝➡️🔄
وقتی کد C# را مینویسید، کامپایلر Roslyn وارد عمل میشود تا آن را به (IL) تبدیل کند. این مرحله که به عنوان compile time شناخته میشود، زمانی است که کد شما از فرم قابل خواندن توسط انسان به IL تبدیل میشود. اما چرا IL؟ چرا مستقیماً در کد اسمبلی کامپایل نمیشود؟ 🤔
جادو در انعطاف پذیری DotNet Framework نهفته است. DotNet به گونهای طراحی شده است که پلتفرم آگنوستیک باشد، میتواند در محیطهای مختلفی مانند ویندوز، مک و اندروید اجرا شود. هر محیط دارای Common Language Runtime (CLR) خود است که برای آن پلتفرم خاص بهینه شده است. این بدان معنی است که کد IL شما میتواند در سیستمهای مختلف اجرا شود و یک معماری زمان اجرا همه کاره و قدرتمند ارائه دهد. 🌍✨
نقش (CLR) ⏳
در زمان اجرا، CLR کار را به دست میگیرد. این بخش اجرای کد IL است. در CLR، یک جزء حیاتی به نام کامپایلر Just-In-Time (JIT) وجود دارد که IL را درست قبل از اجرا، به کد ماشین اصلی کامپایل میکند و کارایی و سرعت را تضمین میکند. 🚀
مشخصات Common Language Specification (CLS) 🔄
بخش CLS قوانینی را برای نحوه تعامل زبانهای مختلف تعیین میکند. به عنوان مثال، در VB.NET، نیازی به پایان دادن دستورات با ; ندارید، در حالی که در C# اجباری است.
نقش Common Type Specification (CTS) 📋
بخش CTS نحوه اعلان و استفاده از انواع داده را تعریف میکند. به عنوان مثال، C# از int استفاده میکند در حالی که VB.NET از Integer استفاده میکند، اما در انتها، هر دو به عنوان Int32 نشان داده میشوند که این بخش توسط CTS تعیین میشود.
نقش The Base Class Library (BCL) 📚
در کنار CLR، کتابخانه کلاس پایه (BCL) قرار دارد که کتابخانههای ضروری مانند List و Dictionary را در خود جای داده است. BCL مؤلفههای اساسی را ارائه میدهد که توسعهدهندگان هر روز از آن ها استفاده میکنند و ثبات و قابلیت اطمینان را در پلتفرمهای مختلف تضمین میکند. 🏛
🔗 نسخه کامل مقاله را میتوانید در اینجا مطالعه و فیلم را در یوتیوب تماشا کنید. 🎦
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#محمدرضا_پازوکی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______
Post #2255
3.52K
- 👍 15
- ❤ 6
- 👏 2
- 🔥 1