PDA

View Full Version : بگویید دات نت چیست؟



dkhatibi
شنبه 13 آبان 1385, 13:29 عصر
برای تازه کارها و اونا که می خوان اطلاعاتی در مورد دات نت داشته باشند ، این موضوع را ایجاد کردم تا هر کی از دات نت هر چی می دونه بگذاره و اگه برای کسی سوالی پیش اومد بنویسه تا در مورد اون بحث بشه!

مهدی کرامتی
شنبه 13 آبان 1385, 20:08 عصر
دات نت یک فرم ورک است. یک فریم ورک ترکیبی از ابزارها برای واقعیت بخشیدن به یک منظور خاص است.

دات نت فریم ورک در ابتدا بعنوان یک راه ساده تر برای توسعه COM، Win32 API و امثال آن طراحی شده بود، اما بعدا تکامل یافت و علاوه بر تامین امکانات برای برنامه نویسی آسان تر تکنولوژی های مبتنی بر ویندوز، امکاناتی را نیز برای برنامه نویسی آسان تحت وب ارائه داد. بر خلاف تصور کسانی که با دات نت نا آشنا هستند دات نت چیزی مانند Win32 API نیست، بلکه مبتنی بر آن است.

اگر سوالی دارید بنویسید.

kiani_behzad
شنبه 13 آبان 1385, 21:38 عصر
منم با اجازه اساتید چند تا نکنه بگم:
1- دات نت یک زبان برنامه نویسی نیست.
2- دات نت یک فریم ورک است که برای طراحی و توسعه نرم افزار پدید آمده است.
3- نرم افزار هایی که می توان با دات نت نوشت محدودیتی ندارد.
4- دات نت چند زبانه است یعنی می توان در یک برنامه که مثلا" با vb.Net (یکی از ربان هایی که دات نت پشتیبانی می کند) نوشته شده است می توان از یک کد نوشته شده به زبان مثلا" C# یا هر زبان دیگری که دات نت پشتیبانی می کند استفاده نمود.
5- برنامه های نوشته شده در تکنولوژی دات نت قابلیت حمل دارند یعنی به سیستم عامل و یا ماشین وابسته نیستند.
6- دات نت برنامه نویسی کاربردی را واقعا" ساده نموده است.
7- خیلی موارد دیگر که این ها مهمترین بودند.

dkhatibi
سه شنبه 16 آبان 1385, 14:00 عصر
net FrameWork چه چیزهایی را نصب می نه که در برنامه های تحت دات نت از اونها استفاده می شه؟

مهدی کرامتی
چهارشنبه 17 آبان 1385, 06:14 صبح
یک سری DLL و Service

dkhatibi
چهارشنبه 17 آبان 1385, 18:14 عصر
من تا حالا تحت دات نت برنامه ننوشتم اما در مثالهای دلفی 2006 یک برنامه ی چت که در نسخه های قبلی نیز وجود اشت دیدم.در این برنامه از هیچ شیئ ویژوالی استفاده نشده بود؛آیا اصولا این ربطی به دات نت داره یا ...

master13111
پنج شنبه 18 آبان 1385, 08:59 صبح
متن زیر رو یادم نمی یاد از کدوم سایت گرفتم.

Delphi Skyline
پنج شنبه 18 آبان 1385, 21:20 عصر
بر خلاف تصور کسانی که با دات نت نا آشنا هستند دات نت چیزی مانند Win32 API نیست، بلکه مبتنی بر آن است.


کاملا درسته . چون ماشین ترجمه گر دات نت با وین 32 نوشته شده و کد ها رو در نهایت به همان وین 32 می بره . سرعت کمش هم (که بعضی افراد می گن) به خاطر وجود همین لایه است .

Mahyaa
یک شنبه 21 آبان 1385, 09:46 صبح
امکاناتی را نیز برای برنامه نویسی آسان تحت وب ارائه داد
آیا مزیت اصلی دات نت بر وین 32 همین آسان بودن برنامه نویسی تحت وب است ؟
اصولا برنامه های نوشته شده در دات نت غیر از وابسته نبودن به ماشین چه مشخصه ویژه ای دارند ؟

Delphi Skyline
دوشنبه 22 آبان 1385, 08:26 صبح
اصولا برنامه های نوشته شده در دات نت غیر از وابسته نبودن به ماشین چه مشخصه ویژه ای دارند ؟

اصلا باید این را گفت که چیزی به نام مستقل بودن از محیط به اون معنا وجود ندارد .
حتی جاوا مستقل از محیط نیست . ممستقل از محیط بودن منظور این است که ماشین را برای چند سیستم عامل نوشته اند و کد ها در آخر در لینوکس به یه چیزی و در ویندوز به وین 32 تبدیل می شوند .

مثلا فرض کنید من بیام یه سیستم عامل بنویسم . آیا در این صورت برنامه های جاوا روی اون اجرا می شن ؟؟؟

در کل می توان گفت همه چیز در ویندوز به وین 32 انتها پیدا می کنه . دات نت لایه هایی برای برنامه نویسی رو قرار می ده .که در بعضی جاها مفید و بعضی جاها مضر است .

mohammad javad pishvaei
سه شنبه 23 آبان 1385, 22:29 عصر
دات نت فریم ورک ضمن داشتن محاسن خود عیوب بزرگی هم دارد
از جمله :
برای اجرای یک برنامه مثلا 100 کیلو بایتی نیاز به نصب دات نت فریم ورک 20 مگابایتی دارید.
سورس کلاسهای دات نت موجود نیست ( بطور مثال mfc در ویژوال سی سورس کدها را داشت)
سرعت اجرا بدلیل آمدن CLR در لایه واسط کم شده
و نهایتا سوال اینکه چند برنامه نویس سراغ دارید که در یک پروژه از چند زبان استفاده کرده باشد؟!

M A R S H A L
یک شنبه 05 آذر 1385, 15:15 عصر
با نظر آقای پیشوایی موافقم. برنامه نویسهای حرفه ای به هیچ وجه از دات نت به عنوان محیط برنامه نویسی خودشون استفاده نمیکنند.
سرعت لود شدن برنامه هنگام اجرا مورد کم اهمیتی نیست که بدلیل Intermediate Language بودن برنامه های تولید شده با این تکنولو‍ژی سرعت لود شدنش خیلی کمه، حالا اگه حجم برنامه تولید شده بیشتر باشه که بدتر.
کلاسها و NameSpace های دات نت فقط کد نویسی رو راحت تر کرده و در کل هیچ مزیتی نداره.
(خودمونیم آخه دلفی خودمون چه مشکلی داره آخه؟ یا بنده خدا ویژوال سی 6)

amin_679
سه شنبه 14 آذر 1385, 18:36 عصر
بعضی از دوستان اصلا به عنوان تاپیک دقت نمیکنند عنوان تاپیک کاملا مشخصه که یکی از دوستان پرسیده دات نت چیست؟ نپرسیده که خوبه یا بده؟ در ضمن فکر کنم اون دوستمون که این سوال رو پرسیده توی چند پست اول به جوابش رسیده .متاسفانه بحثها به صورت سلیقه ایی به انحراف کشیده میشه.

voldemort1
جمعه 08 دی 1385, 11:11 صبح
با سلام می خواستم بپرسم که
1.اصولا منظورتون از فریم ورک چیه ....(توضیح متخصصانه میخوام نه درک شخصی ...)
2.آیا راهی هست که بشه فقط توابع کتابخانه ای رو که تویه برنامه احتیاج هست به فایل exe فرستاد ...؟؟

setarh-arjoman
سه شنبه 11 اردیبهشت 1386, 08:56 صبح
سلام
من همه مطالب بالا رو خواندم و میدونم هم که وقتی یک برنامه NET. کامپایل میشه اول به زبان MSIL ترجمه میشه و بعد از اون با JIT به زبان ماشین، ولی دوست دارم که بدونم کامپایلر NET چطوری هست که میتونه تمام زبانها را کامپایل کنه؟ یعنی ویژگیهای یک کامپایلر VB‌و یا C# و یا ++C را دارد؟ این غیر ممکن خواهد بود.
آیا میتونید منو راهنمایی کنید که در مورد کامپایلر NET. یک منبع خوب پید کنم؟
مرسی

SYSMAN
سه شنبه 11 اردیبهشت 1386, 11:02 صبح
سلام
من همه مطالب بالا رو خواندم و میدونم هم که وقتی یک برنامه NET. کامپایل میشه اول به زبان MSIL ترجمه میشه و بعد از اون با JIT به زبان ماشین، ولی دوست دارم که بدونم کامپایلر NET چطوری هست که میتونه تمام زبانها را کامپایل کنه؟ یعنی ویژگیهای یک کامپایلر VB‌و یا C# و یا ++C را دارد؟ این غیر ممکن خواهد بود.
آیا میتونید منو راهنمایی کنید که در مورد کامپایلر NET. یک منبع خوب پید کنم؟
مرسی

.NET یک کامپایلر نداره بلکه مجموعه ای از کامپایلرهاست، در واقع برای هر یک از زبانهای برنامه سازی مانند C#,VB و غیره کامپایلری جداگانه داره که هر کدام از این کامپایلرها وظیفه تبدیل کدهای نوشته شده را به MSIL را بر عهده دارند.

setarh-arjoman
سه شنبه 11 اردیبهشت 1386, 17:21 عصر
یعنی منظورتون این هست که (کامپایلر) یا تبدیل کننده NET. تمام ویژگیهای کامپایلرهایی مثل VB و #C‌ و ++C و غیره را داره؟
اجازه بدین سوالم رو طوره دیگه ای مطرح کنم.
چه ویژگیی net. برای کامپایل کردن یک کد VB اضافه تر نسبت به یک کامپایلر VB دارد؟

SYSMAN
سه شنبه 11 اردیبهشت 1386, 20:06 عصر
دقیقا متوجه منظورتون نشدم.
همونطور که گفتم کامپایلر NET. مجموعه ای از کامپایلرها است که بر اساس زبانی که شما برنامه خودتون رو نوشته اید کدها رو با اون کامپایلر (مثلا وقتی با #C برنامه نوشته اید با کامپایلر زبان #C) کدهای نوشته شده به MSIL تبدیل می شوند.

setarh-arjoman
سه شنبه 11 اردیبهشت 1386, 21:54 عصر
مرسی . متوجه شدم. فقط اگر یک منبع خوبی در این رابطه دیدید و به من معرفی کنید ممنون میشم.

newgoldenman
پنج شنبه 13 اردیبهشت 1386, 09:18 صبح
دوستان عزیز، من از VC#.NET استفاده میکنم. متاسفانه این مشکل رو دارم:
برای اجرای یک برنامه مثلا 100 کیلو بایتی نیاز به نصب دات نت فریم ورک 20 مگابایتی دارید.

میشه توی Visual Studio تنظیماتی چیزی رو دستکاری کرد تاNET. رو Cancel کردD:

منظورم اینه که با همون نرم افزار برنامه هامو بنویسم ولی نیازی به NET Framework. نداشته باشه؟
ممنون میشم اگه جوابمو سریعتر بفرمایید، آخه خیلی نیاز دارم به جواب این سوال.
باز هم ممنون

omid_Ahmadi
پنج شنبه 13 اردیبهشت 1386, 13:03 عصر
برای اجرای یک برنامه مثلا 100 کیلو بایتی نیاز به نصب دات نت فریم ورک 20 مگابایتی دارید.

میشه توی Visual Studio تنظیماتی چیزی رو دستکاری کرد تاNET. رو Cancel کردD:

منظورم اینه که با همون نرم افزار برنامه هامو بنویسم ولی نیازی به NET Framework. نداشته باشه؟
ممنون میشم اگه جوابمو سریعتر بفرمایید، آخه خیلی نیاز دارم به جواب این سوال.
باز هم ممنون


در این مورد به مراتب توی سایت صحبت شده و انواع روشها هم بررسی شدن، جستجو کنید

SYSMAN
پنج شنبه 13 اردیبهشت 1386, 17:37 عصر
مرسی . متوجه شدم. فقط اگر یک منبع خوبی در این رابطه دیدید و به من معرفی کنید ممنون میشم.

بهتر هست کتابهایی که به طور اختصاصی در مورد NET Framework. توضیح داده مطالعه کنید. البته کتاب آقای هاشمیان هم در کتابشون توضیحات نسبتا کاملی در مورد بعضی از چهارچوبهای Framework داده اند.

omid_Ahmadi
پنج شنبه 13 اردیبهشت 1386, 20:55 عصر
می تونید از کتاب Jeffrey Richter به نام Applied .NET Framework استفاده کنید. کتاب Customizing Common Language Runtime هم از MS Press می تونه خیلی توی معماری .NET و درک بهتر اون بهتون کمک کنه.
موفق باشید.

ar.shirazi
جمعه 14 اردیبهشت 1386, 08:13 صبح
با سی شارپ شما حتما به فریمورک نیاز دارید عملا هیچ راهی دیگری نیست

البته با ویژوال سی ++ میتوانید پروژه های ویندوز 32 بیتی بنویسید

omid_Ahmadi
جمعه 14 اردیبهشت 1386, 08:49 صبح
با سی شارپ شما حتما به فریمورک نیاز دارید عملا هیچ راهی دیگری نیست


به مراتب در مورد حذف فریم ورک و نحوه انجام اون توی سایت صحبت شده، و این کار کاملا هم امکان پذیره

newgoldenman
شنبه 15 اردیبهشت 1386, 01:04 صبح
در این مورد به مراتب توی سایت صحبت شده و انواع روشها هم بررسی شدن، جستجو کنید

دوست عزیز میشه بگین توی کدوم تاپیک؟ من خیلی گشتم پیدا نکردم! آخه تازه وارد هم هستم به این سایت:خجالت:

پیشاپیش تشکر میکنم خیلی از لطفتون

SYSMAN
شنبه 15 اردیبهشت 1386, 09:03 صبح
به اینجا (http://www.barnamenevis.org/forum/showthread.php?t=41559) یک نگاهی بندازید.

ar.shirazi
شنبه 15 اردیبهشت 1386, 16:19 عصر
به مراتب در مورد حذف فریم ورک و نحوه انجام اون توی سایت صحبت شده، و این کار کاملا هم امکان پذیره

و به مراتب هم نتیجه گیری شده که یا امکان پذیر نیست یا اگر هم هست به صورت کاملا محدود و با دردسر های زیادی همراه .

این نتیجه گیری خود شما بوده است :


من فکر کردم با توضیحاتی که دادم دیگه مشخص شده که اصلا باید فریم ورک رو حذف کنیم یا نه. اما باز هم برای نتیجه گیری میگم.
بهترین راه برای این کار اینه که به کاربر بگیم باید فریم ورک رو روی سیستم خودش نصب شده داشته باشه تا بتونه به سادگی از تمام برنامه های نوشته شده در .NET استفاده کنه.
استفاده از ابزارهایی که فریم ورک رو حذف می کنن مثل همین نرم افزاری که معرفی شد و یا انجام این کار به صورت دستی بهتره تا حد ممکن انجام نشه، چون تنها سودی که داره اینه که حجم برنامه رو کاهش میده، اما بدی هایی هم داره که به زودی در مورد اونها هم توضیح میدم.

newgoldenman
شنبه 15 اردیبهشت 1386, 22:58 عصر
دوستان عزیز خیلی خیلی ازتون ممنونم. و خیلی هم خوشحالم که زود به جوابم رسیدم:
ar.shirazi نوشته است:
بهترین راه برای این کار اینه که به کاربر بگیم باید فریم ورک رو روی سیستم خودش نصب شده داشته باشه تا بتونه به سادگی از تمام برنامه های نوشته شده در .NET استفاده کنه.

CodeMasterX
پنج شنبه 27 اردیبهشت 1386, 00:30 صبح
ببینم عزیزان من یه چیزی برام نامفهومه:

تمام کسانی که میخوان فریم ورک رو حذف کنن مثل اینکه به یه سری چیزها توجه نمیکنن.
ببینید عزیزان اگه قرار باشه کاربری از یه نرم افزار که با دات نت تهیه شده استفاده کنه باید سیستم مناسبی هم برای راه اندازی اش تهیه کنه،دیگه اون عصر فلاپی دیسک های 200 کیلو بایتی هم گذشت.حالا برای شما چیش مشکل سازه که برای نصب برنامه های دات نت نیاز به 20 مگابایت فریم ورک هست ؟ خوب مگه چی میشه ؟
سیستم فضای کافی داره،سخت افار مناسب هم مهیا هست و 100% هم برای اجرای هرچه بهتر و درست برنامه شما بهش نیاز هست.حالا چرا میخواین حذفش کنین ؟
یعنی مثلا شما اگه بخواین سی دی یکی از نرم افزار هاتون رو به فروش برسونید یا به کاربری بدین،خیلی براتون فرق میکنه و مهمه که فریم ورک 20 مگاباتی هم کنارش باشه یا نه ؟
در مورد اینکه چجوری میشه فریم ورک رو حذف کرد و فقط از کتابخانه های لازم استفاده کرد هم بحث شده و نتیجه تجربی خود بنده خیر هست. این کار یا شدنی نیست و یا خیلی مشکل و باگ ایجاد میکنه.

ar.shirazi
پنج شنبه 27 اردیبهشت 1386, 19:11 عصر
ببینید ، به هر حال فریمورک یک محدودیت است . هرچقدر هم دات نت فریمورک کم حجم باشد و ...

برای کارهای مثل سی دی های آموزشی و ... که autorun و ... میخواهند مناسب نیست.

اصولا حذف فریمورک کاری است غیر اصولی .

reza1357
پنج شنبه 10 خرداد 1386, 10:36 صبح
دوستان برام سواله که :
کلمه ado.net مخفف چه کلمه ای است ؟

manager
پنج شنبه 10 خرداد 1386, 12:20 عصر
دوستان برام سواله که :
کلمه ado.net مخفف چه کلمه ای است ؟
ActiveX Data Object.Net

reza1357
پنج شنبه 10 خرداد 1386, 12:45 عصر
net. چی ؟

با سپاس

manager
پنج شنبه 10 خرداد 1386, 15:10 عصر
net. چی ؟

با سپاس

Microsoft .NET is an umbrella term (http://en.wikipedia.org/wiki/Umbrella_term) that applies to a wide collection of products and technologies from Microsoft (http://en.wikipedia.org/wiki/Microsoft). Most have in common a dependence on the Microsoft .NET Framework (http://en.wikipedia.org/wiki/Microsoft_.NET_Framework), a component of the Windows (http://en.wikipedia.org/wiki/Microsoft_Windows) operating system.

for more information click here. (http://en.wikipedia.org/wiki/Microsoft_.NET)

MCSD.Net2007
جمعه 08 تیر 1386, 12:47 عصر
زبانهای برنامه نویسی در دات نت برای اینکه به Code Machine تبدیل شوند تا توسط CPU مورد استفاده قرار بگیرند ابتدا به Low Level Language تبدیل شده که به آن IL (Intermediat Languge) میگویند.سپس نوسط محیطی تحت عنوان Net Frame Work که بمانند یک سیستم عامل کوچک وظیفه مدیریت پروژه و کدها را بر عهده دارد به Code Machine که در اصطلاح تخصصی به آن Native میگویند تبدیل شده تا در حافظه RAM قرار گرفته و توسط CPU مورد استفاده قرار گیرند . لازم به توضیح است که این مکانیزم تبدیل Net Language به Machine Code ابتدا در زبان برنامه نویسی Java مورد استفاده قرار میگرفت با این تفاوت که به جای Net Frame Work از یک سیستم عامل کوچک به نام Virtual Machine استفاده می شده است.
با عذر خواهی از اظهار نظر این حقیر در وجود اساتید بزرگوار.

omid_Ahmadi
جمعه 08 تیر 1386, 15:30 عصر
سپس نوسط محیطی تحت عنوان Net Frame Work که بمانند یک سیستم عامل کوچک وظیفه مدیریت پروژه و کدها را بر عهده دارد به Code Machine که در اصطلاح تخصصی به آن Native میگویند تبدیل شده تا در حافظه RAM قرار گرفته و توسط CPU مورد استفاده قرار گیرند


در تکمیل (و نیز تکرار) گفته ها در این زمینه، باید بگم این کار توسط CLR که قسمتی از .NET Framework رو تشکیل می ده انجام میشه. قسمتهای دیگه در این امر دخیل نیستن. اگر بخواهیم قضیه رو موشکافانه بررسی کنیم، وظیفه مذکور از وظایف JIT یا Just In-Time Compiler هست که در مورد نحوه عملکرد اون به تفصیل در سایت من و یا دیگر دوستان صحبت کردیم.

موفق باشید

farrokhi
پنج شنبه 15 شهریور 1386, 20:18 عصر
سلام من یک سوال دارم.آیا راهی نیست که لازم نباشهNET Framework 2.0 رابرروی سیستمی که می خواهیم برنامه را برروی آن اجرا کنیم نصب کنیم.وهمچنین اگر راهی نیست چطور یک بسته بسازم که بتونه بر روی سیستمی دیگه هم NET Framework 2.0 و هم برنامه من رو نصب کنه؟ بی نهایت ممنون

Xcalivorse
جمعه 21 تیر 1387, 10:22 صبح
در جواب اولی باید بگم نه و در جواب دومی : اگر برای برنامه هاتون توسط خود VS.Net ستاپ درست کنید این کار انجام میشه.

smile17
جمعه 21 تیر 1387, 12:37 عصر
اگر برای برنامه هاتون توسط خود VS.Net ستاپ درست کنید این کار انجام میشه.
لطفا اين قسمت رو بيشتر توضيح بديد كه چگونه مي توان setup درست كرد؟؟
آيا با اين كار مي توان برنامه ي نوشته شده در net. رو از net. مستقل كرد؟؟؟و اجراي برنامه ي نوشته شده در NET. را بي نياز از آن كرد؟

pesare_ariyayi
شنبه 12 مرداد 1387, 11:26 صبح
لطفا اين قسمت رو بيشتر توضيح بديد كه چگونه مي توان setup درست كرد؟؟
آيا با اين كار مي توان برنامه ي نوشته شده در net. رو از net. مستقل كرد؟؟؟و اجراي برنامه ي نوشته شده در NET. را بي نياز از آن كرد؟
برای درست کردن فایل setup باید وقتی پروژه تون تو VS.NET باز هست منوی build رو باز کنید, و روی publish "project name" که project name اسم پروژه شماست, کلیک کنید و دستورها رو طی کنید.
من خودم فکر می کنم که با درست کردن فایل setup دیگه لازم با نسب فریم ورک نباشه. اما وقتی این همه خبره توش موندن پس حتماً فریم ورک هم تو این پروسه نسب می شه!

rostamkhani
دوشنبه 14 مرداد 1387, 00:48 صبح
سلام
دات نت جدا از بحث IL و فنی آن، یک سری ابزار ها و امکانات در اختیار قرار میدهد که
برنامه نویسی که این امکانات را خوب بشناسد و درست استفاده کند از کار و زیبای net. لذت میبرد
و برنامه نویس ساده و تاز وارد را قادر به نوشتن برنامه های وب و ویندوز نسبتا خوبی میکند که باعث میشود
برنامه نویس تازه وارد احتمالا تنبل و پر توقع شود و شاید چون از این همه ابزار درست و به جا و کامل استفاده نمیکند
احتمالا فکر میکند ایراد کار از microsoft و net. است نه از برنامه بنده

در مورد این سوال که exe دات نت مستقل میشود یا نه فکر کنم اگه تو گوگلم جوستجو کنیم گوگل به barnamenevis.org لینک میده:چشمک:
http://blog.colinmackay.net/archive/2007/08/26/321.aspx

با این نرم افزار SoftInstall.net مثل آب خوردن فایل exe رو بی نیاز به net. میکنه

http://barnamenevis.org/forum/showthread.php?t=91066&highlight=framework

http://www.bitfactorysoftware.com/Pr.../Features.aspx

http://rapidshare.com/files/134617744/SoftInstall.net.msi.html


با این نرم افزار هم میشه از این کارا کرد و جواب داده
http://www.thinstall.com/solutions/net_virtual.php

بعدشم اگه دوستان یکم صبر کنن یکی دو سه سال دیگه همه سیستم عاملها net. پشتیبانی میکنن
مثل ویستا

Seyyed ali
یک شنبه 27 مرداد 1387, 05:02 صبح
اسمبلی ایجاد شده از برنامه (IL) مثل مفسر ها اجرا میشه یعنی خط به خط ترجمه و اجرا می شه یا چون نزدیک به زبان ماشین هست طور دیگه ای اجرا میشه؟

hasan1896
شنبه 16 مرداد 1389, 19:57 عصر
Microsoft .NET (pronounced “dot net”) is a software component that runs on the Windows operating system. .NET provides tools and libraries that enable developers to create Windows software much faster and easier. .NET benefits end-users by providing applications of higher capability, quality and security. The .NET Framework must be installed on a user’s PC to run .NET applications.

sia_2007
شنبه 16 مرداد 1389, 20:12 عصر
هیچ کدوم
به صورت Just In Time و توسط JIT Compiler اجرا میشه
بدین صورت که هر قسمت کوچکی از IL که تو لحظه مورد نیاز باشه؛ به صورتی که به بهترین روش روی اون سخت افزار جاری اجرا بشه؛ کامپایل و اجرا میشه.
این که حداکثر کارآیی در چه صورت به وجود میآد رو JIT Compiler که اکثر CPU ها رو میشناسه؛تصمیم میگیره.
یا مثلا وقتی برنامت رو به صورت Parallel مینویسی؛ این JIT هستش که میبینه که چند تا CPU و Core وجود داره؛ و اون رو به مناسب ترین وجه اجرا میکنه.
اگه برنامه dynamic بوده باشه؛ اول تبدیل به IL میشه و بعد در صورت امکان اجرا میشه؛ یا خطا میده.
در کل به نظر من واقعا کارآیی بالایی داره؛ و این کارآیی رو فقط با ++C و C و اسمبلی میتونی به دست بیآری.

slugfarhad
جمعه 26 آذر 1389, 23:13 عصر
يكي از دوستان گفته بود كه چند كامپايلر داره دات نت اما بايد بگم :
نه اصلا اين طور نيست چون همه يك موضوع واحد دارند شما احساس كردي كه چند تا كامپايلر داره متن زير رو بخون:

All languages that execute within the .NET Framework compile down to the same thing: a
variety of bytecode known as Intermediate Language (or IL) rather than to a languagespecific
intermediate object code. This means that no matter if you compile a VB program, a
Visual C++ program, or a C# program, you’ll end up with the same form of intermediate
code


متشكرم

sia_2007
یک شنبه 28 آذر 1389, 23:14 عصر
این که همه ی زبان ها پس از کامپایل به یک چیز ( IL ) تبدیل میشوند؛ دلیل نمیشه همه شون یه جور کامپایل شن !
از قم و رشت و تبریز و ورامین 4 نفر آدم راه میفتن میرن تهران
آخر سر همشون تهرانن؛ ولی لزوما از یه راه نیومدن

saman6488
سه شنبه 07 دی 1389, 23:00 عصر
من هم با دوستمون sia_2007 موافقم ، بینید زمانی که یه کدی تو دات نت(به هر زبانی) نوشته میشه تا قبل رسیدن به مرحله IL توسط کامپایلر مخصوص به خود اون زبان کامپایل میشه

tooraj_azizi_1035
سه شنبه 06 اردیبهشت 1390, 09:42 صبح
سلام،
مهمترین هدفی که مایکروسافت از ایجاد تکنولوژی دات نت دنبال کرده Manage کردن فرآیند ساخت و توسعه نرم افزار هست. دات نت سعی بر این داره که برنامه نویس تمرکز بر روی اصل مسئله داشته باشه نه اینکه درگیر مسائلی مثل مدیریت ایجاد و تخریب اشیاء در Heap، یا نگرانی در مورد برنامه نویسی موازی و چند نخی، Versioning ماژول های تشکیل دهنده نرم افزار و مانند اینها داشته باشه. در دات نت همه چیز شیء هست مثلاً عدد 5 در دات نت یک شیء محسوب می شه نه یک عدد!
به هر حال تاکید اصلی دات نت حفظ دید شیء گرائی ، مدیریت به معنی جلوگیری از درگیری برنامه نویس با مفاهیمی مانند هماهنگی میان نخ های اجرایی، مدیریت حافظه و امثال اینهاست و در نهایت حفظ شعار Keep it simple مایکروسافت هست.
http://i.msdn.microsoft.com/dynimg/IC104620.gif
مهمترین اهداف ایجاد:

To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
To provide a code-execution environment that minimizes software deployment and versioning conflicts.
To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.
To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.

منبع: http://msdn.microsoft.com/en-us/library/zw4w595w.aspx

nameely
پنج شنبه 15 اردیبهشت 1390, 02:14 صبح
با سلام من یک سوال داشتم ایا واقعا IL یا MSIL روی همه سیستم عامل ها مثل mac , linux کامپایل میشه ؟ تا جایی که من می دونم فقط روی خود microsoft یا همون windows اجرا میشه تازه اونم به NET Framework نیاز داره , فقط جاوا روی تمام سیستم عامل ها بخاطر این bye code ش جواب میده , حالا راستش نمی دونم اگه میشه درستی یاغلطی رو به من هم بگین

ممنون