سفارش تبلیغ
صبا ویژن

تاریخچه مختصر C و C ++

سلف C ++   ، C در اوایل دهه 1970 توسط دنیس ام. ریچی ، آن زمان کارمند آزمایشگاه های بل (AT&T) ، زمانی که ریچی و همکارانش روی یونیکس کار می کردند ، یک سیستم عامل چند کاربره برای به اشتراک گذاری زمان برای رایانه های اصلی ، توسعه داده شد. . نسخه های اولیه این سیستم عامل که اکنون در همه جا موجود است ، به زبانهای مونتاژ غیر قابل حمل مخصوص معماری نوشته شده است. همانطور که یونیکس بیشتر گسترش می یافت و محبوبیت بیشتری پیدا می کرد ، توسعه دهندگان به نیاز به نوشتن مجدد بخشهایی از آن در یک زبان برنامه نویسی سطح بالا مستقل از پلت فرم پی بردند تا کد کد قابل کنترل و به راحتی قابل حمل برای معماری های مختلف رایانه باشد. در آن زمان ، Fortran یکی از رایج ترین زبان های سطح بالا بود. Fortran در اوایل سال 1979 به عنوان زبان انتخابی برای محاسبات عددی ، به دلیل ساختارهای کنترل جریان پر سر و صدا و عدم وجود عملیات دسترسی مستقیم به حافظه ، برای برنامه نویسی سطح پایین مناسب نبود. Fortran همچنین برای محاسبات غیر عددی مناسب نبود ، که به طور معمول شامل تعریف ساختارهای پیچیده داده و عملیات روی آنها است ، در حالی که زبانهایی که برای محاسبات نمادین و پردازش لیست طراحی شده اند ، مانند Lisp ، دومین زبان رایانه سطح بالا بعد از Fortran ، تسلط بر آنها کاملاً دشوار بود و برای دستیابی به عملکرد قابل قبول اغلب به سخت افزارهای تخصصی و بسیار گران قیمت احتیاج داشتند [1]. قابل توجه است که یکی از اولین بسته های نرم افزاری شیمی پیچیده بسیار بزرگ و پیچیده ، یک برنامه رایانه ای تعاملی طراحی شده برای کمک به برنامه ریزی سنتز مولکول های آلی پیچیده به نام LHASA (Logic and Heuristics اعمال شده در تجزیه و تحلیل مصنوعی) ، عمدتا در Fortran نوشته شده و شامل تقریبا 30،000 خطوط کد بسیار پیچیده Fortran [2 ، 3].

یک جایگزین بهتر برای توسعه بیشتر یونیکس ، زبان برنامه نویسی B بود که از BCPL در دهه 1960 توسط Ken Thompson برای برنامه نویسی مستقل از ماشین ، مانند سیستم عامل ها و کامپایلرها برای زبان های دیگر ، مشتق شده بود. زبان B را می توان سلف مستقیم C. در مقایسه با Fortran برای توسعه سیستم عامل بسیار مناسب تر دانست ، زیرا ساختارهایی را ارائه می دهد که به طور موثر برای ماشین معمولی ترسیم می شوند ، یک نحو مشخص و مختصر دارند و از عملیات دسترسی مستقیم حافظه مستقیم پشتیبانی می کنند . نقص اصلی B عدم پشتیبانی از انواع داده ها بود. در واقع ، این تنها از یک نوع پشتیبانی می کند ، کلمه رایانه ای وابسته به معماری که به عنوان یک عدد صحیح در نظر گرفته می شود. بنابراین ، در B ، اجرای انواع داده ها غیر از کلمه ماشین (مانند ، برای مثال ، کاراکترهای یک بایت یا ساختارهای متشکل از فیلدها) به سختی قابل اجرا بود به صورت قابل حمل. کمبودهایی نیز باعث شده B کاملاً نامناسب به عنوان یک زبان برنامه نویسی عمومی باشد. در اوایل دهه 70 ، دنیس ام. ریچی به تدریج پشتیبانی از انواع داده های بدوی (عدد صحیح و نقطه شناور و شخصیت ها) و پیچیده (ساختارهای تعریف شده توسط کاربر) را به B اضافه کرد و نحو آن را تمیز کرد. سرانجام ، B بهبودیافته از B اصلی متفاوت شد به طوری که به زبانی متفاوت تبدیل شد ، که پس از حرف بعدی الفبای انگلیسی به نیمه شوخی C نامیده می شد. در سال 1978 ، اولین نسخه از کتاب معروف "The C Programming Language" نوشته برایان کرنیگان و دنیس ریچی منتشر شد [4]. نسخه زبان C که در کتاب شرح داده شده است ، اغلب پس از نویسندگان کتاب با نام K&R C شناخته می شود. زبان C به سرعت در بین توسعه دهندگان سیستم عامل و درایور دستگاه محبوبیت پیدا کرد. متعاقباً ، اکثر اجزای یونیکس در C بازنویسی شدند. به دلیل سادگی ، قابلیت جابجایی و کارایی نسبی ، محبوبیت C خیلی زود فراتر از هدف اصلی خود یعنی توسعه سیستم عامل بود ، و این یکی از رایج ترین موارد عمومی شد زبان های برنامه نویسی هدف برای طیف وسیعی از برنامه ها از درایورهای دستگاه ، میکروکنترلرها و سیستم عامل ها گرفته تا بازی های ویدیویی و بسته های تجزیه و تحلیل داده با کارایی بالا.

در سال 1983 ، کمیته ای توسط انستیتوی استاندارد ملی آمریکا (ANSI) برای ایجاد یک نسخه استاندارد از زبان C بر اساس K&R C. تشکیل شد. متعاقباً ، استاندارد ANSI X3.159-1989 C مورد بازبینی های متعددی قرار گرفته است که جدیدترین آنها

در سال 1970 ، الگوی برنامه نویسی شی گرا (OOP) به سرعت در حال محبوبیت یافت. Simula 67 ، اولین زبان برنامه نویسی برای پشتیبانی از OOP ، در درجه اول برای شبیه سازی رویداد گسسته ، مدل سازی فرآیند ، شبیه سازی مدار مجتمع در مقیاس بزرگ ، تجزیه و تحلیل پروتکل های مخابراتی و سایر برنامه های کاربردی خاص ساخته شده است. در سال 1979 ، Bjarne Stroustrup ، در حالی که به سمت دکترای خود کار می کرد ، در علوم کامپیوتر در دانشگاه کمبریج ، انگلستان ، از Simula 67 برای اجرای محاسبات تحقیق خود استفاده کرد و الگوی OOP را بسیار سازنده دانست ، اما تمام پیاده سازی های موجود آن ناکارآمد است. در آن زمان ، C قبلاً به یکی از پرکاربردترین ژنرال ها تبدیل شده بود.

https://jcheminf.biomedcentral.com/articles/10.1186/s13321-020-0415-y