سی++

سی++ (دەخوێندرێتەوە وەک 'سی پڵەس پڵەس'، بە ئینگلیزی ++C) زمانێکی بەرنامەسازی پلە-بەرزە بۆ بەکارێنانی گشتی، کە دروست کراوە لەلایەن زانای کۆمپیوتەری دانیمارکیی بیاڕن ستراوسترەپ. زمانەکە دروست کرا وەکوو زیادکراوێک بۆ زمانەکانی بەرنامەسازیی سی. زمانەکە پەرەپێدانێکی زۆری پێدراوە بەدرێژایی کات؛ و سی++ی مۆدێرن لە ئێستادا تایبەتمەندی تەنخواز و جێنێریک و کارایی ھەیە. ھەروەھا خاوەنی تایبەتمەندی دەستکاریکردنی بیرگەی ئاستی نزمە.

بیارن ستڕۆستراپ، دروستکەری سی++, لە نووسینگەی AT&T New Jersey, c.

لە ساڵی ١٩٧٩، بیارن ستڕۆستراپ، زانایەکی کۆمپیوتەری دانیمارکی، دەستی کرد بە کارکردن لەسەر "C with classes", یەکەم ڤێرژنی سی++.[١] ئەو شتەی ئەوی ھاندا بۆ دروستکردنی زمانێکی نوێ بریتیبوو لە ئەزموونی سترۆستراپ لە بەرنامەسازیی بۆ وتاری دکتۆراکەی. سترۆستراپ بۆی دەرکەوت کە سیمۆلا تایبەتمەندییەکی ھەبوو کە زۆر بەسوود بوو بۆ پەرەپێدانی نەرمەکاڵای گەورە، بەڵام زمانەکە زۆر خاو بوو بۆ بەکارھێنانی کرداری، لە ھەمان کاتدا BCPL خێرا بوو بەڵام ئاستێکی زۆر نزمی ھەبوو بۆ ئەوەی گونجاو بێت بۆ پەرەپێدانی نەرموکاڵای گەورە. کاتێک سترۆستراپ دەستی کرد بە کارکردن لە تاقیگەکانی AT&T Bell، کێشەی شیکردنەوەی ناوکی UNIX ھەبوو بە گوێرەی کۆمپیوتەری دابەشکراو. سترۆستراپ کە ئەزموونی دکتۆراکەی خۆی بیر ھاتەوە، دەستی کرد بە باشترکردنی زمانی سی بە تایبەتمەندییەکانی ھاوشێوەی سیمۆلا.[٢] سترۆستراپ C ھەڵبژارد چونکە بۆ مەبەستی گشتی بەکاردەھات و خێرابوو و گواستراو و بە شێوەیەکی بەربڵاو بەکاردەھێنرا. جگە لە کاریگەری C و Simula، زمانەکانی تر کاریگەرییان لەسەر ئەم زمانە نوێیە ھەبوو، لەوانە ALGOL 68, Ada, CLU و ML.

تاقیکردنەوەیەک لەسەر تایبەتمەندییەکانی C++11 کە لە پاریس لە ٢٠١٥ ئەنجامدرا.

وشەزانی

بە گوێرەی سترۆستراپ، «ناوەکە ئاماژە بە سروشتی پەرەسەندنی گۆڕانکارییەکان دەکات لە زمانی سی».[٣] ئەم ناوە لەلایەن ڕیک ماسیتتی (لە ناوەڕاستی ١٩٨٣) و بۆ یەکەم جار لە کانوونی یەکەمی ١٩٨٣ بەکارھێنرا.[٤] کاتێک لە ساڵی ١٩٩٢ بە شێوەیەکی نافەرمی پرسیار لە ماسسیتی کرا سەبارەت بە ناوەکە، ئاماژەی بەوە کرد کە بە ڕۆحێکی گاڵتەجاڕی دای ناوە. ناوەکە لە کارپێکەری C ++ ەوە ھاتووە (کە بەھای گۆڕاوێک زیاد دەکات).

لە ماوەی گەشەپێدانی سی++، زمانەکە بە "C نوێ" و "C لەگەڵ پۆلەکان" ناودەبردرا پێش ئەوەی ناوەکەی ئێستای بەدەست بھێنێت.[٤][٥]

زمانەکە

زمانی سی++ دوو پێکھاتەی سەرەکی ھەیە: نەخشەدانانی ڕاستەوخۆی تایبەتمەندییەکانی کەرەستەیی کە بە شێوەیەکی سەرەکی لەلایەن کۆمەڵەی C دابین دەکرێت، و لێکدانەوەی سفر-سەری لەسەر بنەمای ئەو نەخشانە. سترۆستراپ سی++ بە " زمانێکی بەرنامەسازیی ئەبستراکتی قورس و سادە" وەسف دەکات، کە دیزاین کراوە بۆ بنیاتنان و بەکارھێنانی ئەبستڕاکی کارا و ئەبستراکی جوان؛ و "بەردەستکردنی دەستگەیشتن بە ھاردوێر و ئەبستراکشن بنچینەی سی++ە.[٦]

سی++ میراتگری زۆربەی سینتاکسەکانی Cە. ئەمەی خوارەوە ڤێرژنی بیارن ستڕۆستراپە کە بەرنامەیەکی دروست کردووە کە دەنووسێت "Hello, world" بۆ بۆ دەرچوونی ستاندارد. C++ Standard Library stream facility بەکاردەھێنێت:[٧][٨]

#include <iostream>int main(){    std::cout << "Hello, world!\n";}

ڕەخنەگرتن

سەرەڕای پەسەندکردنێکی بەربڵاوی زمانەکە لە جیھان، ھەندێک پرۆگرامەری بەناوبانگ ڕەخنەیان لە زمانی سی++ گرتووە، لەوانە لینوس تۆرڤاڵدس، ڕیچارد ستالمان، جۆشوا بلۆخ، کێن تۆمسۆن[٩][١٠][١١] و دۆناڵد نوت.[١٢][١٣]

یەکێک لەو خاڵانەی کە زۆرترین ڕەخنەی لێگیراوە لە سی++ بریتییە لە ئاڵۆزیی زمانەکە، ھەروەھا ڕەخنەی لێگیراوە کە ژمارەیەکی زۆر لە تایبەتمەندییە نا-ئۆتۆگۆنالییەکان لە کرداردا پێویستی بە سنووردارکردنی کۆد ھەیە بۆ بەشێک لە سی++, بەم شێوەیە ڕێگری لە سوودەکانی خوێندنەوەی شێواز و زاراوەی باو دەکات. وەک جۆشوا بلۆخ وتی:

پێم وایە سی++ زۆر زیاد لە سنوور ئاڵۆز کراوە، بەڵام ھێشتا خەڵکێکی زۆر بەرنامەی پێدەنووسن؛ بەڵام ئەوەی کراوە ئەوەیە کە خەڵک ناچار کراوە ژێرکۆمەڵەی بۆ درووستبکەن؛ بۆیە زۆربەی ئەو شوێنانەی کە من دەزانم C++ بەکاردەھێنن دەڵێن، "بەڵێ، ئێمە C++ بەکار دەدەھێنین بەڵام ئێمە میراتگری جێبەجێکردنی فرە ئەنجام نادەین و ئێمە زیادەڕۆیی کارپێکەر بەکار ناھێنین. زمانەکە کۆمەڵێک تایبەتمەندی ھەیە کە ناتوانیت بەکاری بھێنیت چونکە کۆدەکە زۆر ئاڵۆزدەبێت. وە پێموانییە کردنی ئەمە شتێکی باشبێت. تۆ ئەو ئازادییە لەدەست دەدەیت کە ھەموو کەسێک بتوانێت کۆدی ھەموو کەسێکیتر بخوێنێتەوە کە شتێکی زۆر باشە.

دۆناڵد نەث (کە لە ١٩٩٣ لەبارەی سی++ی ئەوکات قسەدەکات)، دەڵێت "بیرکردنەوە لە سی++ وەک زمانێکی بەرنامەسازیی بەڕاستی نەخۆشی دەخات":[١٢][١٣]

ئەو کیشەیەی کە لەئێستادا ھەمە ئەوەیە کە… سی++ زۆر ئاڵۆزە. لەئێستادا مەحاڵە کۆدی تێدا بنووسم لەسەر زۆر سیستەمی جیاواز کار بکات، مەگەر ھەموو تایبەتمەندییە جوانەکان کارپێنەکەم. ھەرکاتێک دیزاینەرانی زمانی سی++ دوو بیرۆکەی جیاوازیان ھەبوو سەبارەت بەوەی چۆن کێشەیەک چارەسەر بکەن، گوتوویانە «باشە، با ھەردووکیان بکەین». بۆیەش زمانەکە زۆر بەغدراوە بۆ من.

سترۆستراپ خۆی ئاماژە بەوە دەکات کە سێمانتیکەکانی سی++ زۆر سادەترن لە سینتاکسەکەی: «لە ناو سی++، زمانێکی زۆر بچووکتر و سادەتر ھەیە کە ھەوڵدەدات دەربچێت».[١٤]

ڕەخنەکانی تر لە زمانەکە بریتین لە ئاوێنەکردن یان کۆکردنەوەی پاشماوەکان، کاتە درێژەکانی کۆکردنەوە، لێکدانەوەی تایبەتمەندی تێگەیشتوو، و پەیامەکانی ھەڵەی زارەکی، بەتایبەتی لە مێتپرۆگرامکردنی تابلۆ.[١٥][١٦]

سەرچاوەکان