سیمولا: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
اشکالات نگارشی تا حد امکان رفع شد ولی هنوز مشکلاتی وجود داره که در بحث صفحه مطرح میشه. برچسب: افزودن پیوند بیرونی به جای ویکیپیوند (پخ) |
جز ربات ردهٔ همسنگ (۲۶) +نشانی+املا+مرتب+تمیز (۸.۸): + رده:زبانهای برنامهنویسی کلاس محور |
||
خط ۳:
'''سیمولا'''
{{ترجمه}}
سیمولا یک نام برای دو زبان برنامه نویسی، سیمولا 1 و سیمولا 67 است، که در ۱۹۶۰ در مرکز محاسبات نروژی در اسلو، توسط [[اوله-یوهان دال]] و [[کریستین نیگارد]]
سیمولا 67 اشیاء، [[کلاس (برنامهنویسی)|
سیمولا اولین زبان برنامه نویسی شی گرا در نظر گرفته شده است. همانطور که از نام آن پیداست، سیمولا برای انجام شبیه سازی، طراحی شده است و نیاز
سیمولا در طیف وسیعی از کاربردها مانند شبیه سازی طرح های VLSI، مدل سازی فرایند، پروتکل ها، الگوریتم ها و برنامه های کاربردی دیگر مانند حروفچینی، گرافیک کامپیوتری، و آموزش و پرورش استفاده شده است. از آنجا که
سیمولا هنوز هم برای انواع مختلف از درس های دانشگاه استفاده می شود، به عنوان مثال جارک لنار سیمولارا به دانشجویان در دانشگاه مالت می آموزد.
خط ۱۸:
== تاریخچه ==
کریستین نیگارد شروع به نوشتن برنامه های شبیه سازی کامپیوتر در سال 1957 کرد. نیگارد نیاز به یک راه بهتر برای توصیف عدم تجانس و عملکرد یک سیستم را دید. برای رفتن بیشتر با ایده های خود بر روی یک زبان رسمی کامپیوتر برای توصیف سیستم، متوجه شد که او کسی را با مهارت بیشتر برنامه نویسی از کسی که داشته نیاز دارد. اوله - یوهان دال به او در کارش از ژانویه 1962 پیوست. این تصمیم برای ارتباط زبان الگول 60 در مدت کوتاهی پس ازآن گرفته شد. تا قبل از مه 1962 مفاهیم اصلی زبان شبیه سازی تعیین شد. "سیمولا 1" متولد شد، یک زبان برنامه نویسی با هدف ویژه برای شبیه سازی سیستم های رویداد گسسته.▼
کریستن نیگارد به یونیوک اواخر ماه مه 1962 در ارتباط با بازاریابی کامپیوتر جدید یونیوک 1107 دعوت شد. در آن دیدار نیگارد ایده های سیمولا به رابرت بمر، مدیر برنامه نویسی سیستم در یونیوک ارائه داد. بمر یک هواخواه سوگند یاد کرده الگول بود و متوجه شد پروژه سیمولا الزام آور است. بمر همچنین رییس یک جلسه در دومین همایش بین المللی پردازش اطلاعات میزبانی شده توسط [http://en.wikipedia.org/wiki/International_Federation_for_Information_Processing IFIP] بود. او نیگارد را که مقاله "سیمولا -- فرمتی از الگول به شرح شبکه های رویداد- گسسته" را ارائه بود، دعوت کرد.▼
مرکز محاسبات نروژی یونیوک 1107 را دراوت 1963 با تخفیف قابل توجهی گرفت، که در آن دال سیمولا1 را تحت قرارداد با یونیوک پیاده می کرد. پیاده سازی بر مبنای یونیوک الگول 60 کامپایلر استوار بود. سیمولا 1 در یونیوک 1107 از ژانویه 1965 به طور کامل عملیاتی بود. در چند سال بعدی دال و نیگارد زمان زیادی را صرف آموزش سیمولاکردند. سیمولا به چندین کشور در سراسر جهان گسترش یافت و سیمولا 1 بعدا در کامپیوترهای بوروقس B5500 و کامپیوتر اورال - 16 روسی پیاده شد.▼
▲کریستین نیگارد شروع به نوشتن برنامه های شبیه سازی کامپیوتر در سال 1957 کرد. نیگارد نیاز به یک راه بهتر برای توصیف عدم تجانس و عملکرد یک سیستم را دید. برای رفتن بیشتر با ایده های خود بر روی یک زبان رسمی کامپیوتر برای توصیف سیستم، متوجه شد که او کسی را با مهارت بیشتر برنامه نویسی از کسی که داشته نیاز دارد. اوله - یوهان دال به او در کارش از ژانویه
در سال 1966 C.A.R.Hoare مفهوم ساخت کلاس رکورد را معرفی کرد، که دال و نیگارد آن را با مفهوم پیشوندی و ویژگی های دیگری برای برآورده کردن نیازهای خود برای مفهوم فرایند تعمیم داده شده گسترش دادند . دال و نیگارد مقاله خود در اعلان های کلاس ها و زیر کلاس ها در کنفرانس کاری IFIP روی زبانهای شبیه سازی در اسلو، در مه 1967 ارائه دادند. این مقاله اولین تعریف رسمی از سیمولا 67 شد. در ژوئن 1967 کنفرانسی برای استاندارد کردن زبان و آغاز تعدادی از پیاده سازی ها برگزار شد. دال پیشنهادی برای متحد کردن نوع و مفهوم کلاس داد. این به بحثهای جدی منجر شد، و پیشنهاد توسط هیئت مدیره رد شد. سیمولا 67 بود به طور رسمی در اولین جلسه از گروه استانداردهای سیمولا (SSG) در ماه فوریه 1968 استاندارد شد.▼
▲کریستن نیگارد به یونیوک اواخر ماه مه 1962 در ارتباط با بازاریابی کامپیوتر جدید یونیوک
▲مرکز محاسبات نروژی یونیوک 1107 را دراوت 1963 با تخفیف قابل توجهی گرفت، که در آن دال سیمولا1 را تحت قرارداد با یونیوک پیاده می کرد. پیاده سازی بر مبنای یونیوک الگول 60 کامپایلر استوار بود. سیمولا 1 در یونیوک 1107 از ژانویه 1965 به طور کامل عملیاتی بود. در چند سال بعدی دال و نیگارد زمان زیادی را صرف آموزش سیمولاکردند. سیمولا به چندین کشور در سراسر جهان گسترش یافت و سیمولا 1
▲در سال 1966 C.A.R.Hoare مفهوم ساخت کلاس رکورد را معرفی کرد، که دال و نیگارد آن را با مفهوم
سیمولا تاثیرگذار در توسعه صحبت کوتاه و بعد زبانهای برنامه نویسی شی گرا بود. آن همچنین کمک به الهام بخشی مدل عملگر از محاسبات همزمان کرد، هر چند سیمولا تنها پشتیبانی از همکاری- روال و نه همزمانی درست می کند.
در اواخر دهه شصت و اوایل دهه هفتاد چهار پیاده سازی اصلی از سیمولا وجود داشت :
این پیاده سازی به طیف گسترده ای از زبانهای برنامه نویسی منتقل شدند. تاپس - 10 مفهوم متغیرها و روش های عضو عمومی، محافظت شده
در نوامبر 2001 دال و نیگارد مدال IEEE جان فون نویمان توسط موسسه مهندسان برق و الکترونیک را "برای معرفی مفاهیم برنامه نویسی شی گرا از طریق طراحی و پیاده سازی
آزمایشگاه تحقیقات سیمولا یک موسسه تحقیقاتی است که بخاطر زبان سیمولا نامگذاری شده است، و نیگارد یک موقعیت کاری پاره وقت از سال بازگشایی در2001 آنجا داشت.
سطر ۴۷ ⟵ ۴۶:
=== برنامه حداقل ===
فایل کامپیوتر خالی یک برنامه حداقل در سیمولا است، که توسط حجم
با این حال، برنامه حداقل به صورت مناسب تری به عنوان یک بلوک خالی جلوه داده میشود:
{{
Begin
End;
{{پایان
آن اجرای برنامه را آغاز و بلافاصله خاتمه میدهد. زبان هیچ مقدار برگردانده شده از خود برنامه ندارد.
سطر ۶۲ ⟵ ۶۱:
توجه داشته باشید که در سیمولا بزرگی و کوچکی حروف مطرح نیست. نمونهای از یک برنامه Hello World در سیمولا:
{{
Begin
OutText ("Hello World!");
Outimage;
End;
{{پایان
=== کلاس ها، زیرکلاس ها و روش های مجازی ===
سطر ۷۳ ⟵ ۷۲:
مثال واقعی تر با استفاده از کلاس ها، زیرکلاس ها و روش های مجازی:
{{
Begin
Class Glyph;
سطر ۱۱۰ ⟵ ۱۰۹:
rg.print;
End;
{{پایان
مثال بالا یک کلاس بزرگ (گلیف) با دو زیرکلاس ها (کاراکتر و خط) دارد. یک روش مجازی با دو پیاده سازی وجود دارد. اجرای برنامه با اجرای برنامه اصلی شروع می شود. سیمولا نشانی از مفهوم کلاس های انتزاعی ندارد زیرا کلاس ها با روش های مجازی خالص می تواند مثالی شود. این به این معنی است که در مثال بالا همه کلاس ها می توانند مثالی شوند.
=== فراخوانی با نام ===
سطر ۱۲۰ ⟵ ۱۱۹:
مثال بسیار ساده تر دیگر تابع جمع است (Σ) که می تواند به شرح زیر پیاده شود:
{{
Real Procedure Sigma (k, m, n, u);
Name k, u;
سطر ۱۳۰ ⟵ ۱۲۹:
Sigma:= s;
End;
{{پایان
برنامه بالا فراخوانی با نام را برای کنترل متغیر (k) و بیان (u) استفاده می کند. این اجازه می دهد تا متغیر کنترل
توجه داشته باشید که استاندارد سیمولا محدودیت های خاصی بر متغیر کنترل
به شرح زیر:
که پس از آن میتواند به شرح زیر پیاده شود:
{{
Z:= Sigma (i, 1, 100, 1 / (i + a) ** 2);
{{پایان
=== شبیه سازی ===
سیمولا شامل یک بسته شبیه سازی برای انجام شبیه سازی رویداد گسسته است. این بسته شبیه سازی بر مبنای ویژگی های شی گرا سیمولا و مفهوم همروال آن است.
سام، سالی و اندی در حال خرید لباس هستند. آنها باید از یک اتاق پرو اشتراکی استفاده کنند. هر کدام از آنها در حال گشتن در فروشگاه به مدت 12 دقیقه هستند و سپس از اتاق پرو به طور انحصاری به مدت سه دقیقه استفاده می کنند، هر یک از یک توزیع نرمال پیروی می کنند.یک شبیه سازی از تجربه اتاق پرو آنها به شرح زیر است:
{{
Simulation Begin
Class FittingRoom; Begin
سطر ۱۶۷ ⟵ ۱۶۴:
door:- New Head;
End;
Procedure report (message); Text message; Begin
OutFix (Time, 2, 0); OutText (": " & message); OutImage;
سطر ۱۹۳ ⟵ ۱۹۰:
Hold (100);
End;
{{پایان
بلوک اصلی با شبیه سازی برای
شی اتاق پرو یک صف (درب) را برای دسترسی به اتاق پرو استفاده می کند. هنگامی که کسی درخواست اتاق پرو می کند و آن اشغال است، آنها را باید در این صف منتظر (صبر (درب)) بمانند. وقتی کسی اتاق پرو را ترک می کند اولین کس (در صورت وجود) از صف (درفعال. اولین) جدا می شود و بر این اساس از صف در (در. اولین. بیرون) برداشته می شود.
شخص زیر کلاسی از فرایند است و فعالیت او با استفاده از نگه داشتن (زمان برای دیدن فروشگاه و زمان حضور در اتاق پرو) و و روش های فراخوانی در شی اتاق پرو برای درخواست و ترک اتاق پرو شرح داده شده است.
سطر ۲۰۱ ⟵ ۱۹۸:
== همچنین مشاهده کنید ==
▲• زبان الگول 60 ،
▲• بتا، جانشین مدرن برای سیمولا،
▲• برنامه نویسی شی گرا،
▲• زبان شبیه سازی
▲•Subtyping، مفهوم نظری مدرن از subtyping که سرچشمه در سیمولا دارد.
== منابع ==
{{پانویس}}
1. ^ a b c d e f g h i j k l m n Ole-Johan Dahl, Bjørm Myhrhaug, and Kristen Nygaard (1970), :[1], Common Base Language, Norwegian Computing Center
سطر ۲۱۶ ⟵ ۲۱۲:
4. ^ Jan Rune [2], Compiling Simula, Institute for Studies in Research and Higher Education, Oslo, Norway
ماخذ
▲• IBM System 360/370 Compiler and Historical Documentation The Simula Standard and other historical documentation by Peter Sylvester
لینک های بیرونی
▲• Introduction to OOP in Simula – By J.Sklenar, based on the 1997 seminar "30 Years of Object Oriented Programming (OOP)" at the University of Malta
▲• How Object-Oriented Programming Started – By Dahl and Nygaard, abbrev. version of an encyclopedia article; on Nygaards home page
▲• Simula at the Université de Montréal Includes tutorials, documentation, and links in English and in French
▲• An Introduction to Programming in Simula A textbook by Rob Pooley now available as HTML
▲• DEMOS: a system for Discrete Event Modelling on SIMULA Demos Reference Manual, Demos was originally written as a package within SIMULA by Professor of Computer Science Graham M. Birtwistle at the University of Calgary, Canada
▲* ویکیپدیای انگلیسی. {{localurl:Wikipedia:Self_(programming_language)}}
[[رده:اشکالهای برنامهنویسی]]
[[رده:برنامهنویسی]]
[[رده:زبانهای برنامهنویسی شبیهسازی]]
[[رده:زبانهای برنامهنویسی کلاس محور]]
[[رده:موضوعات مربوط به زبانهای برنامهنویسی]]
|