زبان C++ توسعه یافته زبان C است که از دو زبان برنامهنویسی قبلی، بنامهای BCPL و B منشعب شده است. زبان BCPL در سال ۱۹۶۷ توسط Martin Richards بعنوان زبانی برای نوشتن نرمافزار سیستمهای عامل و کامپایلرها طراحی شده بود.آقای Ken Thompson بسیاری از ویژگیهای زبان B خود را از BCPL اقتباس کرد و از B برای ایجاد نسخههای اولیه سیستم عامل UNIX در آزمایشگاهای Bell در سال ۱۹۷۰ بر کامپیوتر DEC PDP-7 استفاده شد. هر دو زبان BCPL و B از نوع زبانهای بدون نوع (typeless) هستند، به این معنی که هر ایتم داده یک “کلمه” در حافظه اشغال میکند و مسئولیت رسیدگی به دادها به عهده برنامه نویس خواهد بود.
زبان C از زبان B و توسط Dennis Ritchie در آزمایشگاهای شرکت Bell توسعه یافت و برای اولین بار بر روی کامپیوتر DEC PDP-11 در سال ۱۹۷۲ پیاده سازی گردید. زبان C از مفاهیم اساسی BCPL و B سود میبرد در حالیکه دارای قابلیت تعریف نوع داده (data type) و ویژگیهای دیگر بود. زبان C در بدو شروع بکار بطور گستردهای بعنوان زبان توسعهدهنده سیستم عامل UNIX بکار گرفته شد. امروزه، اکثر سیستمهای عامل توسط زبانهای C یا C++ یا ترکیبی از هر دو نوشته شدهاند. هم اکنون C بر روی بیشتر کامپیوتر پیدا میشود. زبان C، زبان مستقل از سختافزار است. اگر در زمان طراحی دقت کافی بخرج داده شود، میتوان برنامههای C را که از قابلیت حمل (portable) برخودار هستند بر روی اکثر کامپیوترها به اجرا در آورد.
در اواخر دهه ۱۹۷۰، زبان C توسعه پیدا کرد و بنامهای “C تجاری”،”C کلاسیک”، و “Keringhan and Ritchie C” معروف شد. کتاب “زبان برنامهنویسی C” که توسط انتشارات Prentice-Hall در سال ۱۹۷۸ منتشر شد تاثیر بسیار زیادی در گسترش این زبان بازی کرد.
بکارگیری زبان C بر روی مجموعه وسیعی از انواع کامپیوترها (گاهی اوقات از این مطلب بعنوان platform یاد میشود) موجب شده تا نسخههای متعدی از آن بوجود آید (متاسفانه). با اینکه این نسخهها شبیه هم بودند، اما گاهی اوقات عدم سازگاری مابین آنها رخ میداد. این عدم سازگاری یکی از جدیترین مشکلات برنامهنویسانی بود که میخواستند برنامههای قابل حملی بنویسند که بر روی چندین پلاتفرم به اجرا درآید. در چنین وضعیتی وجود یک نسخه استاندارد C احساس گردید. در سال ۱۹۸۳، کمیته استاندارد X3J11 که تحت نظارت کمیته ملی استاندارد کامپیوتر و پردازش اطلاعات آمریکا (ANSCIP)[1]
بوجود آمده بود، یک تعریف غیر مبهم از زبان مستقل از ماشین ارائه کرد. در سال ۱۹۸۹، استاندارد رشد پیدا کرده بود و ANSI با همراهی ISO[2]
زبان C را در سرتاسر جهان استاندارد کردند. مستند استاندارد در سال ۱۹۹۰ منتشر شد و از آن بعنوان ANSI/ISO 9899:1990 یاد میشود. ویرایش دوم کتاب “زبان برنامهنویسی C” در سال ۱۹۸۸، چاپ و به نام ANSI C، نامیده شد که هم اکنون در سرتاسر جهان بکار گرفته میشود.
Information
قابلیت حمل
بدلیل اینکه زبان C++ استاندارد شده است، مستقل از سخت افزار است و بطرز گسترده ای در دسترس می باشد، غالبا برنامههای نوشته شده به زبان C++را میتوان با کمی اصلاح و حتی بدون هیچ گونه تغییری، بر روی انواع مختلفی از سیستمهای کامپیوتری به اجرا در آورد.
زبانC++ بسط یافته زبان C است،که توسط Bjarne Stroustryp در اوایل ۱۹۸۰ و در آزمایشگاههای Bell ابداع گردید. زبان C++ حاوی برخی از ویژگیهای C است، اما مهمترین ویژگی و قابلیت این زبان در برنامهنویسی شیگرا بودن آن است.
این ویژگی، انقلابی در جامعه نرمافزاری بوجود آورد. در چنین حالتی تولید نرمافزار بسرعت، با دقت و اقتصادیتر صورت میگیرد. شیها کامپونتهای نرمافزاری با قابلیت استفاده مجدد هستند که ایتمهای حقیقی در دنیا را مدل سازی میکنند. توسعه دهندهگان نرمافزار به این نتیجه رسیدهاند که بهره گیری از روش مدولار و طراحی شیگرا و پیاده سازی به این روشها میتواند در بهرهوری گروههای توسعهدهنده نرمافزاری در مقایسه با تکنیکهای متداول قدیمیتر، همانند برنامهنویسی ساختیافته بسیار موثر باشد. درک برنامههای شیگرا، اصلاح و تغییر آنها راحتر است.
زبانهای شیگرای متعددی تا بدین روز پدید آمدهاند، زبانهای همانند Smalltalk، که توسط PARC[3]
ابداع شده است. زبان Smalltalk یک زبان شیگرای محض است، که هر چیزی در آن یک شی میباشد. از سوی دیگر C++ از جمله زبانهای هیبرید میباشد، به این معنی که میتوان در این زبان برنامهای نوشت که شبیه C یا شیگرا باشد، یا اینکه ترکیبی از هر دو حالت را در بر گیرد.