سلام king جان!
میدونی آخه یکی از آشنایان بهم گفت که برای ویژوال ++C یا باید Win32 کار کنی یا MFC و همچنین گفتش که تو کشور ما MFC بیشتر رواج داره و برنامه های قدرتمندی میشه باهاش نوشت!
همچنین گفت که میتونی CLI یا همین CLR کار کنی.ولی من که اصلا ازشون اطلاعی ندارم و نمیدونم چی هستند!!!.
اگه میشه لطفی در حق من بکن و این CLR و Native رو هم برام توضیح بده.چون که به من گفت در محیط NET. امکان توسعه Native نیست.(من اصلا نمیدونم Native چی هست!!فقط بلدم تو محیط کنسول برنامه بنویسم)
در ضمن آیا توابعی که در کنسول استفاده میشه در محیط CLR هم استفاده میشه؟
خیلی ممنون از لطف شما
آشناتون درست گفته اند، اما Native بودن و نبودن برنامه هم یکسری مزایا داره و هم یکسری معایب.
با CLR هم میشه برنامه های قدرتمندی رو نوشت، استفاده کردن یا نکردن از MFC پارامتر تعیین کننده ای نیست،
بستگی به توانایی خود برنامه نویس داره که چقدر از امکانات موجود استفاده کنه.
برنامه های Native بعد از کامپایل شدن تبدیل به فایل هایی می شوند که داخلشون کد ماشین قرار داره، یعنی
تنها زبانی که پردازنده کامپیوتر شما می شناسه و می تونه اجرا کنه. نیازی هم به Framework حجیم NET. ندارند.
برنامه نویسی Native دشوار تره، چون از امکانات زبان های Net. که برنامه نویسی رو خیلی ساده تر می کنه
محروم هستید.
اما برنامه هایی که با استفاده از CLR نوشته می شوند موقع کامپایل شدن به زبان ماشین واقعی ترجمه نمی شوند،
برای اینکار یک زبان خاص خودشان را دارند به نام CIL که توسط یک ماشین مجازی مخصوص این زبان اجرا می شوند،
یعنی یک زبانی که برای پردازنده واقعی قابل فهم نیست. این زبان در واقع یک زبان میانی و واسطه است که خودش
برای اجرا شدن باید به زبان ماشین Native تبدیل شود. یکی از دلایل اینکه کد های CLR از کد های Native کند تر
اجرا می شوند همین است که باید برای اجرا شدن توسط پردازنده واقعی به زبان ماشین واقعی ترجمه شوند.
زبان های تحت Net. مثل C++ CLR و #C و VB.Net از کتابخانه ها و امکانات Framework بهره زیادی می برند، برای
همین برنامه نویسی با اونها خیلی ساده تر است. بزرگترین عیب شان هم این است که فقط زمانی برنامه تان
قابل اجرا شدن است که Net Framework. با نسخه مناسب نصب شده باشد.
شما می توانید هم برنامه های ویژوال و هم برنامه های Console ای رو با CLR یا بدون CLR بنویسید اما با CLR
خیلی ساده تر و سریعتر کد نویسی خواهید کرد.