میدانیم زبان c++ همون زبان c است که یه سری ویژگیهای جدید مثل شی گرایی بهش اضافه شده . یعنی تقریبا همون زبان c است و چیزی از پلاس پلاس کم ندارد خوب حالا چرا برای نوشتن کرنل و برنامه های سیستمی وکلا برنامه های بسیار سطح پایین(اسمبلی) از c++ استفاده نمیشه و بیشتر از c استفاده میشه مثل کرنل یونیکس /لینوکس؟؟
هر زبانی برای کاری ساخته شده و بسته به سن و عمر یک زبان و کاربردش میتونه محبوبیت بیشتر یا کمتری داشته باشه. شاید یکی از دلایل اینه که اولین استاندارد Cpp حدودا تا سال ۱۹۹۸ زمان برد، درحالیکه پروژهایی مانند گنو، پیش از این کار خودشون رو با زبانی مانند سی شروع کرده بودند؛ یا مثلا، کرنل لینوکس در ۱۹۹۱ اولین نسخه خودش رو ارائه داده بود (ویکیپدیا).
بهنظر من، Cpp زبانی بسیار پیچیدست، یادگیری اون مشکله و برای پروژههای بزرگ مناسبه، مثلا پروژههایی که بیش از ۱۰ برنامهنویس داره؛ در اینجا چاره کار استفاده از زبانهای بینظیری مثل Cpp هست تا به راحتی بتونن گروهی روی یک پروژه کار کنند. بهطور نمونه، هم از سی و هم از سی++ در NASA JPL استفاده میشه؛ در International Space Apps Challenge ناسا که بصورت یک رویداد سالانه اجرا میشه امکان استفاده از فریمورک Qt رو به مشارکتکنندگان دادند که خوب مختص سی++ هست. در محصولات ادوبی یا اتودسک هم بیشتر از زبان سی++ استفاده میکنند - با کتابخانههای متفاوت - اما این پروژهها محدود به یک زبان نیستند.
موضوع اینجاست، وقتی کسی میتونه یک برنامهای رو با زبان سی به راحتی بنویسه - که یادگیری سادهتری نسبت به سی++ داره، در زمان کمتر یک پروژه رو میتونن اجرا کنند که بههمانسان سودآوری بالاتری داره -، چرا باید وقتش رو روی پیادهسازی شیگرا بزاره؟ من خودم با Cpp کار میکنم (کارآموز هستم)، اگر این شناخت و تفاوت زبانها رو پیشتر میدونستم، شاید با سی کار میکردم. وقتی میتونن یک کرنل یا برنامه ایمکس، یا گیت، گیمپ یا پیجین رو با C بنویسن، چرا باید خودشون رو درگیر انجام کارهای اضافه در سی++ کنند؟ اگرچه سی یک زبان سطح سیستم معرفی شده، اما وقتی توانایی انجام کارهای موردنظر رو با این زبان دارند، چرا انجام ندهند و وقتشون رو صرف یادگیری و اجرا با زبان دیگه (نه لزوما سی++) بکنند؟ اما خوب یکی هم اینقدر حرفهای میشه که از روی علاقه میاد یه سیستمعامل رو با سی++ پیاده میکنه (BeOS). کسانی هم هستند که کارهای کوچکی رو مانند Stardict یا چغوک رو با سی++ پیاده میکنند.
به نظر من مهم این نیست که چرا یک زبان رو به یک زبان دیگه ترجیح میدن، مهم اینه که به هدفی که دارن میرسن و به درستی اجراش میکنند.