آموزش زبان C – قسمت صفر: چرا برنامه نویسی؟

آموزش زبان C - قسمت صفر: چرا برنامه نویسی؟Reviewed by کوشا نعمتی on Feb 6Rating: 4.5آموزش زبان C - قسمت صفر: چرا برنامه نویسی؟خالق اين زبان برنامه نويسي دنيس ريچي است كه در اين مركز تحقيقاتي مشغول كار بر روي توسعه ي سيستم عاملها و زبانهاي برنامه نويسي بود.هرچه زبان هاي برنامه نويسي به گفتار انسان نزديكتر باشد، اصطلاحاً به آن زبان سطح بالا مي گويند.

هیچ کس نمی داند اولین بار چه کسی به فکر ایجاد ماشینی برای انجام محاسبات افتاد، اما تلاش های مهمی که در  اینباره انجام شده در تاریخ ثبت شده است. تا به امروز پیشرفت های فراوانی در توسعه ی کامپیوترها و زبانهای برنامه نویسی اتفاق افتاده است، به گونه ای که تقریباً در هر خانه یک کامپیوتر شخصی (PC) وجود دارد و در صورت داشتن اندکی دانش برنامه نویسی، هرکسی می تواند در خانه ی خود اقدام به برنامه نویسی و حل مسایل مختلف کند. اولین زبانی که پس از کدهای ماشین (که بسیار شبیه کدهای درج شده بر روی کارتهای سوراخ دار بود) برای  برنامه نویسی در نظر گرفته شد زبان اسمبلی بود. این زبان بسیار ساده تر از حفظ کردن کدهای ماشین بود و دستورات پایه ای برای انجام عملیات ریاضی و مدیریت حافظه را شامل می شد.

هرچه زبان های برنامه نویسی به گفتار انسان نزدیکتر باشد، اصطلاحاً به آن زبان سطح بالا می گویند. بر همین اساس زبان های برنامه نویسی را به سه دسته تقسیم  میکنند:

 

(۱) زبان های سطح پایین: زبان هایی که مشابه زبان اسمبلی، به سخت افزار نزدیکتر بوده و معمولاً اعمال پایه ای ریاضی در آنها تعریف شده و انجام عملیات پیچیده در  آنها از پیش تعریف نشده است.

(۲) زبان های سطح بالا: زبان هایی که عموماً به زبان محاوره ای نزدیک هستند و فهم آن ها با خواندن آن، معمولاً خیلی آسان تر از زبان های سطح پایین است و معمولاً هیچ ردپایی از سخت افزار در آن ها دیده نمی شود.

(۳) زبان های سطح میانی: زبان هایی که هم انعطاف پذیری زبان های سطح بالا و هم قابلیت ارتباط با سخت افزار زبان های سطح پایین را دارند.

در بین زبان های برنامه نویسی، زبان C جزء زبان های سطح میانی طبقه بندی می شود و به همین خاطر، هم در توسعه ی نرم افزارها و هم جهت ارتباط باسخت افزار به طور جدی از آن استفاده می شود.

سؤالی که در ذهن پیش می آید این است که چرا باید با صرف هزینه های گزاف، یک ماشین محاسبه گر ساخت و برای محاسبه به آن برنامه داد؟ پاسخ این است که اولاً محاسبات انسان همواره همراه با خطاست، خصوصاً اگر این محاسبات به دفعات زیاد و پشت سر هم تکرار شود. نکته ی مهم تر از آن این که بعضاً نتیجه ی این محاسبات باید در مواردی نظیر ساخت ابزار یا وسیله ای حساس استفاده شود و هر گونه خطا در این محاسبات ممکن است منجر به یک فاجعه شود!

دیگر این که با فرض عدم وجود خطای محاسباتی، سرعت ماشین (که موجودی بی احساس و خستگی ناپذیر است) بسیار فراتر از سرعت انسان در محاسبه است.

compilers_for_c_cpp_cryptlife

شاید به جرأت بتوان گفت تعداد ضرب و جمع هایی که یک کامپیوتر در عرض چند ماه انجام  می دهد از کل محاسبات عددی یک انسان در طول عمرش فراتر است و این در حالی است که در برخی کاربرد ها نظیر شبیه سازی های پیچیده یا یادگیری ماشین کامپیوترهای پر قدرت برای تولید خروجی، ساعت ها به محاسبه میپردازند که اگر قرار بود این محاسبات توسط انسان انجام شود معلوم نیست چندین سال طول می کشید، و شاید اصلاً دانشمندان چنین مسایلی با بار محاسباتی بالا را کنار  می گذاشتند.

فایده ی یادگیری زبان برنامه نویسی و اصولاً هنر برنامه نویسی، تنها در سرعت بخشیدن به محاسبات برای رسیدن به جواب پرسشهای علمی نیست، بلکه در حین تبدیل یک مسأله به یک برنامه که ورودی ها و خروجی های مشخص دارد و طراحی یک روش حل مسأله یا الگوریتم برای حل مسأله، فرد با تفکر منطقی و حل قدم به قدم حل مسایل آشنا می شود و این توانایی نه تنها در حل مسایل در کامپیوتر، که در تحلیل برخی از مسایل روزمره نیز به فرد کمک می کند.

در  بخشهای قبلی راجع به کامپیوترها و زبان های برنامه نویسی صحبت شد و اشاره ی کوتاهی نیز به زبان C به عنوان زبانی سطح میانی (یعنی زبانی که هم قابلیت ارتباط با سطوح پایین سخت افزاری و هم قابلیت  پیادهسازی برنامه های سطح بالا را دارد) شد، در این بخش نحوه ی به وجود آمدن زبان C و گسترش دامنه ی کاربرد آن در علوم و صنعت، با مروری بر تاریخچه ی آن مطرح خواهد شد.

زبان برنامه نویسی C در آزمایشگاه بل، یکی از پر افتخارترین مراکز علمی دنیا متولد شد. خالق این زبان برنامه نویسی دنیس ریچی است که در این مرکز تحقیقاتی مشغول کار بر روی توسعه ی سیستم عاملها و زبانهای برنامه نویسی بود.

dennis-ritchie

زبان C به قدری در صنعت نفوذ کرده که برخی پردازنده های پرکاربرد (نظیر AVR ها) طوری ساخته  شده اند که  برنامه نویسی به زبان C،  بهینه ترین حالت برای  برنامه ریزی آن هاست. به عنوان نمونه می توان به نرم افزار Code Vision برای برنامه نویسی میکروکنترلرهای AVR اشاره کرد.

در انتهای این بخش این نکته نیز باید ذکر شود که زبان برنامه نویسی C++ هیچ تفاوت مبنایی با C ندارد و همان زبان C است که قابلیت های برنامه نویسی شئ گرا به آن اضافه شده است.

امیدوارم پیش جلسه دوره آموزش برنامه نویسی به زبان C ( آموزش زبان C – قسمت صفر: چرا برنامه نویسی؟ ) برای شما مفید بوده باشد و انشالله در ادامه این دوره به صورت جامع و کامل با این زبان شیرین آشنا خواهیم شد.