سبد خرید شما

icon
سبد خرید خالی است.

C++

زبان ++C چیست؟

سی‌پلاس‌پلاس یک زبان برنامه نویسی همه منظوره، همگردان، سطح میانی، شیءگرا و چندرگه است که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیءگرا پشتیبانی می‌کند. این زبان دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چند مدلی، معمولاً زبان ترجمه شده با پشتیبانی از زبان برنامه نویسی ساخت یافته، برنامه نویسی شیءگرا، برنامه نویسی جنریک است. از آنجا که در ++C اشیاء را می‌توان ابتدا به ساکن از کلاس‌هایی ایجاد کرد که به هیچگونه سلسله مراتب رده‌ها و وراثت مقید نیستند، لذا ++C از برنامه نویسی شیء بنیاد (object-based programming)  نیز پشتیبانی می‌کند.++C به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی هستند. ++C یک زبان سطح میانی در نظر گرفته می‌شود؛ این زبان دارای قابلیت‌های زبان برنامه نویسی سطح بالا و زبان برنامه نویسی سطح پائین به‌صورت هم‌زمان است.

 

فلسفه تولید زبان ++C

توسط بیارنه استراس تروپ ریاضی‌دان دانمارکی در سال 1979 در آزمایشگاه‌های بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد، در طول مدت تحقیق این زبان به نام C جدید و بعدها C با کلاس خوانده شد. در سه قسمت از زبان تخیلی Newspeak کلمات C برای اشاره به لغات فنی و حرفه‌ای بکار می‌رود. «دو علامت +» برای ایجاد صفات عالی از صفات Newspeak به کار می‌رفت بنابراین ++C  به معنای زبانی با بیشترین شباهت به C است. وقتی که به صورت خصوصی از ریک ماسکیتی در مورد این اسم سوال شد او در جواب گفت که این اسم بصورت خودمانی در بین آنها به کار می‌رفته‌است و تصور نمی‌کردند که این نام بصورت نام رسمی این زبان درآید.

توسعه با اضافه نمودن کلاسها و ویژگی‌های دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثناء انجام شد. این زبان برنامه‌نویسی در سال 1998 تحت نام  ISO/IEC 14882:1998 استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC 14882:2014 است.

  • ++C طراحی شده‌است تا یک زبان عمومی با کنترل نوع ایستا و همانند C قابل حمل و پربازده باشد.
  • ++C طراحی شده‌است تا مستقیماً و به صورت جامع از چندین شیوه برنامه‌نویسی بتوان از آن استفاده کرد (برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شی‌گرا، انتزاع داده، و برنامه‌نویسی جنریک).
  • ++C طراحی شده‌است تا به برنامه‌نویس امکان انتخاب دهد حتی اگر این انتخاب اشتباه باشد.
  • ++C طراحی شده‌است تا حداکثر تطابق با C وجود داشته باشد و یک انتقال راحت از C را ممکن سازد.
  • ++C از بکاربردن ویژگی‌های خاص که مانع از عمومی شدن است خودداری می‌نماید.
  • ++C از ویژگی‌هایی که بکار برده نمی‌شوند استفاده نمی‌کند.
  • ++C طراحی شده‌است تا بدون یک محیط پیچیده عمل نماید.

مزایای زبان برنامه نویسی ++C

از مهم‌ترین مزایای زبان برنامه نویسی ++C می‌توان به موارد زیر اشاره نمود:

  • یک زبان چند منظوره است.
  • تاثیر گذارترین زبان برنامه نویسی در دنیای کامپیوتر است.
  • یک زبان ساخت یافته‌ و قابل حمل است.
  • زبان برنامه نویسی سیستم است.
  • زبان کوچکی است و تعداد کلمات کلیدی آن انگشت شمار است.
  • یک زبان برنامه نویسی سطح میانی است.
  • دارای سرعت، قدرت و انعطاف پذیری بالایی است.
  • هیچ محدودیتی را برای برنامه نویس به وجود نمی آورد.
  • نسبت به حروف حساس است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته می‌شوند.
  • در محیط‌های توسعه دهنده مجتمع (Integrated Development Envoirements) صورت می‌گیرد.

 

با زبان برنامه نویسی ++C چه کارهایی می‌توانید انجام دهید؟

با این زبان می‌توانید برنامه نویسی سیستم عامل، هسته و لایه‌های مختلف سیستم عامل (ios ,linux , macos windows,…) انجام دهید. با ++C قادر به تولید نرم افزار، بازی سازی تحت وب و برای انواع کنسول‌ها‌، برنامه نویسی برای موبایل و تبلت خواهید بود. این زبان برنامه نویسی در صنایع پزشکی، فضایی، خودروهای هوشمند و اینترنت اشیاء نیز کاربرد دارد. با زبان ++C قادر هستید که ربات‌ها را برنامه نویسی کنید.

این زبان را بایستی از دو جنبه داخل ایران و خارج از ایران مورد بررسی قرار داد زیرا این دو مقوله کاملا متفاوت هستند. در داخل ایران از این زبان تنها به صورت آکادمی و آموزشی استفاده می‌کنند به صورتی که این زبان را تنها به دانشجویان و دانش آموزان آموزش می‌دهند ولی استفاده کاربردی از آن ندارند اما این مسئله در خارج از ایران کاملا متفاوت است. در خارج از ایران علاوه بر این که این زبان را آموزش می‌بینند از این زبان به صورت عملی نیز استفاده می‌کنند یعنی بیشتر برنامه‌ها و اپلیکیشن‌های آن‌ها  با این زبان است و در زندگی روزمره خود با آن سروکار دارند. از جمله موارد استفاده از این زبان: سخت افزارهای رباتیک در انواع صنایع، صنعت فضایی، سیستم‌های معماری و بانکی، صنعت خودروسازی، صنعت بازی‌سازی، سیستم‌های کامپیوتری، سیستم‌های خانگی و یا سیستم‌های رباتیک و هوش مصنوعی، تجهیزات مجهز به حسگرها و هوش مصنوعی در علم پزشکی، نرم افزارهای مهندسی، برنامه‌های کاربردی، انیمیشن، مرورگر وب، دسترسی به بانک اطلاعاتی، دسترسی به چند رسانه‌ای، کامپایلرها، اسکن و هم‌چنین سیستم عامل‌ها و بسیاری از موارد دیگری که می‌توان نام برد توسط زبان ++C برنامه نویسی و پیاده‌سازی شده‌اند.

 

فرصت‌های شغلی زبان ++C

در عین ناباوری زبان سی پلاس پلاس پر درآمدترین زبان برنامه نویسی شده است. دستمزد برنامه‌نویسان در بخش‌های مختلف دنیا با هم تفاوت‌ دارد. میانگین درآمد برنامه نویس در آمریکا در سال 2020، بیش از 106 هزار دلار بوده است. حتی درآمد زبان‌های برنامه‌نویسی مختلف در کشورهای مختلف با هم‌دیگر متفاوت است. به عنوان مثال، پردرآمدترین زبان برنامه نویسی در ایران، پایتون است و پس از آن، جاوا و C++/C در جایگاه‌های بعدی قرار دارند.

عوامل دیگری نیز روی حقوق برنامه نویس مؤثر هستند. سطح تجربه یکی از مهم‌ترین این عوامل است. نوع شغل و نحوه‌ی همکاری برنامه‌نویس روی درآمدش تأثیرگذار است. معمولا برنامه‌نویسانی که به صورت فریلنسینگ کار می‌کنند، درآمد پایین‌تری نسبت به برنامه‌نویسانی هستند که در استخدام یک سازمان می‌باشند. البته این مورد همیشه صادق نیست و گاها فریلنسرها، درآمدهای بسیار بالایی دارند.

این زبان برنامه نویسی به برنامه‌نویسان و توسعه‌دهندگان نرم‌افزار کمک می‌کند تا مسائل پیچیده را به مسائل کوچکتر و ساده‌تر بشکنند. این زبان برنامه‌نویسی، یک کتابخانه‌ی غنی دارد. میانگین جهانی دستمزد برنامه‌نویسان ++C  در سال 2020، 55 هزار و 363 دلار آمریکا بوده است.

مواردی که در آن از زبان ++C و برنامه نویسان حرفه‌ای این زبان بهره گرفته‌ شده است عبارتند از:

  • صنعت خودرو سازی
  • صنعت فضایی
  • سیستم‌های معماری
  • سیستم‌های بانکی
  • تجهیزات مدرن در انواع صنایع
  • سخت افزار های رباتیک در انواع صنایع
  • سیستم های کامپیوتری
  • کنسول های بازی
  • سیستم‌های خانگی
  • سیستم‌های رباتیک
  • هوش مصنوعی
  • تجهیزات مجهز به انواع حسگرها
  • هوش مصنوعی در علم پزشکی
  • صنعت بازی‌سازی
  • نرم افزارهای مهندسی
  • سیستم عامل‌ها
  • نرم افزاهای ویندوزی

هم‌چنین برنامه های مطرح نوشته شده با زبان ++C عبارتند از:

  • نرم افزار معروف و قوی فتوشاپ
  • نرم افزار PDF خوان ادوب اکروبات
  • مرورگر اینترنت گوگل کروم
  • مرورگر اینترنت اوپرا
  • مرورگر اینترنت موزیلا فایرفاکس
  • نرم افزار قدرتمند سه بعدی سازی 3D Max
  • نرم افزار ریموت دسکتاپ تیم ویور
  • نرم افزار چت تصویری اسکایپ

 

آمارهای زبان ++C

برخی از محصولات اساسی و معروف که بخش عمده و یا به صورت کامل توسط ++C نوشته شدند:

سیستم‌عامل‌ها:

  • ویندوز
  • مکینتاش
  • لینوکس
  • آی‌او‌اس
  • اندروید

مرورگر‌ها:

  • اُپرا
  • فایرفاکس
  • گوگل کروم
  • مایکروسافت اِدج
  • اپل سافاری

نرم‌افزار‌های کاربردی و مهندسی:

  • تمامی محصولات قدرتمند Adobe مانند فوتوشاپ، افتر‌افکت و غیره...
  • تمامی محصولات Autodesk مانند Maya، dsMax3 و Autocad
  • مجازی‌ساز‌ها مانند Virtual Box و VMware
  • محصولات مایکروسافت مانند Visual Studio و Office
  • محصولات اپل مانند iTunes،Xcode  و غیره...

بازی‌ها و صنایع مرتبط:

  • توسعه کنسول‌های بازی Playstation و Xbox
  • اکثر بازی‌های خارق‌العاده در سطح AAA

پیام‌رسان‌ها:

  • تلگرام
  • اسکایپ

موتور‌های دیتابیس مانند MySQL و غیره:

  • SQL
  • NoSQL
  • SQLite
  • MySQL
  • Sybase Adaptive Server
  • SQL Server
  • Oracle
  • PostgreSQL
  • IBASE: Borland
  • IBM DB2

کتابخانه‌ها و ابزار‌های پیشرفته توسعه.

ابزار‌های مرتبط با فناوری‌های روز مانند Blockchain و غیره.

زبان‌های برنامه‌نویسی مانند Swift و غیره.

راه‌انداز‌ها و ابزار‌های قدرتمند AMD، Intel  و NVIDIA Geforce و پلتفرم‌هایی مانند Cuda.

هم‌چنین در جدول ذیل استفاده سایت‌های برتر دنیا از زبان‌های برنامه نویسی را نمایش می‌دهد، که از بین 13 سایت 7 سایت از زبان  ++C استفاده می‌کنند.

در جدول زیر میزان رتبه بندی زبان‌های مختلف برنامه نویسی از سال تولید آن‌ها تا کنون قابل رویت است که در سال 2021 زبان ++C رتبه چهارم را از آن خود کرده است.

 

ورژن‌های زبان ++C

استراس‌تروپ کار بر روی زبان C با کلاس را در سال 1979 آغاز کرد. ایده ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراس‌تروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگی‌هایی مناسب برای ساخت برنامه‌های بسیار بزرگ است اما برای استفاده عملی بسیار کند است اما BCPL با وجود سرعت بسیار زیاد برای ساخت برنامه‌های بزرگ بسیار سطح پایین است. زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل (Bell Labs)  آغاز نمود با مشکل تحلیل هسته unix با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگی‌های سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و به‌صورت گسترده در حال استفاده بود. علاوه بر C و سیمولا زبان‌های دیگری مانند: 68ALGOL، ADA، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت.
در ابتدا ویژگی‌های کلاس، کلاس‌های مشتق شده، کنترل نوع قوی، توابع درون‌خطی، و آرگومان‌های پیش‌فرض از طریق Cfront به C اضافه شد. اولین نسخه تجاری در سال 1985 ارائه شد. در سال 1983 نام زبان از C با کلاس به  ++C تغییر یافت.
ویژگی‌های دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر به‌صورت آزاد، کنترل نوع بهتر، و توضیحات یک‌خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال 1985 اولین نسخه زبان برنامه‌نویسی  ++C انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی‌ای وجود نداشت. در سال 1989 ویرایش 2٫0 از زبان  ++C ارائه شد. ویژگی‌های جدیدی مانند ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توایع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد.
در سال 1990 راهنمای مرجع  ++C منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگی‌های اضافه شده شامل موارد زیر بودند: قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.
در حین تکامل  ++C کتابخانه استاندارد نیز به‌وجود آمد. اولین نسخه کتاب استاندارد شامل کتابخانه جریانات I/O بود که جایگزین printf و scanf شد. در ادامه مهم‌ترین ویژگی اضافه شده Standard Template Library بوده‌است.

C++98: زمانی که  ++C نخستین بار در سال 1985 منتشر شد، هیچ استاندارد رسمی در مورد آن وجود نداشت. در واقع نخستین نسخه استانداردشده این زبان در سال 1998 انتشار یافت که به نام C++98 شناخته می‌شود.

C++03: در سال 2003 نسخه جدیدی از زبان  ++C انتشار یافت. C++03 در واقع یک استاندارد جدید محسوب نمی‌شد؛ اما برخی باگ‌های نسخه C++98 در آن اصلاح شده بود تا یکپارچگی و پرتابل بودن بیشتری تضمین شود

C++11 یا C++0X: استاندارد عمده بعدی زبان  ++C در سال 2011 انتشار یافت و به نام C++11 شناخته شد. از آنجا که کمیته  ++Cمطمئن بود که این نسخه در سال 2009 انتشار خواهد یافت، نام آن را C++0X گذاشت. بعدا و با عدم انتشار این نسخه،Stroustrup  این شوخی را مطرح کرد که C++0X  به صورت هگزادسیمال C++0xB  تبدیل شده است که معادلC++11  است.

C++14 یا C++1y: استاندارد C++14  در سال 2014 منتشر شده است و همانند C++03  شامل رفع باگ‌ها و برخی بهبودهای جزئی نسبت بهC++11  است.

C++17 یا C++1z: نسخه بعدی از این زبان به نام C++17 در سال 2017 منتشر شده است و آخرین نسخه انتشار یافته این زبان محسوب می‌شود. در این نسخه ویژگی‌های جدیدی به این زبان اضافه شده است.

C++20: نسخه اخر این زبان برنامه‌نویسی  در سال 2020 میلادی منتشر شد و امکانات جالب دیگری به آن اضافه گردید.

فریم ورک ها

بیشتر بخوانید

Zharfa Academy-Zharfa Mag-ربات کوری (Kuri Robots)مجله علمی آکادمی ژرفا-
موضوع: ربات کوری (Kuri Robots)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/16
Zharfa Academy-Zharfa Mag-ربات موفلین (Moflin Robot)مجله علمی آکادمی ژرفا-
موضوع: ربات موفلین (Moflin Robot)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/14
Zharfa Academy-Zharfa Mag-ربات اسپات (Spot Robot)مجله علمی آکادمی ژرفا-
موضوع: ربات اسپات (Spot Robot)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/14
Zharfa Academy-Zharfa Mag-ربات Sphero BOLTمجله علمی آکادمی ژرفا-
موضوع: ربات Sphero BOLT
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/22
Zharfa Academy-Zharfa Mag-دوره‌های زمستانه آکادمی ژرفامجله علمی آکادمی ژرفا-
موضوع: دوره‌های زمستانه آکادمی ژرفا
نویسنده: المیرا افلاکی
تاریخ: 1400/10/23
Zharfa Academy-Zharfa Mag-مهاجرت برنامه‌نویسانمجله علمی آکادمی ژرفا-
موضوع: مهاجرت برنامه‌نویسان
نویسنده: المیرا افلاکی
تاریخ: 1400/03/12
Zharfa Academy-Zharfa Mag-IOT اینترنت اشیاء و IIOTمجله علمی آکادمی ژرفا-
موضوع: IOT اینترنت اشیاء و IIOT
نویسنده: المیرا افلاکی
تاریخ: 1400/03/15
Zharfa Academy-Zharfa Mag-بک لینک چیست؟مجله علمی آکادمی ژرفا-
موضوع: بک لینک چیست؟
نویسنده: المیرا افلاکی
تاریخ: 1400/03/18