سی - C (زبان برنامه نویس)
ظاهر
C یکی از زبانهای برنامهنویسی سطح پایین و ساختیافته است که در اوایل دههٔ ۱۹۷۰ توسط دنیس ریچی در آزمایشگاههای بل توسعه داده شد. زبان C نقش بنیادینی در توسعهٔ سیستمعاملها، کامپایلرها، و سایر زبانهای برنامهنویسی مدرن ایفا کردهاست.
تاریخچه
زبان C در سال ۱۹۷۲ بهعنوان توسعهای از زبانهای قبلی مانند BCPL و زبان B طراحی شد. هدف از طراحی آن، ایجاد زبانی قدرتمند، منعطف و قابلانتقال برای توسعهٔ سیستمعامل یونیکس بود.
ویژگیها
- زبان سطح پایین با قابلیتهای سطح بالا
- نوع ایستا و کامپایلشونده
- مدیریت دستی حافظه با استفاده از توابعی مانند
malloc()
وfree()
- پشتیبانی از ساختارهای کنترلی مانند
if
،while
،for
- امکان نوشتن برنامههای بسیار بهینه و سریع
- پرتابل بودن (قابل اجرا در سیستمعاملها و سختافزارهای مختلف)
کاربردها
- توسعهٔ سیستمعاملها (مانند یونیکس، لینوکس)
- ساخت کامپایلر و مفسر
- توسعهٔ نرمافزارهای سیستمی و توکار (Embedded)
- برنامهنویسی سطح پایین و نزدیک به سختافزار
- آموزش مبانی برنامهنویسی و طراحی الگوریتم
زبانهای مشتقشده
بسیاری از زبانهای برنامهنویسی جدیدتر بر اساس C طراحی شدهاند یا از نحو (Syntax) آن الهام گرفتهاند، از جمله:
مزایا
- سرعت بالا و مصرف کم منابع
- کنترل دقیق بر حافظه و سختافزار
- کتابخانهٔ استاندارد قدرتمند
- پشتیبانی گسترده توسط کامپایلرهای مختلف
- مناسب برای پروژههای سیستمی و کاربردی
معایب
- عدم پشتیبانی داخلی از برنامهنویسی شیگرا
- مدیریت حافظه بهصورت دستی که میتواند باعث بروز خطاهای امنیتی شود
- نداشتن امکانات پیشرفتهٔ زبانهای مدرن مانند garbage collection
نسخههای استاندارد
زبان C تاکنون نسخههای استاندارد متعددی داشتهاست که توسط ISO منتشر شدهاند:
- C89 / C90 – اولین استاندارد رسمی
- C99 – افزودن نوعهای جدید مانند
long long
و حلقهfor
متغیرمحور - C11 – ویژگیهایی مانند حافظهٔ اتمیک و قابلیت همروندی
- C17 – اصلاحات جزئی بر پایهٔ C11
- C23 – نسخهٔ جدید در حال توسعه