تبیان، دستیار زندگی
طراحی ها و روش های پیاده سازی زبان های برنامه نویسی، به طور مداوم از زمانی که اولین زبان های سطح بالا در دهه 1950 ظاهر شدند، با آنها همراه بوده است. اولین نسخه FORTRAN و LISP طی دهه 1950 طراحی شدند، Ada، C، Pascal، Prolog و Smalltalk از سال های 1970...
عکس نویسنده
عکس نویسنده
بازدید :
زمان تقریبی مطالعه :

پدربزرگ زبان‌های برنامه‌نویسی


طراحی ها و روش های پیاده سازی زبان های برنامه نویسی، به طور مداوم از زمانی که اولین زبان های سطح بالا در دهه 1950 ظاهر شدند، با آنها همراه بوده است. اولین نسخه FORTRAN و LISP  طی دهه 1950 طراحی شدند، Ada، C، Pascal، Prolog و Smalltalk از سال های 1970 و C++، ML، Prel، Postscript از 1980 ظاهر شدند.

پدربزرگ زبان‌های برنامه‌نویسی

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

در اوایل دهه 1950، علامت گذاری های نمادین شروع به ظاهر شدن کردند. Grace Hopper گروهی را در Univac برای توسعه ی زبان A-0 رهبری نمود و John Bachus کد گذاری سریع را برای IBM 701 توسعه داد. هر دوی آنها به منظور کامپایل نمودن عبارت های محاسباتی ساده به زبان ماشین قابل اجرا، فعالیت می‌کردند.

تحول واقعی در 1957 رخ داد هنگامی که Backus گروهی را برای توسعه FORTRAN یا FORmula TRANslator رهبری نمود. همانند کوشش های قبلی داده های FORTRAN به سمت محاسبات عددی گرایش داشتند، اما هدف، زبان برنامه نویسی کاملی بود شامل ساختارهای کنترلی، شرط‌ها و قوانین ورودی و خروجی. با توجه به اینکه افراد کمی اعتقاد داشتند که زبان حاصله می تواند با زبان اسمبلی که با دست کد شده رقابت نماید، همه تلاش ها انجام شد و قوانین مختلفی مخصوص IBM 704 طراحی شدند.

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

از مزیت‌های فورترن «تعریف متغیر در این زبان» است. در فرترن بر خلاف سایر زبان‌های سطح بالا مثل پاسکال یا سی، صحیح یا اعشاری بودن متغیر تعریف نمی‌شود. در این زبان به طور قراردادی متغیرهایی که با یکی از حروف I J K L M N آغاز میشوند صحیح فرض می‌شوند و سایر متغیرها اعشاری در نظر گرفته می‌شوند.

پدربزرگ زبان‌های برنامه‌نویسی

FORTAN تا حد زیادی موفق بود و در دهه 1970 زبان حاکم به شمار می آمد. FORTRAN به عنوان FORTRAN II در 1958 و چند سال بعد به عنوان FORTRAN IV  بازبینی شد. تقریبا هر سازنده ای یک نسخه از این زبان را پیاده سازی نمود و قانون مشخصی حاکم نبود. در نهایت در 1966 FORTRAN IV به صورت استانداردی به نام FORTRAN 66 تبدیل شد و از آن موقع دوبار با عناوین FORTRAN 77 و FORTRAN 90 ارتقا داده شد. به علت موفقیت FORTRAN، به خصوص در اروپا، ترسی از حاکمیت IBM در این صنعت وجود داشت. GAMM ( The German Society of applied Mathematics ) کمیته ای را سازماندهی نمود تا زبانی جهانی را طراحی کنند. در ایالات متحده آمریکا، ACM ( Association for Computing Machinery ) نیز کمیته مشابهی را سازماندهی کرد. اگرچه اروپایی ها از حاکمیت آمریکایی ها و بلعکس نگران بودند ولی نهایتا این دو کمیته با یکدیگر ادغام شدند و تحت سرپرستی Peter Naur زبان محاسباتی بین المللی IAL را توسعه دادند. نام این زبان مورد استقبال قرار نگرفت و به نام ALGOL ( ALGorithmic Language ) تغییر یافت. سال 1960 این زبان تحت بازبینی قرار گرفت و با کمی تغییرات در سال 1962 زبان ALGOL 60 به صورت استاندارد زبان محاسباتی آکادمیک در دهه 60 تبدیل شد.

در حالی که که هدف FORTRAN کارایی بر روی IBM 704 بود، ALGOL اهداف متفاوتی را دنبال می‌کرد:

1- نشان گذاری ALGOL باید به استاندارد ریاضی نزدیک باشد.

2- ALGOL باید برای توصیه الگوریتم ها مفید باشد.

3- برنامه های ALGOL باید با زبان ماشین سازگار باشند.

4- ALGOL نباید به ساختار یک کامپیوتر محدود شود.

این اهداف برای سال 1958 بسیار جاه طلبانه بودند. به منظور استقلال ماشین، هیچگونه ورودی و خروجی در زبان تعبیه نشد. امکان نوشتن رویه های خاصی برای این اعمال وجود داشت لذا برنامه ها از سخت افزار مستقل بودند. الگول کدها را به صورت بلوکی معرفی کرد و اولین زبانی بود که از دو جفت begin و end برای مرز بندی بلوکها استفاده کرد . قسمتهایی از الگول مانند syntax بعضی اوقات برای ثبت و یادداشت الگوریتم‌ها استفاده می‌شود . به همین خاطر به آن Pidgin Algol  (الگول دست و پا شکسته ) می‌گفتند.

فاطمه مجدآبادی

بخش دانش و زندگی تبیان


برگرفته از:

Programming language : design and implementation

Pratt

زبان های برنامه سازی، مهندس سالخورده

ویکیپدیا