زبان های برنامه نویسی از گذشته تا به حال

زبان های برنامه نویسی
تصویر یاسر دهقان

یاسر دهقان

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

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

بطور خاص، برنامه‌نویسان امروزی دستورات خود را در زبان‌های “سطح بالا” می نویسند که از دستوراتی با ساختارهای شبیه به کلمات و جملات انگلیسی استفاده می‌کنند. این زبان‌ها همچنین از اپراتورهای منطقی مانند “و”، “یا” و “دیگر” استفاده می‌کنند.

 

زبان اسمبلی

همانطور که گفته شد، برنامه نویسی با استفاده از زبان ماشین به شدت دشوار است. به همین دلیل، مهندسان کامپیوتر تصمیم گرفتند که روشی جدید برای تسهیل فرآیند برنامه نویسی ابداع کنند. Kathleen Booth اولین نسخه از زبان اسمبلی در سال ۱۹۷۴ ساخت. این زبان برای خلاصه کردن زبان ماشین توسعه داده شد، تا مهندسان کامپیوتر دیگر به زبان باینری محاسبه و برنامه نویسی نکند. در این زبان، به جای استفاده از صفر و یک برای اشاره به دستورات کامپیوتر، از کاراکترها استفاده می‌شود.

زبان برنامه نویسی اسمبلی و کد ماشین معادل آن
نمونه ای از زبان برنامه نویسی اسمبلی و کد ماشین معادل آن

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

زبان های برنامه نویسی سطح بالا

با اینکه زبان اسمبلی کار برای مهندسان کامپیوتر راحت‌تر کرده بود، مهندسان همچنان نیاز داشتند که برای نوشتن نرم‌افزار، به طور مستقیم با سخت‌افزار کار کنند و تنها مهندسان کامپیوتر می‌توانستند برنامه‌نویسی را انجام دهند. برای این منظور، زبان‌های برنامه‌نویسی سطح بالا ایجاد شدند. این زبان‌ها به افراد این امکان را می‌دهند که بدون نیاز به دانش عمیق از سخت‌افزار و معماری کامپیوتر، به برنامه‌نویسی بپردازند. کد نوشته شده با استفاده از زبان‌های برنامه‌نویسی سطح بالا توسط کمپایلر به کد ماشین تبدیل می‌شود. برخلاف زبان اسمبلی  که هر خط آن دقیقاً به یک دستور کامپیوتر تبدیل می‌شد؛ در زبان برنامه نویسی سطح بالا هر خط از زبان برنامه‌نویسی سطح بالا ممکن است به چندین دستور کامپیوتر تبدیل شود.

 

John Backus

بیشتر کار های  من از تنیلی می آید. من حوصله نداشتم که به صورت باینری برنامه نویسی کنم. پس تصمیم گرفتم تا بر روی یک زبان برنامه نویسی کار کنم تا این پروسه را راحتر کنم

John Backus خالق زبان برنامه نویسی Fortran

 

اولین کامپایلر ها

اولین کامپایلر برای زبان برنامه‌نویسی A-0 توسط گریس هاپر در سال 1952 نوشته شد.  بعدها، در سال 1956، John Backus و تیمش، زبان برنامه‌نویسی Fortran را ساختند . تا آن زمان، زبان‌های برنامه‌نویسی تنها بر روی یک کامپیوتر خاص اجرا می‌شدند؛ به عنوان مثال، Fortran فقط بر روی کامپیوترهای IBM اجرا می‌شد. اما گریس هاپر ایده زبان برنامه‌نویسی مستقل از ماشین را معرفی کرد، که بعدها منجر به ایجاد زبان برنامه‌نویسی COBOL در سال 1959 شد.

پس از COBOL، فرآیند اختراع زبان‌های برنامه‌نویسی ادامه یافت و زبان‌های جدیدی معرفی شدند. هر کدام از این زبان‌ها سعی می‌کردند تا ویژگی‌های جدیدی ارائه بدهند و برنامه‌نویسی را برای مهندسان کامپیوتر راحت‌تر کنند.

از میان زبان‌های برنامه‌نویسی معروف در حال حاضر می‌توان به پایتون، جاوااسکریپت و C اشاره کرد.

grace hopper
grace hopper دانشمند علوم کامپیوتر آمریکایی ملقب به ملکه کد ها

مزیت زبان های برنامه نویسی سطح بالا

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

 

ارسال دیدگاه