در این مقاله در مورد زبان برنامه نویسی C و کاربردهایی که این زبان برنامه نویسی دارد شما را آشنا خواهیم کرد. زبان برنامه نویسی C جز زبانهای نخستین میباشد که به مادر زبان برنامه نویسی نیز گفته میشود.
زبان برنامه نویسی C و تاریخچهٔ آن
زبان برنامه نویسی C در سال 1972 پا به دنیای برنامه نویسی گذاشت؛ ولی تمام کاراییها و کار آمدی هایی که اکنون در اختیار دارد را درآن زمان نداشت؛ بیشتر ویژگیهایی که زبان برنامه نویسی C دارد در سالهای بعد به آنها اضافه شد.قبل از اینکه زبان C طراحی شود؛ زبان یونیکس به وسیله زبان اسمبلی برای کامپیوتر PDP_7 توسعه پیدا کرده بود. با گذشت زمان و با استفاده از پلتفرم و زبان اسمبلی، زبان C طراحی شد.در زمانی که زبان C طراحی شد به خاطر این بود که زبان یونیکس به راحتی توسعه پیدا کندزبان C به صورت گسترده برای توسعه نرم افزارهای کوچکترین میکرو کامپیوترها تا بزرگترین کارخانهها و ابر کامپیوترها به کار گرفته شده است. اپلیکیشن های نوشته شده به زبان C شامل نرم افزارهای سیستمی، دسکتاپ، شرکتی ، دیتابیس و غیره میباشد. در ادامه مقاله اصول این زبان شرح داده شده که میتواند در شروع موفقیت آمیز یک دوره برنامه نویسی تأثیر زیادی داشته باشد. بهوسیله کامپایلر، توانستند زبان یونیکس را برای سیستم PDP_7 در زبان C به صورت کامل از نو بنویسند. در ادامه باید گفت که کامپایلر زبان C نیز در زبان C و به وسیله ابزارهایی که در نوع خود بی نظیر بودند؛ نظیر lex و yacc دوباره از نو باز نویسی شد که به این ترتیب مرحله بوت استرپ یا چارچوب انتهایی C و یونیکس به اتمام رسید.اگر به دنبال جواب دادن به این سؤال که چرا زبان یونیکس به زبان C باز نویسی شد؟ جواب شما این است که جز اصلیترین دلایل این کار برای این بود که درآن جا به جای به وجود آورند. زبانهای اسمبلی نسبت به معمارهای مختلف CPU تفاوت زیادی دارند و به همین جهت پورت کردن سیستم بهوسیله سیستمعامل یونیکس برای هر کدام از آنها به تلاش زیادی نیاز داشت که با توسعه و یک زبان دیگر مانند C و باز نویسی کردنان توانستد به فرایند پورت کردن به وسیله زبان C کمک کنند تا به آسانی انجام شود.پس از اینکه زبان C توسعه پیدا کرد، برنامه نویسان به این حجم از اطلاعات دست پیدا کردند که میتوان از زبان C در بخشهای دیگری غیر از سیستم نیز استفاده کرد؛ که از این برنامه برای نوشتن نرم افزارهایی چون: سرور فایل، سرورهای دیتابیس، پشتههای شبکه، نرم افزار دسکتاپ، و بعدها برای توسعه سرورها وب و غیره از آن استفاده کردند.پس از اینکه زبان C در بین برنامه نویسان توسعه پیدا کرد در سال 1378 دو شخص به نامهای برایان کرنیگن و دنیس ریچی کتابی برای راهنمایی استفاده از زبان برنامه نویسی C منتشر کردند.
ارتباط بین C و ++C
در زبان برنامه نویسی C با افزایش پیچیدگی، مفاهیم مانند شی گرا مثل کپسول سازی و چند ریختی که برای اینکه این پیچیدگیها را مدیریت کنند که در آخر باعث توسعه یافتن زبان C++ شد.زمانی C++ توسعه بافت که به منظور افزودن چند ویژگی به C برای اینکه نرمافزار شی گرا را توسعه دهند، باعث توسعه خود شد.توسعه این زبان برای این بود که در زبان C به صورت تدریجی تغییراتی را انجام دهند به طوری که زبان C و ماژول C++ را توسط یک کامپایلر و یک برنامه با هم ترکیب کنند.زبان C نسبت به قدرتی که در بین زبانها دارد ولی دارای برنامهای ساده است به طوری که تنها 32 کلمه کلیدی دران وجود دارد که از معنای خاصی پیروی میکند در صورتی که زبان C++ 82، جاوا 50 کلمه کلیدی، جاوا اسکریپت 63 کلمه کلیدی ، cobol357 کلمه کلیدی دارد. زبان c برخلاف سایر زبانهای برنامه نویسی هیچ گونه رشتهای ندارد. در زبان C رشتهها به عنوان ارائهای از کاراکترها میباشند که هر کاراکتر با 0 تمام میشود. تنها در زبان C مشخص نبودن رشتهها مشکلی ایجاد نمیکند و گرنه در بقیه زبانها باید دقیقاً رشته مشخص شده باشد؛ حتی در زبان برنامه نویسی ++C پیش از اینکه کامپایل نوشته شود، باید با اضافه کردن کد std:staingtype نوع رشته را درآن مشخص کنند.مکانی در حافظه وجود دارد که به آن اشاره گر میگویند. زبان برنامه نویسی C انعطاف پذیری بالایی نسبت به خواندن و نوشتن دارد ولی با همه اینکه دارای انعطاف زیادی میباشد برای این امر هزینههای بالایی نیز نیاز دارد و منشأ باگهای بسیاری بوده است.از مهمترین باگهایی که در این انعطاف پذیری ها رخ میدهد و اینترنت را تحت تأثیر این واقعه قرار میدهد در قسمت سرورهای وب، ایمیل و FTP روی میدهد. حتی در بعضی اوقات شاهد هستید که این باگها در زمینه درج و بروز رسانی مکانهای نا معتبر در حافظه نیز رخ میدهد.
استفاده از ارائهها و اشاره گرها
در زبان برنامه نویسی C این اجازه به کاربر و برنامه نویس داده میشود که در صورتی که به ارائه نیاز دارد از اشاره گر استفاده نماید و در مکانی که به اشارهگر نیازمند است به سراغ ارائهها برود، با توجه به اینکه این قابلیت به کاربران قدرت بالایی میدهد تا تغییرات مورد نیاز در هر مقداری را انجام دهند ولی به وجود آمدن خطا و بگ در این مورد زیاد میباشد.
آشنایی با ماکروها
ماکرو نام اختصاصی است که به یک تکه از کد داده میشود. اگر در برنامهای از کلمه ماکرو استفاده شود بهجای آن محتوای ماکرو در جای آن برنامه قرار میگیرد. از ماکرو در برنامه نویسی استفادههای متعددی میشود مانند تغییر دادن نام تعریف شده در زمان انجام کامپایل و یا جایگزین کردن یک اسم طولانی با یک اسم سادهتر قابل استفاده است.سیستم ماکرو زبان برنامه نویسی C از شرط های ifdef پشتیبانی میکند که به کاربر امکان به وجود آمدن شرطهای کامپایل را برای کاربر فراهم میکند. این قابلیت در برنامه C یکی از راههای پورت کردن نرم افزارهای معماری و سیستمهای مختلف میباشد.به همین منظور در شرایط مختلف و حتی در نسخههای متفاوت در زمانی که کامپایل صورت میگیرد قابلیت تعریف و جایگزین شدن دارد. حتی میتوان یک قسمت از کدها را در لحظه کامپایل حذف کرد و یا دران قسمت درج کرد. این قابلیت فقط مختص زبان C میباشد و در زبانهای جاوا ، جاوا اسکریپت یا پایتون چنین قابلیتی در اختیار کاربران وجود ندارد.
آشنایی با ماژولهای کپسوله شده در فایلها
در زبان C به هیچ وجه مفهومی به نام کلاس وجود ندارد به همین دلیل از آشکاری محافظت شده، عمومی و خصوصی پشتیبانی نمیکند. تنها برای یک قسمت قابلیت ایجاد کپسول و کپسول سازی وجود دارد کهان هم برای فایلها اختصاص داده شده است. در یک فایل تمام متغیرهای جهانی و انواع دیگر متغیرها و توابع قابل رؤیت میباشد مگر اینکه رو روی فایل نامهای آنها صادر شده باشد. کلمات کلیدی وجود دارد که میتوان از آنها استفاده کرد تا اسمهای توابع و متغیرها آشکار شود، این کلمات کلیدی عبارتاند از: static و extern.و زبانهای دیگر همچون ++C ، جاوا و پایتون از کلاسها و کپسوله سازی های مرتبط به زبان برنامه نویسی C پشتیبانی میکند.
کتابخانههای خارجی :
در این کتابخانهها توابع آماده ای وجود دارد که در صورت نیاز و بدون اینکه آنها را بازنویسی کنید میتوانید با رجوع کردن به آنها، از توابع استفاده کرد. اعمالی که از طریق این کتابخانههای قابلیت اجرا دارد به شرح زیر است:
- انجام عملیات روی رشتهها
- انجام عملیات ریاضی
- ورودی و خروجی
- شبکه سازی
- ….
در این مقاله سعی شد تا جایی که قابل بیان بود شما را با زبان C آشنا کنیم ولی به یاد داشته باشد که این تمام قابلیتها و ویژگیهای این زبان نبود. در قسمتهای بعدی مقاله شما را با زبانهای دیگر نیز به طور کامل آشنا میکنیم.
نظرات کاربران