C – ۲

مزایا و معایب زبان C

  • طراحی
  • بهینگی
  • قابلیت حمل
  • قدرت و انعطاف
  • آزادی

طراحی

زبان C از بنیان ترکیب علم و عمل بوده است. زبانی است که از اساس برای کارکرد قابل اطمینان و مستحکم ساخته شده است. زبانی است که به منظور ساخت سیستم عامل ساخته شده است. بعضی زبانها اینگونه نیستند. مثلا زبان پاسکال برای کارهای ریاضی و زبان BASIC برای کسانی که به زبان انگلیسی آشنایی دارند ساخته شد. زبانی که برای پیاده سازی سیستم عامل مورد استفاده قرار میگیرد باید بسیار دقیق، پایدار و بهینه باشد. چند مورد از خواص طراحی زبان C بطور خلاصه به این شرحه:

۱- ساختار بالا به پایین: به این صورت که مثل اکثر برنامه ها برنامه از ابتدا به انتها اجرا میشه. برنامه نویسان امروزی بشدت از استفاده از پرش goto پرهیز میکنند تا خوانایی و عیب یابی برنامه دشوار نشه. در این ساختار با دنبال کردن برنامه میتوانیم بفهمیم که برنامه قراره چه کاری انجام بده و کجاها باید اصلاحات انجام بدیم.

۲- کتابخانه‌های استاندارد: وجود این کتابخانه در C باعث میشه که زیربنایی خوب برای انجام دیگر کارها فراهم باشه. با وجود این کتابخانه لازم نیست همه چی رو از صفر شروع کنیم.

۳- برنامه‌نویسی پیمانه‌ای: برنامه‌نویسی ماژولار به این معنتیه که با نوشتن یک تابع میتونیم هرجا که به اون تابع نیاز داشتیم ازش استفاده کنیم و لازم نباشه یک تابع پرکاربرد رو صدها بار بنویسیم.

زبان C خصوصیات و ساختار جالبی داره که در خلال مطالب باهاشون بیشتر آشنا میشیم.

بهینگی

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

قابلیت حمل و جابجایی

منظور ما از قابلیت حمل اینه که برنامه ای رو که در یک سیستم خاص نوشتید بتونید بی دردسر در سیستمهای دیگه اجرا کنید. سی زبان قابل حمل یا پورتابلیه. به این معنی که برنامه ای رو که روی یک سیستم ویندوزی نوشتید میتونید به اسانی بر روی اکثر سخت افزارها بدون تغییر یا با تغییرات بسیار جزئی در حد تغییر فایل سرآیند، اجرا کنید. قابلیت حمل به این معنا نیست که فایل اجرایی یک اکوسیستم مثل مایکروسافت رو در اکوسیستمی مثل UNIX اجرا کنید. بلکه منظور پورت کردن سورس کد بدون تغییر یا با تغییرات اندک است. به گونه ای که بتوان برنامه را در سیستم مقصد به راحتی کامپایل و اجرا کرد. کامپایلرهای C برای بازه بسیار وسیعی از سخت افزارها ساخته نوشته شده اند. بطوری که میتوانید یه برنامه C رو در بازه وسیعی از سخت افزارها، از یه گوشی تلفن همراه گرفته تا یک ابرکامپیوتر اجرا کنید.

قدرت و انعطاف پذیری

C یک زبان قدرتمند و انعطاف پذیره. سیستم عامل یونیکس(و مشتقات یونیکس) گواهی بر این مدعاست. بسیاری از کامپایلرها و مترجمها(اینترپرِتِر) زبانهای دیگر مانند FORTRAN, Perl, Python, LISP, Logo و BASIC با زبان C نوشته شده اند. در نتیجه اگر شما در سیستم یونیکسی خود مشغول نوشتن یک برنامه به زبان FORTRAN هستید، این C است که در نهایت کار را به سرانجام رسانیده و فایل اجرایی را برایتان تولید میکند.

آزادی

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

درباره نویسنده: Hoshyar Karimi

مطالب زیر را حتما بخوانید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *