زبان سی C یک زبان برنامه نویسی همه منظوره و دستور گراست که از برنامهنویسی ساختار گرا و حوزهای پشتیبانی می نماید . زبان سی توسط دنیس مک آلیستر ریچی در بین سالهای ۱۹۶۹ تا ۱۹۷۳ جهت سهولت در نوشتن سیستم عامل که اختصاصاً Unix را شامل میشد در آزمایشگاه بل اختراع شد . روز به روز بر محبوبیت زبان سی افزوده شده و میشود . زبان سی نزدیکترین زبان برنامهنویسی رایج ، به زبان اسمبلی سطح بالا میباشد
در سال ۱۹۷۸ ، دنیس ریچی با همکار خود ، برایان ویلسون کرنیگان کتاب « زبان برنامهنویسی سی » را به رشته تحریر در آوردند که به عنوان اولین کتاب آموزشی این زبان ثبت شده است . ده سال بعد ، یعنی در سال ۱۹۸۸ دوباره نسخه دیگری را روانه بازار کردند که نسخه دوم « زبان برنامهنویسی سی » بود . سال بعد از آن انستیتوی استاندارد سازی آمریکا ( انسی )ANSI نسخه استانداردی را برای زبان سی تعریف کرد . در سال ۱۹۹۸ نیز دوباره به استاندارد سازی زبان سی پرداخت . یک سال بعد سازمان استاندارد سازی جهانی ISO زبان سی را استاندارد بین المللی نمود . آغاز کار کامپایلرهای خانگی را میتوان از همان تاریخ دانست ؛ یعنی زمان استاندارد شدن زبان سی که به اسم ANSI C 98 و ISO C 99 یا C98 و C99 معروف میباشند . سازمان استاندارد سازی جهانی ISO یک بار در سال ۲۰۱۱ و یک بار دیگر در سال ۲۰۱۷ استاندارد زبان C را بازتعریف نمود که نسخه سال ۲۰۱۷ که به اسم C18 میباشد فرق چندانی با نسخه سال ۲۰۱۱ که به اسم C11 شناخته میشود ندارد و استاندارد C11 تمام کم و کاستهای زبان سی را برطرف نمود
از زمانی که زبان سی تعریف و اختراع شد قابلیتهای بسیار زیادی به رایانه افزوده شدند . برای همین در طول زمان ، ارائه دهندههای بسته های نرم افزاری برنامهنویسی با زبان سی ، همواره هر کدام برای خود کلید واژه هایی را اضافه یا کم میکردند و یا عملکرد دلخواه خود را برای آن به کار می بستند . هر کدام کتابخانه مجزای خود را ایجاد می کردند . استانداردهای ISO در طول این مدت بیشتر نیازهای برنامهنویسی را پوشش میدادند و میدهند اما باز هم برخی از کامپایلرها از استانداردهای قدیمی C98 و یا C99 استفاده میکنند یا با اینکه سازگار با C11 یا C18 هستند به صورت کامل استاندارد را پشتیبانی نمیکنند ( مثلاً بیشتر کامپایلرها هنوز اجازه استفاده از متون Unicode را در داخل متن منبع برنامه نمیدهند )
برای نوشتن برنامه های سی نیاز به مجموعه ای نرم افزار ها خواهید داشت . که در صفحه بعدی می توانید آنها را پیدا کرده و مهیّا نمائید . به صورت اختصار اول باید یک ویرایشگر متن داشته باشید . در ویندوز برنامه Notepad و در سیستم عامل مک TextEdit و در نسخ مختلف لینوکس ویرایشگرهای متن به همراه سیستم عامل وجود دارند . اما ویرایشگر های متنی همچون ++Notepad یا Geany ، GNU Emacs ، JuffEd ، Programmer's Notepad ، Scribus ، SuperEdi ، Vim ، WinVi یا خیلی از ویرایشگرهای دیگر امکاناتی دارند که سهولت نوشتن برنامه را فراهم مینمایند . امکاناتی نظیر تفکیک قسمتهای برنامه با رنگی کردن ، کلفت کردن ، ایتالیک کردن و از همه مهمتر جمع کردن قسمتهای آن که میتوانید قسمتها و بلوکهای متن خود را مدیریت کنید . جستجو و جایگزین کردن های پیچیده و کامل ، کدنویسی خودکار و ... که کار را راحتتر میکنند .
به کارگیرندهها ، برنامه بعدی مورد نیاز هستند که عمدتاً کامل هستند و کامپایلر ، لینکر و دیباگر را با هم ارائه میکنند . هر کدام از به کارگیرندهها ممکن است علاوه بر زبان استاندارد ، دارای کلیدواژههای اضافی باشند که کاربردهای اختصاصی خود را دارند . به علاوه کتابخانههایی را عرضه میکنند که استفاده از توابع آنها ، کار برنامهنویس را برای نوشتن برنامه سهولت میبخشند
در انتها باید بدانید که برخی نرم افزارها مجموعه کاملی از ویراشگر و به کارگیرنده به همراه تمام یا بخشی از نیاز های برنامهنویس مبتدی یا حرفهای را فراهم میکنند که به آنها آی.دی.ای IDE گفته می شود و مخفف Integrated Development Environment به معنی محیط تولید یکپارچه میباشد . اما استفاده از آنها برای افراد مبتدی توصیه نمیشود ، چرا که کار کردن با کامپایلر را یاد نمیگیرند و معمولاً هم برای ایجاد پروژه هستند و نه یاد گرفتن.
امیدوارم لذت برده باشید.