سی++ (دەخوێندرێتەوە وەک 'سی پڵەس پڵەس'، بە ئینگلیزی ++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++ بەکار دەدەھێنین بەڵام ئێمە میراتگری جێبەجێکردنی فرە ئەنجام نادەین و ئێمە زیادەڕۆیی کارپێکەر بەکار ناھێنین. زمانەکە کۆمەڵێک تایبەتمەندی ھەیە کە ناتوانیت بەکاری بھێنیت چونکە کۆدەکە زۆر ئاڵۆزدەبێت. وە پێموانییە کردنی ئەمە شتێکی باشبێت. تۆ ئەو ئازادییە لەدەست دەدەیت کە ھەموو کەسێک بتوانێت کۆدی ھەموو کەسێکیتر بخوێنێتەوە کە شتێکی زۆر باشە.

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

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

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

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

سەرچاوەکان

دەستکاری
  1. ^ Stroustrup، Bjarne (٧ی ئازاری ٢٠١٠). «Bjarne Stroustrup's FAQ: When was C++ invented?». stroustrup.com. لە ڕەسەنەکە لە ٦ی شوباتی ٢٠١٦ ئەرشیڤ کراوە. لە ١٦ی ئەیلوولی ٢٠١٠ ھێنراوە.
  2. ^ Stroustrup، Bjarne. «Evolving a language in and for the real world: C++ 1991-2006» (PDF). لە ٢٠ی تشرینی دووەمی ٢٠٠٧ لە ڕەسەنەکەوە ئەرشیڤ کراوە (PDF). لە ١٤ی ئابی ٢٠١٣ ھێنراوە.
  3. ^ «Bjarne Stroustrup's FAQ – Where did the name "C++" come from?». لە ڕەسەنەکە لە ٦ی شوباتی ٢٠١٦ ئەرشیڤ کراوە. لە ١٦ی کانوونی دووەمی ٢٠٠٨ ھێنراوە.
  4. ^ ئ ا Stroustrup، Bjarne. «A History of C ++: 1979− 1991» (PDF). لە ٢ی شوباتی ٢٠١٩ لە ڕەسەنەکەوە ئەرشیڤ کراوە (PDF). لە ١٨ی تەممووزی ٢٠١٣ ھێنراوە.
  5. ^ «C For C++ Programmers». Northeastern University. لە ڕەسەنەکە لە ١٧ی تشرینی دووەمی ٢٠١٠ ئەرشیڤ کراوە. لە ٧ی ئەیلوولی ٢٠١٥ ھێنراوە.
  6. ^ Stroustrup, B. (٦ی ئایاری ٢٠١٤). «Lecture:The essence of C++. University of Edinburgh». YouTube. لە ٢٨ی نیسانی ٢٠١٥ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ١٢ی حوزەیرانی ٢٠١٥ ھێنراوە.
  7. ^ Stroustrup، Bjarne (2000). The C++ Programming Language (Special ed.). Addison-Wesley. p. 46. ISBN 0-201-70073-5.
  8. ^ Stroustrup، Bjarne. «Open issues for The C++ Programming Language (3rd Edition)». لە ٥ی ئایاری ٢٠١٤ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ٥ی ئایاری ٢٠١٤ ھێنراوە.
  9. ^ Andrew Binstock (١٨ی ئایاری ٢٠١١). «Dr. Dobb's: Interview with Ken Thompson». لە ١٣ی ئازاری ٢٠١٤ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ٧ی شوباتی ٢٠١٤ ھێنراوە.
  10. ^ Peter Seibel (16 September 2009). Coders at Work: Reflections on the Craft of Programming. Apress. pp. 475–476. ISBN 978-1-4302-1948-4. لە 1 December 2019 لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە 9 November 2017 ھێنراوە. {{cite book}}: نرخەکانی ڕێکەوت بپشکنە لە: |access-date=، |date=، و |archive-date= (یارمەتی)[بەستەری مردوو]
  11. ^ «C++ in Coders at Work». ١٦ی تشرینی یەکەمی ٢٠٠٩. لە ١٠ی تشرینی دووەمی ٢٠١٧ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ٩ی تشرینی دووەمی ٢٠١٧ ھێنراوە.
  12. ^ ئ ا «An Interview with Donald Knuth». Dr. Dobb's. لە ٨ی ئازاری ٢٠٢١ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ١٨ی تەممووزی ٢٠٢١ ھێنراوە.
  13. ^ ئ ا «(La)TeX Navigator». لە ٢٠ی تشرینی دووەمی ٢٠١٧ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ١٠ی تشرینی دووەمی ٢٠١٧ ھێنراوە.
  14. ^ «Stroustrup: FAQ». www.stroustrup.com. لە ڕەسەنەکە لە ٦ی شوباتی ٢٠١٦ ئەرشیڤ کراوە. لە ٧ی حوزەیرانی ٢٠١٣ ھێنراوە.
  15. ^ Pike، Rob (2012). «Less is exponentially more». لە ٧ی تەممووزی ٢٠١٧ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ٢٣ی تشرینی دووەمی ٢٠١٨ ھێنراوە.
  16. ^ Kreinin، Yossi (١٣ی تشرینی یەکەمی ٢٠٠٩). «Defective C++». لە ٥ی شوباتی ٢٠١٦ لە ڕەسەنەکەوە ئەرشیڤ کراوە. لە ٣ی شوباتی ٢٠١٦ ھێنراوە.