به طور خلاصه
C یک زبان خیلی قدیمی، روال گراست
C++ همون C با یکسری امکانات اضافی تر، که مهم ترین پیشرفتش نسبت به C ، اضافه شدن قابلیت نوشتن برنامه های شی گرا در C++
C# هم یک زبان جدید کاملا شی گراست
(اگر با مفهوم
شی گرایی آشنایی نداری، میتونی تو اینترنت یک جستجویی بزنی یا از
کتاب جدید خانم بیات استفاده کنی)
برنامه های نوشته شده توسط دو زبان C, C++ بعد از کامپایل مستقیما به زبان ماشین(که به اون کد Native گفته میشه) تبدیل میشن، یعنی در زمان اجرا برای اجرای کد های نوشته شده توسط C,C++ احتیاج به هیچ ابزار اضافه ای نیست، که این باعث شده خیلی از برنامه نویس های تازه کار و یا حتی برنامه نویس های قدیمی
به غلط تصور کنند که برنامه های نوشته شده توسط زبان هایی مثل C,C++ که کد Native تولید می کنند، سریع تر از برنامه های نوشته شده تحت محیط دات نت هستند.
اما برنامه های نوشته شده توسط C# و دیگر زبان های دات نت، قبل از ترجمه شدن به زبان ماشین، به یک زبان میانی به نام MSIL تبدیل شده و در زمان اجرا توسط کامپایلری به JIT به کد Native تبدیل می شن. این عمل اضافه که به ظاهر زمان اجرای کد را بالا می بره، در 99 درصد موارد باعث افزایش کارایی برنامه ما میشه
من در آینده نزدیک، وقتی سرم خلوت بشه،
این موضوع رو در قالب یک کتاب به همه ثابت می کنم.
این نکته رو هم فراموش نکنید که مواردی هم وجود داره که استفاده از زبان های C,C++ در اون اجتناب ناپذیره، که مفصل در کتابم در موردشون خواهم گفت.
اما فعلا به این دوستمون پیشنهاد می کنم که اگر به فکر یادگیری یک زبان برنامه نویسی برای پول دراوردنی، تنها انتخاب منطقی و نزدیکه تو زبان C# ، اما اگر برای مقاصد دیگه مثل آشنایی با تاریخچه برنامه نویسی، وتغییر و تحولات صورت گرفته در این دو زبان محبوب، برنامه نویسی رو یاد می گیری برو سراغ C,C++
البته این دیدگاه من وخیلی از برنامه نویس هاییه که از C ,C++ به C# مهاجرت کردن، از منظر های دیگه به همین موضوع نگاه کنی شاید به نتایج دیگه ای برسی(مثلا از دید OpenSource یا از دید کسایی که برای میکرو کنترولر ها برنامه های RealTime مینویسند، یا کسایی که در دانشگاه ها برای گرفتن نمره سراغ برنامه نویسی میرن، یا کسانی که برای آشنایی عمقی با با زبان های برنامه نویسی و سخت افزار ، برنامه نویسی می کنند و هزار تا گروه دیگه)، که نظر همه اونها منطقی و درسته
اما اگه شما هم با من موافق و برای مواردی که در بالا گفتم می خوای برنامه نویسی رو یاد بگیری، C# انتخاب منطقی ایه.
موفق و سربلند باشید