با سلام. بهتر است به سایتهای مرجع مراجعه کنید. من هم دقیقا پاسخ این سئوال را نمی دانم. و چیزهایی که اینجا می نویسم هیچ سندیتی ندارد.
و بهتر است دوستان نظر بدهند.
ولی چیزهایی که من دریافتم اینهاست:
نگاهی می کنیم به مهاجرت از ویژوال استودیو 2000 یا همان 6 به 2003 یا 7 و بعدش هم 8 و .....
در این مهاجرت یعنی از 6 به 7 اتفاق مهمی رخ داده.
و آن اتفاق این است که دیگه برنامه ها قرار نیست با ویندوز صحبت کنند و می خواهند با دات نت فریم ورک حرف بزنند.
در ورژن 6 وی بی 6 و وی سی 6 را نام می برم.
وی بی 6 در حقیقت از اولش هم با ویندوز حرف نمی زد. و با یکسری dll ها با ویندوز ارتباط برقرار می کرد. برای همین برنامه هایی که با وی بی 6 ساخته شده بودند روی ویندوز تجهیز نشده اجرا نمی شد. و وابسته به اینکه چه ابزارهایی استفاده شده بود باید فایلهای مربوطه در ویندوز مقصد نصب می شد. برای راحتی در یک سایت دیدم
یک بسته 1 مگائی بود که باید روی ویندوز مقصد اجرا می کردیم. حالا نمی دانم چند درصد برنامه های وی بی را باعث اجرایش میشد. و یک برنامه ساده به چند درصد آن بسته نیاز داشت.
اما وی سی 6 :
برنامه هایش مستقل است.
دو نوع برنامه نویسی فکر کنم دارد. یکی با کلاسهای mfc و دیگری فکر کنم با api های ویندوز. البته اگر درست بگم.
ولی بهر حال برنامه های ساخته شده با وی سی 6 گلیم خود را در ویندوز از آب بیرون می کشند.
اما مهاجرت بزرگ:
در این مهاجرت قراره برنامه های وی بی و وی سی یعنی ویژوال بیسیک و ویژوال سی با دات نت فریم ورک که حجمش 20 مگا است و باید بر ویندوز مقصد نصب شود صحبت کنند.
که وی بی دات نت و وی سی دات نت شکل می گیرد.
و انگار بنا به سیاستهایی میکروسافت اقدام به اختراع زبانی جدید به نام سی شارپ می کند.
این وسط سر mfc کارها بی کلاه می ماند(mimaand ) انگار ... خوب شاید صداشون در می آمد. میکروسافت هم گفت بابا در ویژوال سی 2003 یک قسمت هم می گذاریم برای ساخت برنامه با mfc و اصلا شما گروه ناراحت فرض کنید کلاسهای دات نت نیامده.
پس ویژوال سی 2003 و 2005 شامل دو شاخه شد . یکی mfc کارها و یکی دات نت کارها.(دوستان درست گفتم ؟)
حالا برگردیم به 3 گروه وی بی دات نت کارها و سی شارپ کارها و وی سی پلاس دات نت کارها.......
این 3 گروه قراره مثل 3 تا برادر کنار هم زندگی کنند. یعنی یک خانواده. خانواده دات نت. یا زبانهای دات نتی.
اشتراک هر 3 گروه می تواند این باشد که از کلاسهای دات نت استفاده می کنند.
میکروسافت کلی تبلیغ کرد که ما داریم نزدیکی زبانها بوجود می آوریم و رهایی از مشکلات اجرا ( مثل جهنم dll ) و در دات نت باز گفت حالا برنامه نویسی راحت شده و کلی تبلیغ دیگر . که البته خیلی هاش درسته.
================================
برگردیم به سئوال شما. یعنی ((فرق با سی پلاس پلاس)).
بازم این ها نظر شخصی من است و از من آگاه تر اینجا زیاد است ولی دلیل نمیشه که من هم نظرم را نگم.
ببینید ما دو چیز داریم:
یکی سینتکس و یکی لوازم.
وی بی دات نت و سی شارپ تقریبا میشه گفت به جز اختلاف سینتکس هیچ اختلافی ندارند. البته می دانم فرقهایی هست ولی ندیده گرفتم چون گسترده نبود.
حالا شما سی پلاس بلدی پس سینتکس سی شارپ و سی پلاس را بلدی. البته کلاسهای دات نت را بلد نیستی یا مثلا کلاسهای mfc را بلد نیستی. و یکسری دنگ و فنگ های کوچک و متوسط دیگر.
البته باز دوستان باید بیایند و شرح دهند ولی نظر شخصی من اینه که زبان سی پلاس مثل زبان ترکی می ماند که کمک می کند شما بتوانی بروی تبریز و صحبت کنی. ولی جامعه شناسی و اقتصاد که نمی دانی که بروی آنجا تاجر شوی. یعنی زبان نیاز اولیه است ولی بعدش شناخت محیط است.
اصلا فرض می کنیم سی شارپ و سی پلاس از لحاظ سینتکس مو نمی زنند. البته می زنند . چند موردی هست. مثلا کاربرد فلش و چهار نقطه که در سی شارپ همه میشه نقطه.
حالا فرض کنیم سینتکس هر دو دقیقا یکی باشه و همان سی پلاس باشد . بی هیچ فرقی...
می ماند یادگیری کلاسهای دات نت که خیلی ساده است.
و مفاهیمی که ربطی به کدنویسی ندارد. مثلا مفاهیم سخت افزار و یا شبکه.
من مدعی نیستم حرفهایی که بالا گفتم درست است. نوشتم تا شروع بحث باشد. فعلا نظرم اینه که غلط بهتر از هیچی است.