منبع اصلی نوشتار زیر در این لینک قرار دارد

تاریخچه و شروع برنامه نویسی در زبان C

C‌ یک زبان برنامه نویسی ساخت یافته است که توسط دنیس ریچی (Dennis Ritchie) برای توسعه سیستم عامل یونیکس ساخته شد. C یک زبان سطح میانی است به طوری که از آن می توان برای تعامل با سخت افزار استفاده کرد، از این رو درایورهای سخت افزاری به زبان C‌ نوشته می شوند. همچنین از C‌ برای نوشتن اکثر هسته های سیستم های عامل استفاده شده است. به طور مثال هسته سیستم عامل لینوکس و FreeBSD به زبان C نوشته شده اند.

تاریخچه زبان C

شاید بتوان گفت که خلق زبان C‌ توسط دنیس ریچی باعث خلق دیگر موارد در دنیای کامپیوتر شده است. به طور مثال یونیکس بر پایه C ایجاد شد و سپس آقای تننبام بر اساس یونیکس و با استفاده از زبان C‌ سیستم عامل مینیکس را نوشت و در نهایت لینوس تروالدز بر اساس مینیکس و با استفاده از C هسته آزاد به نام لینوکس را خلق کرد.

C در سال های ۱۹۶۹ تا ۱۹۷۳ توسط دنیس ریچی در آزمایشگاه های AT&T Bell در آمریکا توسعه داده شد. پیس از آن زبان B توسط کِن تامسون (Ken Thompson) و دنیس ریچی در سال ۱۹۶۹ در آزمایشگاه های Bell ایجاد شده بود. B‌ یک زبان منسوخ شده است و زبان C از زبان C تاثیر گرفته و جایگزین آن شده است. خطوط زیر قطعه کدی از کتاب Usr’s Reference to B‌ نوشته کِن تامسون را نشان می دهد.

printn(n, b) {
        extrn putchar;
        auto a;

        if (a = n / b)        /* assignment, not test for equality */
                printn(a, b); /* recursive */
        putchar(n % b + '0');
}

هدف اصلی دنیس ریچی از خلق زبان C، استفاده از آن برای نوشتن سیستم عامل یونیکس بود. بنابراین سیستم عامل لینوکس را می توان اولین محصول اصلی زبان C دانست. این زبان به سرعت گسترش یافت و نسخه های متفاوتی از آن برای ماشین های متفاوت توسط افراد مختلف توسعه داده شد. در سال ۱۹۷۸ موسسه استاندارد ملی آمریکا (The American National Standards Institute began یا ANSI) کار بر روی استاندارد کردن زبان C‌ را آغاز کرد تا اینکه در سال ۱۹۸۹ استاندارد سازی C به اتمام رسید و تحت استاندارد ANSI C شناخته می شد. در نهایت در سال ۱۹۹۰ استاندارد ANSI C با استاندارد ISO (مخفف International Organization for Standardization) تطابق داده شد.

در سال ۱۹۸۳ موسسه استاندارد ملی آمریکا (ANSI) آغاز به استاندارد سازی زبان C‌ کرد و در نهایت در سال ۱۹۸۹ این استاندارد سازی به اتمام رسید که آنرا ANSI C‌ نامگذاری کردند. این نسخه استاندارد از زبان C را همچنین به استاندارد C89 نیز شناخته می شود. سپس در سال ۱۹۹۰ استاندارد ANSI C‌ با استاندارد ISO‌تطبیق داده شده که آنرا C90 نامگذاری کردند.

ISO در سال ۱۹۹۵ یک بسط (Extension) دیگر به نام ضمیمه ۱ (Amendment 1) به استاندارد ANSI C اضافه کرد که آنرا C95‌ نامگذاری کردند. در سال ۲۰۰۰ ANSI با افزودن ویژگی های جدیدی مانند نوع های داده ای مثل long long یا اضافه شدن فایل های سرآیند جدید مثل stdint.h, fenv.h و complex.h‌ نسخه C99‌ را ارائه کرد. C11 استاندارد فعلی است که در دسترس قرار دارد که نسبت به نسخه های پیشین بهبود زیادی داشته است.

شروع به برنامه نویسی C در لینوکس

کدام زبان های برنامه نویسی را برای لینوکس یاد بگیریم

آماده سازی ابزارهای لازم برای برنامه نویسی C در لینوکس

GCC چیست و نصب آن در توزیع های مختلف

کتابخانه glibc‌ چیست

Shared Library در لینوکس چیست