سی++

لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
ISO C++ Logo.svg

سی++ (دەخوێندرێتەوە وەک 'سی پڵەس پڵەس'، بە ئینگلیزی ++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 (7 March 2010). "Bjarne Stroustrup's FAQ: When was C++ invented?". stroustrup.com. Archived from the original on 6 February 2016. Retrieved 16 September 2010.
  2. ^ Stroustrup, Bjarne. "Evolving a language in and for the real world: C++ 1991-2006" (PDF). Archived from the original (PDF) on 20 November 2007. Retrieved 14 August 2013.
  3. ^ "Bjarne Stroustrup's FAQ – Where did the name "C++" come from?". Archived from the original on 6 February 2016. Retrieved 16 January 2008.
  4. ^ ئ ا Stroustrup, Bjarne. "A History of C ++: 1979− 1991" (PDF). Archived from the original (PDF) on 2 February 2019. Retrieved 18 July 2013.
  5. ^ "C For C++ Programmers". Northeastern University. Archived from the original on 17 November 2010. Retrieved 7 September 2015.
  6. ^ Stroustrup, B. (6 May 2014). "Lecture:The essence of C++. University of Edinburgh". YouTube. Archived from the original on 28 April 2015. Retrieved 12 June 2015.
  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)". Archived from the original on 5 May 2014. Retrieved 5 May 2014.
  9. ^ Andrew Binstock (18 May 2011). "Dr. Dobb's: Interview with Ken Thompson". Archived from the original on 13 March 2014. Retrieved 7 February 2014.
  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. Archived from the original on 1 December 2019. Retrieved 9 November 2017.
  11. ^ "C++ in Coders at Work". 16 October 2009. Archived from the original on 10 November 2017. Retrieved 9 November 2017.
  12. ^ ئ ا "An Interview with Donald Knuth". Dr. Dobb's. Archived from the original on 8 March 2021. Retrieved 18 July 2021.
  13. ^ ئ ا "(La)TeX Navigator". Archived from the original on 20 November 2017. Retrieved 10 November 2017.
  14. ^ "Stroustrup: FAQ". www.stroustrup.com. Archived from the original on 6 February 2016. Retrieved 7 June 2013.
  15. ^ Pike, Rob (2012). "Less is exponentially more". Archived from the original on 7 July 2017. Retrieved 23 November 2018.
  16. ^ Kreinin, Yossi (13 October 2009). "Defective C++". Archived from the original on 5 February 2016. Retrieved 3 February 2016.