saalek110
Well-Known Member
http://www.myimei.com/forum/showthread.php?tid=122
--------------------------------------------------------------------
diazpam10 :
--------------
دات نت چیست ؟
دات نت یک پلاتفرم برای ایجاد و توسعه انواع برنامه های کاربردی است. ( در اینجا پلاتفرم اصطلاحا به محیط نرم افزاری گفته می شود که قابلیت کار با نرم افزارها و سخت افزارهای متفاوتی را داراست)
دات نت فریمورک از 2 بخش عمده ایجاد شده است :
.net class library
و
common language runtime يا اصطلاحا CLR
.net class library مجموعه ای است از کلیه انواع داده ای ، کلاسها ، اینترفیس ها ، name space ها و ... همه آن کامپوننت هایی که ما را در امر برنامه نویسی یاری میدهند. این مجموعه توسط عناصری به نام name space یا فضای نام دسته بندی گردیده است.
فضای نام های مشهور دات نت
System
System.Collection
System.ComponentModel
System.Data
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
System.Drawing
System.IO
System.Math
System.Reflection
System.Security
System.Threading
System.Windows
System.Windows.Forms
هر کدام از این فضای نام ها به فضای نام هایی دیگر و همچنین کلاسهای دیگر منشعب میشوند.
نکته : فضای نام صرفا برای دسته بندی منطقی کلاسها و ... است و هیچ گونه ارزش دیگری ندارد !!! لطفا سوال نفرمایید !!!
Common language Runtime یا CLR آن قسمت از دات نت است که کلیه امور مربوط به کامپایل ، تخصیص حافظه ، بررسی مجوزها و مسائل امنیتی، اجرا و جمع آوری حافظه های هرز را انجام میدهد.
زبانهای برنامه نویسی در دات نت و چگونگی کامپایل کد
زبانهایی برنامه نویسی که در دات نت میتوانید از آنها استفاده کنید بسیار زیادند. مثل VB.Net,COBOL,FORTRAN,S#,F#,B# و در نهایت جناب C# که اساسا برای دات نت طراحی و ایجاد گردیده است.
دوستانی که کامپیوتری باشند در درس بسیار دوست داشتنی معماری کامپیوترها به این نکته کاملا پی خواهند برد که هر کامپیوتر دستورات مخصوص خود را داراست و اساسا نمی توان دستورات یک کامپیوتر را برای کامپیوتری دیگر اجرا نمود مگر آنکه کامپیوتر دومی هم از استاندارد های همان کامپیوتر اول استفاده کرده باشد.
در جهان فعلی به عبارتی 2 نوع معماری مهم کامپیوترهای شخصی را داریم که اولی Intel و دیگری Motorola است که اولی توسط IBM گسترش یافته و PC نامیده میشود (مثل کامپیوترهایی که اکثرما از آن استقاده میکنیم) و دیگری Apple Macintosh نام دارد.
هر کدام از این استاندارد ها، سیستم عامل های مخصوص خود را دارند که مثلا دسته اول ویندوز، انواع لینوکس، داس و ... دیگر سیستم عامل ها را داراست و دسته دوم با سیستم عامل OS/2 کار میکند.
مشکل بزرگی که از ابتدای راه مقابل پای برنامه نویسان بوده است قابلیت حمل برنامه هایشان بوده است. یعنی مثلا برنامه ای که برای سیستم عامل داس مایکروسافت نوشته و با استفاده از کامپایلر تحت داس کامپایل و تبدیل به فایل اجرایی می شود بر روی دیگر سیستم عامل ها قابل اجرا نیست و تنها راه حل این مشکل کامپایل مجدد سورس کد آن برنامه توسط کامپایلر سیستم عامل مقصد میباشد.
برای رفع این مشکل اولین بار شرکت سان تکنولوژی جاوا را ارائه داد. جاوا یک تکنولوژي شيء گرای بسیار دوست داشتنی است که شیوه کامپایل و اجرای کد در آن با دیگر تکنولوژيها نظیر C++ و ... متقاوت است.
ابتدا سورس کد کامپایل شده و به بک کد سطح میانی که اصطلاحا Byte Code نامیده میشود تبدیل میگردد. سپس این بایت کدها توسط کامپایلری که بر روی کامپیوتر مقصد قرار دارد به کد اجرایی همان کامپیوتر تبدیل میگردد.
به کامپایلر موجود بر روی کامپیوتر مقصد java virtual machine یا JVM می گوییم. لازم به ذکر است که هر سیستم عامل JVM مخصوص خود را داراست.
دات نت این مفهوم و این تکنولوژی را بسیار گسترش داده و دات نت را بر مبنای همین تکنولوژی بنا نهاده است.
در دات نت هر زبان ابتدا توسط کامپایلر همان زبان به یک کد سطح میانی تبدیل میشود. این کد میانی Microsoft Intermediate Language یا MSIL نام دارد.
این کد ، اجرایی نمی باشد و برای اجرا می بایست یک بار دیگر توسط کامپایلر دیگری به نام Just In Time يا JIT به کد اجرایی محلی کامپایل گردد.
پس اساسا همه چیز در دات نت به MSIL تبدیل میگردد و بر همین اساس متغیر نوع عدد صحیح که در سی شارپ با int و در وی بی با Integer شناخته میشوند هر دو دقیقا یکی هستند و در نهایت در MSIL با System.Int32 شناخته میشوند.
بر همین اساس است که زبانها در دات نت در حقیقت پوسته ای بیش نیستند که بر روی MSIL کشیده شده اند و میتوان زبانهای متعدد و نامحدودی ایجاد نمود که از استانداردهای دات نت پیروی کنند.
به این استاندارد Common Type System یا CTS گوییم.
--------------------------------------------------------------------
diazpam10 :
--------------
دات نت چیست ؟
دات نت یک پلاتفرم برای ایجاد و توسعه انواع برنامه های کاربردی است. ( در اینجا پلاتفرم اصطلاحا به محیط نرم افزاری گفته می شود که قابلیت کار با نرم افزارها و سخت افزارهای متفاوتی را داراست)
دات نت فریمورک از 2 بخش عمده ایجاد شده است :
.net class library
و
common language runtime يا اصطلاحا CLR
.net class library مجموعه ای است از کلیه انواع داده ای ، کلاسها ، اینترفیس ها ، name space ها و ... همه آن کامپوننت هایی که ما را در امر برنامه نویسی یاری میدهند. این مجموعه توسط عناصری به نام name space یا فضای نام دسته بندی گردیده است.
فضای نام های مشهور دات نت
System
System.Collection
System.ComponentModel
System.Data
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
System.Drawing
System.IO
System.Math
System.Reflection
System.Security
System.Threading
System.Windows
System.Windows.Forms
نکته : فضای نام صرفا برای دسته بندی منطقی کلاسها و ... است و هیچ گونه ارزش دیگری ندارد !!! لطفا سوال نفرمایید !!!
Common language Runtime یا CLR آن قسمت از دات نت است که کلیه امور مربوط به کامپایل ، تخصیص حافظه ، بررسی مجوزها و مسائل امنیتی، اجرا و جمع آوری حافظه های هرز را انجام میدهد.
زبانهای برنامه نویسی در دات نت و چگونگی کامپایل کد
زبانهایی برنامه نویسی که در دات نت میتوانید از آنها استفاده کنید بسیار زیادند. مثل VB.Net,COBOL,FORTRAN,S#,F#,B# و در نهایت جناب C# که اساسا برای دات نت طراحی و ایجاد گردیده است.
دوستانی که کامپیوتری باشند در درس بسیار دوست داشتنی معماری کامپیوترها به این نکته کاملا پی خواهند برد که هر کامپیوتر دستورات مخصوص خود را داراست و اساسا نمی توان دستورات یک کامپیوتر را برای کامپیوتری دیگر اجرا نمود مگر آنکه کامپیوتر دومی هم از استاندارد های همان کامپیوتر اول استفاده کرده باشد.
در جهان فعلی به عبارتی 2 نوع معماری مهم کامپیوترهای شخصی را داریم که اولی Intel و دیگری Motorola است که اولی توسط IBM گسترش یافته و PC نامیده میشود (مثل کامپیوترهایی که اکثرما از آن استقاده میکنیم) و دیگری Apple Macintosh نام دارد.
هر کدام از این استاندارد ها، سیستم عامل های مخصوص خود را دارند که مثلا دسته اول ویندوز، انواع لینوکس، داس و ... دیگر سیستم عامل ها را داراست و دسته دوم با سیستم عامل OS/2 کار میکند.
مشکل بزرگی که از ابتدای راه مقابل پای برنامه نویسان بوده است قابلیت حمل برنامه هایشان بوده است. یعنی مثلا برنامه ای که برای سیستم عامل داس مایکروسافت نوشته و با استفاده از کامپایلر تحت داس کامپایل و تبدیل به فایل اجرایی می شود بر روی دیگر سیستم عامل ها قابل اجرا نیست و تنها راه حل این مشکل کامپایل مجدد سورس کد آن برنامه توسط کامپایلر سیستم عامل مقصد میباشد.
برای رفع این مشکل اولین بار شرکت سان تکنولوژی جاوا را ارائه داد. جاوا یک تکنولوژي شيء گرای بسیار دوست داشتنی است که شیوه کامپایل و اجرای کد در آن با دیگر تکنولوژيها نظیر C++ و ... متقاوت است.
ابتدا سورس کد کامپایل شده و به بک کد سطح میانی که اصطلاحا Byte Code نامیده میشود تبدیل میگردد. سپس این بایت کدها توسط کامپایلری که بر روی کامپیوتر مقصد قرار دارد به کد اجرایی همان کامپیوتر تبدیل میگردد.
به کامپایلر موجود بر روی کامپیوتر مقصد java virtual machine یا JVM می گوییم. لازم به ذکر است که هر سیستم عامل JVM مخصوص خود را داراست.
دات نت این مفهوم و این تکنولوژی را بسیار گسترش داده و دات نت را بر مبنای همین تکنولوژی بنا نهاده است.
در دات نت هر زبان ابتدا توسط کامپایلر همان زبان به یک کد سطح میانی تبدیل میشود. این کد میانی Microsoft Intermediate Language یا MSIL نام دارد.
این کد ، اجرایی نمی باشد و برای اجرا می بایست یک بار دیگر توسط کامپایلر دیگری به نام Just In Time يا JIT به کد اجرایی محلی کامپایل گردد.
پس اساسا همه چیز در دات نت به MSIL تبدیل میگردد و بر همین اساس متغیر نوع عدد صحیح که در سی شارپ با int و در وی بی با Integer شناخته میشوند هر دو دقیقا یکی هستند و در نهایت در MSIL با System.Int32 شناخته میشوند.
بر همین اساس است که زبانها در دات نت در حقیقت پوسته ای بیش نیستند که بر روی MSIL کشیده شده اند و میتوان زبانهای متعدد و نامحدودی ایجاد نمود که از استانداردهای دات نت پیروی کنند.
به این استاندارد Common Type System یا CTS گوییم.
آخرین ویرایش: