C – ۱

روشنگری

  • برنامه‌نویسی و زبان برنامه‌نویسی
  • برنامه و اسکریپت

برنامه نویسی و زبان برنامه نویسی

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

برنامه و اسکریپت

یه چیزی که همه مون میدونیم ولی شرح تفاوتش برامون گاهی سخته. چون گاهی اسکریپت رو با سورس برنامه اشتباه میگیریم. اسکریپت به مجموعه دستورالعمل هایی میگن که برای اجرا شدن باید در برنامه دیگری ترجمه و اجرا بشن. مثال خوبش جاوا اسکریپته. دستورات جاوا اسکریپت در دل کدهای html قرار میگیرن و مرورگر اجراشون میکنه. توانایی اجرا رو از خودشون ندارن. اما برنامه ها اینگونه نیستن. برنامه ها یکبار کامپایل شدن و توانایی اجرا شدن ذاتی دارن. تفاوت بعدیشون اینه که برنامه ها به زبان ماشین ترجمه شدن اونم یکبار برای همیشه. اما اسکریپتها هربار باید ترجمه بشن. زبان ماشین زبان صفر و یکه. پردازنده زبان اون برنامه رو میفهمه و سریع اجراش میکنه چون دیگه لازم نیست ترجمه بشه و بعد به پردازنده داده بشه. تفاوت دیگرشون اینه که شما میتونید اسکریپت رو با ادیتورهای متنی مثل gedit یا notepad باز کنید و ببینید و ویرایش کنید. اما یک برنامه رو نمیتونید با ادیتور متنی باز کنید و ازش چیز قابل فهمی استباط کنید و ویرایش کنید. تفاوت دیگرشون اینه که در برنامه ها، در زمان نوشتن سورس کد، شما برای اجرا برنامه و اجزای داخلش مقدار حافظه تعیین میکنید. مثلا میگید برای اعداد صحیح ۳۲ بیت جا میخواد برنامه م. زیرا برنامه ای که اجرا میشه در رم یا حافظه اصلی مستقر میشه تا بعد از پردازش شدن، و باید براش مشخص کرده باشید که سیستم عامل چقد فضا بده به این برنامه تون. اما اسکریپتها تخصیص حافظه ندارن. بلکه برنامه ای که اجراشون میکنه به سیستم عامل میگه که چقدر فضا میخواد. سخن آخر اینکه هردوشون خوبن و نمیتونن جای همدیگه رو پر کنن. یه جاهایی اسکریپت چنان کاربردی داره که معقول نیست ازش چشم پوشید. یه جاهایی فقط اسکریپت به کار میاد. پس به چشم یه چیز بیکار نگاش نکنید. C زبان برنامه نویسیه. یعنی بعد از نوشتن سورس کد و کامپایل کردن ( در مورد کامپایل در قسمتهای آینده مفصل توضیح میدم) برنامه اجرایی ساخته میشه به زبان دودویی یا Binary. این برنامه از همین الان قابلیت اجرا رو داره.

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

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

1 Comment

  1. سلام
    وقت پیدا کردم خوندم خیلی خوب با بیانی موجز و رون توضیح دادی ممنون

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

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