C++ (بخوانید سیپلاسپلاس /ˌsiːˌplʌsˈplʌs/) یک زبان برنامهنویسی همهمنظوره، همگردان، سطح میانی، شیءگرا و چندرگه است که از برنامهنویسی رویهای، تجرید دادهها و برنامهنویسی شیءگرا پشتیبانی میکند. این زبان دارای قابلیتهای انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمهشده با پشتیبانی از برنامهنویسی ساختیافته، برنامهنویسی شیءگرا، برنامهنویسی جنریک است. از آنجا که در ++C اشیاء را میتوان ابتدا به ساکن از کلاسهایی ایجاد کرد که به هیچگونه سلسله مراتب ردهها و وراثت مقید نیستند، لذا ++C از برنامهسازی شیء بنیاد (object-based programming) نیز پشتیبانی میکند.[۹] C++ به همراه جد خود C از پرطرفدارترین زبانهای برنامهنویسی هستند. C++ یک زبان سطح میانی در نظر گرفته میشود؛ این زبان دارای قابلیتهای زبانهای برنامهنویسی سطح بالا و زبانهای برنامهنویسی سطح پایین بهصورت همزمان است.
C++ توسط بییارنه استراستروپ ریاضیدان دانمارکی در سال ۱۹۷۹ در آزمایشگاههای بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را «C با کلاس» (C With Classes) نامگذاری نمود. در سال ۱۹۸۳ به C++ تغییر نام داد. توسعه با اضافه نمودن کلاسها و ویژگیهای دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثناء انجام شد. این زبان برنامهنویسی در سال ۱۹۹۸ تحت نام ISO/IEC ۱۴۸۸۲:۱۹۹۸ استاندارد شد. نسخهٔ فعلی استاندارد این زبان ISO/IEC ۱۴۸۸۲:۲۰۱۴ است.
استراستروپ کار بر روی زبان «C دارای کلاس» را در سال ۱۹۷۹ آغاز کرد. ایدهٔ ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراستروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگیهایی مناسب برای ساخت برنامههای بسیار بزرگ است اما برای استفادهٔ عملی بسیار کند است اما بیسیپیال با وجود سرعت بسیار زیاد برای ساخت برنامههای بزرگ بسیار سطح پایین است. زمانی که استراستروپ کار خود را در آزمایشگاههای بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته یونیکس با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگیهای سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و در سطح گستردهای در حال استفاده بود. علاوه بر C و سیمولا زبانهای دیگری مانند ALGOL ۶۸، ADA, CLU, ML نیز بر ساختار این زبان جدید اثر گذاشت. در ابتدا ویژگیهای کلاس، کلاسهای مشتق شده، کنترل نوع قوی، توابع درونخطی و آرگومانهای پیشفرض از طریق Cfront به C اضافه شد. اولین نسخهٔ تجاری در سال ۱۹۸۵ ارائه شد.
در سال ۱۹۸۳ نام زبان از «C با کلاس» به C++ تغییر یافت. ویژگیهای دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر بهصورت آزاد، کنترل نوع بهتر، و توضیحات یکخطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامهنویسی C++ انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمیای وجود نداشت. در سال ۱۹۸۹ ویرایش ۲٫۰ از زبان C++ ارائه شد. ویژگیهای جدیدی مانند ارثبری چندگانه، کلاسهای انتزاعی، اعضای ایستای توابع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد. در سال ۱۹۹۰ «راهنمای مرجع C++» منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگیهای اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.
در حین تکامل C++ کتابخانه استاندارد سی++ نیز بهوجود آمد. اولین نسخهٔ کتاب استاندارد شامل کتابخانهٔ جریانات I/O بود که جایگزین printf و scanf شد. در ادامه مهمترین ویژگی اضافه شده Standard Template Library بودهاست.
این نام منسوب به ریک ماسکیتی (اواسط ۱۹۸۳) است و برای اولین بار در دسامبر سال ۱۹۸۳ به کار برده شد. در طول مدت تحقیق این زبان بنام «C جدید» و بعدها «C با کلاس» خوانده شد. در علوم کامپیوتر هنوز هم C++ به عنوان ابرساختار C شناخته میشود. آخرین نام از عملگر ++ در زبان C (که برای افزایش مقدار متغیر به اندازهٔ یک واحد بکار میرود) و یک عرف معمول برای نشان دادن افزایش قابلیتها توسط + ناشی گشتهاست. با توجه به نقل قولی از استراستروپ: «این نام ویژگیها تکاملی زبان در C را نشان میدهد.» +C نام زبانی غیرمرتبط به این زبان است.
استراستروپ مبدأ این نام را در فصل اول کتاب خود «زبان برنامهنویسی C++» اشاره مینماید که معنی دیگر C++ را میتوان در ضمائم کتاب جرج ارول بنام ۱۹۸۴ یافت. در سه قسمت از زبان تخیلی Newspeak «کلمات C» برای اشاره به لغات فنی و حرفهای بکار میرود. «دو علامت +» برای ایجاد صفات عالی از صفات Newspeak به کار میرفت بنابراین C++ به معنای زبانی با بیشترین شباهت به C است.
وقتی که به صورت خصوصی از ریک ماسکیتی در مورد این اسم سؤال شد او در جواب گفت که این اسم به صورت خودمانی در بین آنها به کار میرفتهاست و تصور نمیکردند که این نام به صورت نام رسمی این زبان درآید.
برنامه نویس...برچسب : زبان سی پلاس پلاس, نویسنده : علی رضا barnamenevisha بازدید : 230