زبان برنامه‌نویسی به چی میگن؟


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

پس در آغاز می‌خوام در مورد فلسفه کلمه اول "زبان برنامه‌نویسی" صحبت کنم یعنی زبان:

زبان چیه؟

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

کامپیوترها و زبان ماشین:

حالا که چیستی زبان رو درک کردیم این مسئله هم قابل بیان که دنیای ما با جامعه‌ی بزرگی از کامپیوتر‌ها همراه شده مثلا در زمینه‌های اقتصادی، آموزشی، پزشکی و خیلی حوزه‌های دیگه حضور کامپیوتر‌ها غیرقابل انکاره چراکه کامپیوترها ماشین‌هایی هستند که محاسبات رو خیلی سریعتر از انسان انجام میدن و نیازشون همیشه حس میشه.
پس الان اگر بخوایم با جامعه کامپیوترها ارتباط بگیریم به یک زبان نیاز داریم تا به کامپیوترها نیازهامون رو بفهمونیم و از طریق اونها، این نیازها رو رفع کنیم. کامپیوترها خودشون دارای یک زبان خاص هستند که این زبان به نام زبان ماشین شناخته می‌شود و از دو حرف ۰ و ۱ تشکیل شده هست و قرار گرفتن هشتا از این ۰ و ۱ ها کنار هم دیگه تشکیل یک کلمه رو در زبان ماشین میدن ولی فرا گرفتن تمام این حالات مختلف قرار گرفتن این حروف کنار هم دیگه برای انسان دشواره .

قدم آخر زبان‌های برنامه‌نویسی:

دانشمندان علوم کامپیوتر به این فکر کردن زبان یا زبان‌هایی رو به عنوان واسطه بین زبان انسان و زبان ماشین‌ها قرار بدند که اینجا نقطه پیدایش زبان‌های برنامه‌نویسی بود.
این زبان‌ها که حکم واسطه رو بین انسان و کامپیوترها داشتند، به زبان انسان نزدیک بودند و از طریق یک مترجم قابل ترجمه به زبان ماشین بودند.
زبان‌های برنامه‌نویسی براساس این نزدیکی که به زبان انسان داشتند به دو دسته‌ی زبان‌های سطح بالا و زبان‌های سطح پایین تقسیم شدند.
زبان‌های سطح بالا به زبان انسان نزدیکتر بودند مثل زبان برنامه‌نویسی پایتون که درک آنها برای انسان راحت‌تر ولی سرعت اجرای کمتری دارند.
زبان‌های سطح پایین به زبان ماشین نزدیکتر بودند مثل زبان اَسِمبلی که برای انسان درک سختری ولی در اجرا سرعت بالاتری دارند.

امیدوارم تا به اینجا درک صحیح و ساده‌ای از زبان‌های برنامه‌نویسی پیدا کرده باشید.


محمدرسول عزیزی

۱۱ فروردین ۱۴۰۳