آیا میدانید که اولین زبان برنامهنویسی دنیا چه نام دارد؟
در دنیای امروز که با کامپیوتر ها زندگی میکنیم ، نفس میکشیم و میمیریم؛ روزمان را با چک کردن موبایلمان و روشن کردن لپ تاپ هایمان شروع میکنیم ، چه خوب است که بدانیم که تکنولوژی امروز از کجا آغاز شده است. تمام این ابزار ها در یک سیستم عامل نوشته شده و در زبان های مختلفی چون C++ ،Java ،Python و … طراحی شده است. در بین این زبان های مطرح دنیا کدام یک اولین زبان برنامه نویسی است؟
گرچه پاسخ دقیقی برای این سؤال وجود ندارد، اما Plankalkul (معادل عبارت Plan Calculus) به عنوان اولین زبان برنامه نویسی دنیا در نظر گرفته شده است؛ این زبان در بین سالهای ۱۹۴۲ و ۱۹۴۵ توسط یک مهندس آلمانی به نام Konard Zuse ابداع شد اما مخاطبین زیادی را مجذوب خود نکرد.
در گذر این سالها، ما با معرفی چندین و چند زبان برنامه نویسی جدید مواجه بودهایم. اگرچه زبانهای محبوبی مانند Java و ++C همواره ما را تحت تأثیر قرار دادهاند، اما زبانهای جدیدتر نظیر Go ،Swift و یا Kotlin روز به روز توجه افراد بیشتری را به سمت خود جذب میکنند.
اما آیا تا به حال به این سؤال فکر کردهاید که اولین زبان برنامهنویسی دنیا، چه زبانی بوده است؟ از آنجا که خانم Ada Lovelace به عنوان اولین برنامهنویس دنیا در نظر گرفته میشود، آیا میتوان گفت «مجموعه علائمی» که ایشان به کار میبرد، اولین زبان برنامهنویسی نیز به حساب میآید.
برای آشنایی بیشتر با اولین برنامه نویس دنیا کلیک کنید.
برخی از افراد برای یافتن پاسخ این سؤال به کارهای Alan Turing مراجعه کردهاند و هر آنچه را که در شرح عملکرد ماشین تورینگ آمده است، به عنوان پاسخ به این سؤال ذکر میکنند (لازم به ذکر است که در مقالات ارائه شده توسط آقای تورینگ، ایشان یک سری برنامه و شبیهسازیهای ریاضیاتی نوشته است).
به نوعی میتوان گفت Plankalkul اولین زبان برنامهنویسی دنیا است (کلمهٔ Plankalkul را میتوان سیستم رسمی برنامهریزی معنی کرد). Plankalkul توسط مهندس Konard Zuse آلمانی و برای اهداف مهندسی بین سالهای ۱۹۴۲ و ۱۹۴۵ ساخته شد. برنامهٔ معروف !Hello World توسط اولین زبان برنامهنویسی دنیا یعنی Plankalkul به صورت زیر است:
R1.1(V0[:sig]) => R0
R1.2(V0[:m x sig]) => R0
۰ => i | m + 1 => j
[W [ i < j -> [ R1.1(V0[i: m x sig]) => R0 | i + 1 => i ] ] ] END
R1.3() => R0
‘H’;’e’;’l’;’l’;’o’;’,’;’ ‘;’w’;’o’;’r’;’l’;’d’;’!’ => Z0[: m x sig] R1.2(Z0) => R0
END
در آن زمان، Zuse بازخورد مناسبی از ارائهٔ این زبان به دست نیاورد و در سال ۱۹۷۲، زبان برنامهنویسی Plankalkul به صورت جامع و کامل در یک پایاننامه منتشر و پیادهسازی شد اما بعدها در سالهای ۱۹۹۸ و ۲۰۰۰ نمونههایی از پیادهسازیهای مستقل از این زبان به وجود آمدند.
همچنین جالب است بدانید که زبان برنامهنویسی Fortran را میتوان اولین زبان محبوب سطح بالا برشمرد؛ همچنین Lisp جزو اولین زبانهایی بود که توسط Fortran مغلوب شد!
اولین زبان های برنامه نویسی دنیا کداماند؟
برای شناخت اولینها باید کمی به عقب برگردیم، یعنی خیلی عقبتر! دقیقش میشود سال ۱۹۴۵، همان وقتی که جان وان نیومن، محقق انستیتوی تحقیقات عالی، دو اصل اساسی در زمینهی توسعهی برنامهنویسی ارائه کرد:
طبق اصل اول که تکنیک برنامهی مشترک (Shared-program technique) نام دارد، سختافزارها باید ساده باشند و با ترکیب این دستورات ساده، یک دستور نرمافزاری پیچیده ساخته شود. بهاینترتیب سختافزارها ساده و دستورات نرمافزاری پیچیده شدند.
دومین اصل، انتقال کنترل بهصورت شرطی (Conditional Control Transfer) است. طبق این اصل، یک برنامه کامپیوتری میتواند چندین بلوک بهنام زیرروال (Subroutin) داشته باشد. بلوکهایی که از دستورات کوچکترند و میتوانند در هر قسمتی از برنامه قرار بگیرند. براساس این اصل، امکان استفاده از دستورات منطقی مثل Then، IF و For هم فراهم شد.
حالا میتوانیم برویم سراغ اولین زبان های برنامه نویسی :
کد کوتاه (Short Code): بعد از ارائهی اصلهای وان نیومن، درست در سال ۱۹۴۹ «زبان برنامهنویسی کد کوتاه» پا به عرصه گذاشت. این زبان از نسل اول زبان های برنامه نویسی و دارای زبان صفر و یک بود. زبان Short Cod بهنوعی خشت اول دنیای بزرگ برنامهنویسی امروز به حساب میآید.
اسمبلی (Assembly): زبان اسمبلی کلمات نمادین را جایگزین صفرویکها کرد. اصل حرف زبان اسمبلی این بود: «راحتی برنامهنویس خیلی مهمتر از راحتی کامپیوتر است!». حتماً برایتان جالب است اگر بدانید بازیهای کنسول آتاری و سگا و همینطور نرمافزار لوتوس (جد اکسل) با این زبان نوشته شدهاند.
در سال ۱۹۵۱ گریس هاپر اولین کامپایلر دنیای IT را ابداع کرد. کامپایلری بهنام A-0 که برنامهنویسها را از از ورود به دنیای چغر صفرویکها خلاص کرد. برای همین از اینجا به بعد رشد برنامهنویسی با دور تندتری ادامه پیدا کرد.
فورترن (FORTRAN): اولین زبان برنامهنویسیِ شبیه زبانهای امروزی در سال ۱۹۵۷ اختراع شد. زبانی به نام فورترن که شرکت IBM آن را ارائه کرد. خوب است بدانید FORTRAN مخفف عبارت formula translating system و بهمعنای سیستم تبدیل فرمول است.
زبانی بسیار ساده و محدود که تنها دارای دستورات IF، DO و GOTO بود. دادههایی مثل متغیرهای صحیح، حقیقی، منطقی و همینطور اعداد با دقت مضاعف برای اولین بار در این زبان تعریف شدند. البته به سادگیاش نگاه نکنید این زبان منشا زبانهای مهم دیگری مثل COBOL، Lisp، C، Smalltalkو جاوا است. زبانی که هنوز هم در حوزهی اَبَرمحاسبات کاربرد دارد.
لیسپ (Lisp): ازآنجاکه رشد برنامهنویسی روی دور تند بود سال بعد از تولد فورترن، یعنی سال ۱۹۵۸، لیسپ به دنیا آمد! این زبان دارای ساختار منطقی if-then-else بود. ساختاری که هنوز هم در زبانهای مدرن دیده میشود. زبانهای بسیاری مثل اسمال تاک، جاوا، جاوااسکریپت، روبی و پایتون وجودشان را مدیون لیسپ هستند.
کوبول (COBOL): بعد از اینکه کامپیوترها سر از دنیای تجارت درآوردند، زبان COBOL بهوجود آمد. COBOL مخفف Common Business-Oriented Language است و همانطورکه از اسمش پیداست، برای بهکارگیری در امور مالی و تجاری استفاده شد. این زبان با داشتن انواع دادهایِ عددی و رشتهی متنی ، مدیریت داده را ساده کرده بود.
سیمولا(Simula): با ورود سیمولا، مفهوم شیگرایی به دنیای برنامهنویسی سلام کرد و Objectها و Classها غلتیدند میان کدها! سیمولا ریشهی همهی زبانهای شیگرا مثل سی شارپ، جاوا و جاواسکریپت است.
اسمال تاک (Smalltalk): با اینکه اسمال تاک ادامهی زبان سیمولا بود اما بهتنهایی توانست تحول بزرگی در دنیای برنامه نویسی ایجاد کند. زبانهای مدرنی مثل جاوا، سی شارپ، Objective C از این زبان تاثیر گرفتهاند. زبان روبی هم به نوعی همزاد مدرن اسمال تاک به حساب میآید.
اینطوری بود که زمینه برای ارتقای نرمافزارهای مربوط به ذخیرهسازی و بازیابی اطلاعات هم فراهم شد. سرعت این پیشرفت آنقدر زیاد بود که تا سال ۱۹۷۹ با ظهور ۲۰۰ زبان، دنیای IT حسابی شلوغ شده بود!