You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Laning and Zierler سیستم

از EverybodyWiki Bios & Wiki
پرش به:ناوبری، جستجو


سیستم Laning و Zierler (که توسط کاربران آن "جورج" نیز نامیده می شود) یکی از اولین کامپایلرهای جبری عملیاتی بود ، یعنی سیستمی با قابلیت پذیرش فرمول های ریاضی در علامت گذاری جبری و تولید کد ماشین معادل (اصطلاح کامپایلر هنوز اختراع شده و از این سیستم به عنوان "یک برنامه تفسیری" یاد می شود). در سال 1952 توسط J. Halcombe Laning و Neal Zierler برای MIT WHIRLWIND اجرا شد. قبل از آن UNIVAC A-2 ، IBM Speedcoding و تعدادی از سیستم ها پیشنهاد شده اند اما هرگز اجرا نشده اند

شرح[ویرایش]

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


این سیستم همچنین وظایف زیر را به صورت خودکار انجام می دهد: محاسبه نقطه شناور ، ارتباط با زیر برنامه ها برای عملکردهای اصلی تجزیه و تحلیل (سینوسی و غیره) و چاپ و آرایه ها و نمایه سازی.


سیستم ورودی را روی نوار پانچ شده تولید شده توسط فریدن فلکسوویتر پذیرفت. نویسه ای که در نصب Whirlwind مورد استفاده قرار گرفت شامل ارقام "بزرگ" (خط بزرگ) و یک خط خط بود که برای نشان دادن شاخص های آرایه ، کدهای عملکرد و نمایشگرهای (عدد صحیح) استفاده می شد. مانند سایر نکات برنامه نویسی زمان خود ، این سیستم فقط نام متغیرهای تک حرف را می پذیرد و ضرب با قرار گرفتن متغیرها نشان داده می شود. یک نقطه برجسته برای نشان دادن ضرب صریح در دسترس بود (این کاراکتر با پر کردن نیمه پایینی روده بزرگ ایجاد شد!) این سیستم همچنین شامل پشتیبانی از حل معادلات دیفرانسیل خطی با استفاده از روش Runge-Kutta بود.


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

برنامه نمونه[ویرایش]

مثال زیر ، برگرفته از صفحه 11 کتابچه راهنمای سیستم ، با استفاده از گسترش سری تیلور ، cos⁡x را برای x = 0،0.1 ، ... ، 1 ارزیابی می کند. پیاده سازی بسیار کارآمد نیست ، و سیستم در حال حاضر cos⁡x را در کتابخانه زیرروالین خود شامل می شود ، اما این مثال به طعم نحو سیستم کمک می کند. توجه داشته باشید که تقسیم در سیستم پس از ضرب ارزیابی می شود:


1 x = 0,
   z = 1 - x^2/2 + x^4/2·3·4 - x^6/2·3·4·5·6
     + x^8/2·3·4·5·6·7·8 - x^10/2·3·4·5·6·7·8·9·10,
PRINT x, z. e = x - 1.05, CP 1, STOP

برنامه ها[ویرایش]

برنامه های کمی برای سیستم نوشته شده است. یک برنامه مستند که توسط خود لانینگ و زیرلر تالیف شده است ، مشکلی در هوانوردی داشت. این مسئله برای بیان نیاز به هفت سیستم معادلات دیفرانسیل داشت و به Whirlwind داده شده بود زیرا بیش از حد تحمل آن برای تحلیلگر دیفرانسیل MIT بود. نویسندگان با بهره گیری از ویژگی Runge-Kutta سیستم برنامه نویسی خود ، در مدت زمان دو ساعت و نیم برنامه 97 گزاره ای تولید کردند. این برنامه برای اولین بار با موفقیت اجرا شد.

تأثیر بر FORTRAN[ویرایش]

برخی منابع گفته اند که سیستم Laning و Zierler الهام بخش FORTRAN بوده است. خود جان باكوس اعتراف كرد كه در اين باور غلط سهيم بوده است:

تأثیر سیستم Laning و Zierler در توسعه FORTRAN سوالی است که بسیاری از اظهارات نادرست از جانب من گنگ کرده است. برای سالهای زیادی من معتقد بودم که ما با استفاده از دیدن نمایشی از سیستم Laning و Zierler در MIT ایده استفاده از نت جبری را در FORTRAN گرفته ایم. (Backus)

پس از بررسی اسناد و مدارک مربوط به آن زمان ، بکوس دریافت که وقتی او و تیمش فرصتی برای دیدن کارهای لانینگ و زیرلر پیدا کردند ، پروژه FORTRAN "به خوبی در حال انجام است":

ما قبلاً در حال بررسی ورودی جبری بودیم که بسیار پیچیده تر از سیستم لانینگ و زیرلر بود وقتی که ما برای اولین بار از کار پیشگام آنها شنیدیم ... دشوار است که بدانیم ، در صورت وجود ، ایده های جدیدی که از دیدن نمایش سیستم آنها به دست آوردیم. (Backus، op cit)

همچنین ببینید[ویرایش]

تاریخچه زبانهای برنامه نویسی

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

یادداشت[ویرایش]

^ J. W. Backus ، تاریخچه FORTRAN I ، II و III. مجموعه مقالات اولین کنفرانس ACM SIGPLAN در مورد تاریخچه زبانهای برنامه نویسی

منابع[ویرایش]

  • Backus, J. W. The history of FORTRAN I, II and III. Proceedings First ACM SIGPLAN conference on History of programming languages (Available on line).
  • Laning, J.H. and N. Zierler. A Program For Translation of Mathematical Equations for Whirlwind I. Engineering Memorandum E-364, Instrumentation Laboratory, Massachusetts Institute of Technology. (Available on line).
  • Sammet, Jean E., "Programming Languages: History and Fundamentals" Prentice-Hall, 1969
  • "The Early Development of Programming Languages" in A History of Computing in the Twentieth Century, New York, Academic Press, 1980. ISBN 0-12-491650-3


Specific


This article "Laning and Zierler سیستم" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Laning and Zierler سیستم. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[ویرایش]