زبان سی و سی پلاس پلاس

قبل از ++C زبان C وجود داشت .

زبان C

زبان سی در سال 1972 بوسیله دنیس ریچی در پژوهشکده تلفن بل طراحی شد . (به صورت اولیه یک زبان برنامه نویسی سیستمی.)

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

ساختن زبان سی در سال 1973 در حالی که تبدیل به زبانی بسیار کاربردی و بسیار انعظاف پذیر شده بود به پایان رسید.

دنیس ریچی و کن تامپسون بیشتر هسته سیستم عامل یونیکس را بوسیله زبان سی نوشتند. بسیاری از سیستم عامل های قبلی به زبان اسمبلی نوشته شده بودند.

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

زبان سی و سیستم عامل یونیکس برای هم خوش شانسی آوردند! و زبان سی به عنوان زبانی که باعث موفقیت سیستم عامل یونیکس شده بود مشهور شد .

در سال 1978، برایان کرنیگان و دنیس ریچی کتابی با عنوان " زبان برنامه نویسی سی " نوشتند. این کتاب که به صورت عمومی با عنوان K&R شناخته می شد ( حرف اول نام خانوادگی نویسندگانش )، یک مرجع غیر رسمی برای این زبان شد و تبدیل به یک استاندارد شد.

زمانی که نهایت قابل حمل بودن نیاز بود، برنامه نویسان تمایل که از کتاب K&R استفاده کنند به این خاطر که بیشتر کامپایلرهای زبان سی در آن زمان بر اساس استاندارد های کتاب K&R نوشته شده بودند.

در سال 1983، سازمان American National Standards Institute یا به اختصار ANSI یک کمیته تشکیل داد تا یک استاندارد رسمی برای زبان سی به وجود آورند. در سال 1989 کار آنها تمام شد و نسخه استاندارد C89 منتشر شد که به صورت عمومی به عنوان ANSI C شناخته می شود.

در سال 1990 سازمان Internation Organization for Standardization یا به اختصار ISO نسخه ANSI C را قبول کرد ( با کمی تغییرات ). این نسخه از C به عنوان C90 شناخته می شود. کامپایلرها سرانجام پذیرفتند که نسخه ANSI C/C90 را کامپایل کنند، و نرم افزارهایی که خواهان حداکثر قابل حمل بودن ( پرتابل ) بودند، به این زبان نوشته می شدند.

در سال 1999، کمیته ANSI نسخه جدید از زبان C را منتشر کرد که به عنوان C99 شناخته میشد. C99 بسیاری از قابلیت هایی که تا آن زمان در کامپایلر ها به عنوان افزونه شناخته میشدند را به عنوان بخشی از استاندارد قبول کرد و یا آن ها را در ++C بکار برد.

 

زبان ++C

++C که تلفظ میشود ( سی پلاس پلاس ) توسط ریاضی دان دانمارکی، بیارنه استراستروپ ( Bjarne Stroustrup ) در پژوهشکده های بل به عنوان افزونه ای برای زبان C ساخته شد بود، در سال 1979.

++C قابلیت های بسیاری را به زبان C اضافه می کرد، و احتمال میرفت برای تبدیل شدن به زبانی که C را در بر میگیرد بهترین باشد، به هر جال به صورت دقیق این درست نبود ( مثلا در C99 قابلیت هایی تعریف شده بود که در ++C وجود نداشت! ).

++C مدعی این بود که شهرتش به خاطر این حقیقت است که یک زبان با قابلیت برنامه نویسی شی گرا ( Object Oriented Programming Language ) است.

++C در سال 1989 توسط کمیته ISO مورد قبول واقع شد، و دوباره هم در سال 2003 استاندارد شد که به نام 03++C شناخته می شود.

سه به روز رسانی ( استاندارد سازی مجدد ) مهم برای زبان ++C وجود دارد ( در حال حاضر ) که عبارتند از 11++C و 14++C و 17++C که به ترتیب در سال های 2011 و 2014 و 2017 تصویب شدند که به این خاطر بود که قابلیت های کلی دیگری به زبان اضافه شده بود.

11++C به صورت اختصاصی تعداد زیادی از قابلیت های مهم را به این زبان اضافه کرد.

 

فلسفه C و ++C

ماهیت بنیادی طراحی زبان های C و ++C این بود که " باید به برنامه نویس اعتماد کرد " که هم خیلی عالی بود و هم خیلی خطرناک !

++C برای این طراحی شده تا به برنامه نویس اجازه دهد تا به شکل فوق العاده ای برای کاری که میخواهد انجام بدهد ابتکار عمل و آزادی داشته باشد. به هر حال این همین طور معنی میداد که نمی تواند شما را از کارهایی که عاقلانه محسوب نمی شوند باز بدارد !

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

اطلاعات مطلب
دسترسی بیشتر (ابزارهای مطلب)
نوع فونت متن :
اندازه فونت متن : (اندازه متن)
رنگ متن : (مقدار هگزادسیمال رنگ)

لینک این مطلب را در سایت خود قرار دهید :
تعداد حروف بکار رفته در متن :
اشتراک گذاری :