کلمه جو
صفحه اصلی

ماجولا 3

دانشنامه عمومی

ماجولا-۳در علوم کامپیوتر ماجولا-۳ به عنوان یک آپدیت موفق ماجولا-۲ به نام ماجولا-۲+ تصور می شود.با وجود اینکه این زبان به عنوان زبانی در سیکل تحقیقات زبان های دیگر (در طراحی زبان های جاوا، سی شارپ و جاوا) تأثیرگذار بوده است ولی به صورت گسترده در صنعت مورد استفاده قرار نگرفته است. این زبان در اواخر دهه ۱۹۸۰ توسط لوکا کاردلی، جیم دوناهو، لوسیل گلاسمن، مایک جردن (در لابراتوار تکنولوژی های نرم افزاری اولیوت)، بیل کالسو و گرگ نلسون در شرکت مرکزی تحقیقات سیستمی تجهیزات دیجیتال و تحقیقات مرکزی اولیوتی طراحی شده است.ویژگی های اصلی ماجولا-۳ سادگی و امنیت می باشد که دلایلی بر قدرت یک زبان است و این ویژگی ها زبان را قدرتمند نگاه می دارد. با وجود اینکه ماجولا-۳ قصد داشت که امنیت وجود در زبان پاسکال را داشته باشد قصد معرفی ساختاری جدید برای زبان های کاربردی جهانی را نیز داشت.ماجولا-۳ پشتیبانی برنامه نویسی عمومی (مثل قالب ها)، چند نخ، کنترل استثنا، بازیابی زباله، برنامه نویسی شی گرا، آشکار سازی و نشانه واضح کدهای نا امن را به زبان خود افزود.دلیل اصلی طراحی ماجولا-۳ این بود که زبانی طراحی شود که عمدهٔ ویژگی های زبان های امری را در فرم ساده ای دربرداشته باشد؛ بنابراین ویژگی های مشخص خطرناک و پیچیده مانند وراثت چندگانه و بارگذاری بر روی اپراتور حذف شدند.
Modula-3 Resource Page
CM3 Implementation Website
Modula-3 Home Page (now long dead, mirror)
Modula-3: Language definition
elego Software Solutions
Modula-3 newsgroup (Mostly deserted)
Modula-3 Development Mailing List (active)
Notes from Caltech's CS2 class, taught in Modula-3 in 2002 and 2003.
Caltech's CS3 class 2009. at the Wayback Machine
mirror Programming in Modula-3: program examples
Building Distributed OO Applications: Modula-3 Objects at Work. Michel R. Dagenais. Draft Version (ژانویه ۱۹۹۷)
Modula-3: Language, Libraries and Tools. Presentation on Modula-3 over 120 slides. Michael R. Dagenais
Object-Oriented Data Abstraction in Modula-3. Joseph Bergin (1997)
Computerworld Interview with Luca Cardelli on Modula-3
پروژه ماجولا-۳ در نوامبر سال ۱۹۸۶ هنگامی که ماریس وایکس به نیکلاس ویس چند ایده در مورد ورژن جدید ماجولا نوشت شروع شد. وایکس که در DEC کار می کرد فقط به این نکات بسنده کرد و به انگلیس بازگشت و به صفحه استراتژی پژوهشی اولیوتیس پیوست. ویس به اوبرون انتقال داده شده بود ولی مشکلی به کار کردن به نام ماجولا مشکلی نداشت. زبان در آگوست سال ۱۹۸۸ به صورت کامل تعریف شد و در جون ۱۹۸۹ به ورژن جدید آپدیت شد. بلافاصله کامپایلری از طرف DEC و الیوت معرفی شد و قسمت سوم بعد از آن اجرا شد.طراحی این زبان تحت تأثیر زیاد زبان ماجولا -۲ که در آن زمان در SRC و در مرکز تحقیقات کامپیوتری ACRON بود که این زبان در سیستم عامل برای پردازنده های VAX، DEC Firefly نوشته شده بود، و کامپایلر ACRON (CAMEL) نیز برای گسترش زبان ماجولا-۲ در ARC برای پروژه سیستم عامل ARX برای ARM که بر پایهٔ دستهٔ کامپیوترهای Acron Archimedes بود ساخته شده بود .آنگونه که اعلام شده است زبان ماجولا-۳ از زبان های هم چوم Mesa، Cedar، Object Pascal، Oberon، و Euclid تأثیرپذیر یوده و گرفته شده است .در دههٔ ۱۹۸۰، ماجولا-۳، به عنوان زبان قابل توجهی برای آموزش در نظر گرفته شد ولی هرگز این زبان برای استفاده های صنعتی پذیرفته نشد.کمک به این زبان می توانست برابر از بین رفتن DEC باشد (بخصوص در زمانی که قبل از فروش DEC در سال ۱۹۹۸ متوقف شده بود). در هر صورت علی رغم سادگی و قدرت ماجولا-۳ به نظر می رسد تقاضا برای زبان کامپایلر بیس رویه ای و جود دارد که کمی از ویژگی های شی گرایی را داشته باشد.در یک بازهٔ زمانی یک کامپایلر تجاری به نام CM3 توسط یکی از متخصصان پیاده سازی ارشد در DEC SRC که قبلاً توسط DEC که در آن استخدام شده بود توسط Compaq (دارای مجوز در فرمت های باینری و ساخته شده در Reactor) بود فروخته شد که این نظر به وسیله Critical Mas بود اما شرکت فعال ceased در سال قسمتی از سورس این محصول را به elego software solution GmbH فروخته شد .ماجولا-۳ در حال حاضر در دانشگاه ها عمدتاً در دوره های تدریس زبان های برنامه نویسی تدریس می شود که کتاب هایش خارج از چاپ است.اساساً تنها حامی ماجولا-۳ شرکت بزرگ elego software solution GmbH بوده است که سورس اصلی را از Critical Mas ارث برده است و تا کنون انتشارهای زیادی از سیستم CM3 برای سورس و کدهای باینری صورت گرفته است. Reactor IDE منبع متن بازی بود که بعد از چند سال انتشار یافت و با نام CM3 IDE نام نگرفته بود.
مثالی ساده از برنامهٔ Hello Word با نحو زبان ماجولا-۳ :
MODULE Main; IMPORT IO; BEGIN IO.Put("Hello World\n") END Main.برنامه ها در ماجولا-۳ نهایتاً به یک فایل ماژول می باشد، که این فایل دارای یک سری رابطه می باشد که برای دسترسی کلاینت ها می باشد. شبیه زبان های دیگر ماجولا-۳ نیز می تواند یک ماژول اصلی داشته باشد که می تواند مثلاً Main.m3 نام بگیرد یا اینکه فایل می تواند ماژول اصلی را از طریق دستور export صدا زده شود .


کلمات دیگر: