اوبرون (زبان برنامه‌نویسی)

اوبِرون یک زبان برنامه‌نویسی عمومی است که اولین بار در سال ۱۹۸۷ توسط نیکلاوس ویرت منتشر شد و آخرین عضو خانواده زبان‌های شبیه الگول (یولر، ALGOL W، پاسکال، مادولا و مادولا-۲) می‌باشد.[۱][۲][۳][۴] اوبرون نتیجه یک تلاش متمرکز برای افزایش قدرت مودولا-۲، جانشین مستقیم پاسکال، و در عین حال کاهش پیچیدگی آن است. ویژگی جدید اصلی آن مفهوم گسترش نوع داده از نوع‌های رکورد است.[۵] این، اجازه می‌دهد که نوع‌های داده‌ی جدیدی بر اساس نوع‌های موجود بسازیم و آن‌ها را به هم مرتبط کنیم، و از قاعده‌ی تایپ استاتیک سخت‌گیرانه داده منحرف شویم. گسترش نوع، راه ویرت برای به ارث بردن و انعکاس دیدگاه سایت پدر است. اوبِرون به عنوان بخشی از پیاده‌سازی یک سیستم‌عامل که آن نیز اوبِرون نام داشت، در ETH زوریخ در سوئیس توسعه یافت. نام این پروژه هم از تصاویر گرفته‌شده توسط کاوشگر فضایی وویجر از ماه سیاره اورانوس که اوبِرون نامیده می‌شود الهام گرفته شده و هم به این دلیل که اوبِرون به عنوان پادشاه الف‌ها مشهور است.[۶]

اوبرون توسط ویرت نگهداری می‌شد و آخرین به‌روزرسانی کامپایلر پروژه اوبرون در ۶ مارس ۲۰۲۰ انجام شده است.[۷]

طراحی

ویرایش

اوبرون با شعاری که به آلبرت اینشتین نسبت داده شده طراحی شده است: "همه چیز را تا حد امکان ساده کنید، اما نه ساده‌تر." راهنمای اصلی، تمرکز بر ویژگی‌های پایه‌ای و ضروری و حذف مسائل گذرا بود. عامل دیگر، شناسایی رشد پیچیدگی در زبان‌هایی مانند C++ و ایدا بود. در مقابل، اوبرون بر استفاده از مفهوم کتابخانه برای گسترش زبان تأکید می‌کند. نوع‌های شمارشی و زیرمحدوده‌ای که در مودولا-۲ حضور داشتند حذف شدند و نوع‌های مجموعه به مجموعه‌هایی از اعداد محدود شدند. تمام آیتم‌های وارد شده باید توسط نام ماژولی که در آن‌ها اعلام شده‌اند، مشخص شوند. امکانات سطح پایین تنها با اجازه استفاده در ماژولی که شامل شناسه SYSTEM در لیست واردات آن است برجسته می‌شوند. بررسی نوع سختگیرانه، حتی در ماژول‌ها، بررسی شاخص در زمان اجرا، بررسی اشاره‌گر خالی و مفهوم گسترش نوع امن، تا حد زیادی برنامه‌نویسی را به قوانین زبان متکی می‌سازد.

هدف این استراتژی تولید زبانی بود که یادگیری آن آسان‌تر، پیاده‌سازی آن ساده‌تر و بسیار کارآمد باشد. کامپایلرهای اوبرون به عنوان فشرده و سریع ارزیابی شده‌اند، در حالی که کیفیت کد تولید شده قابل مقایسه با کامپایلرهای تجاری است.[۸]

ویژگی‌ها

ویرایش

ویژگی‌های مشخص‌کننده زبان اوبِرون شامل موارد زیر است:[۹]

  • سینتکس حساس به حروف بزرگ و کوچک با کلمات کلیدی بزرگ
  • گسترش نوع با آزمون نوع
  • ماژول‌ها و کامپایل جداگانه
  • عملیات رشته‌ای
  • جداسازی کدهای ناامن
  • پشتیبانی از برنامه‌نویسی سیستم

منابع

ویرایش

تکامل اوبرون

ویرایش

مرجع‌ها

ویرایش
  1. Wirth, Niklaus (1987). From Modula to Oberon and the programming language Oberon (Report). ETH Technical Reports D-INFK. Vol. Band 82. Wiley. doi:10.3929/ethz-a-005363226.
  2. Wirth, Niklaus (July 1988). "The Programming Language Oberon". Software: Practice and Experience. 18 (7): 661–670. doi:10.1002/spe.4380180707.
  3. Wirth, Niklaus (July 1988). "From Modula to Oberon". Software: Practice and Experience. 18 (7): 671–690. doi:10.1002/spe.4380180706. S2CID 13092279.
  4. Wirth, Niklaus (April 1988). "Type Extensions". ACM Transactions on Programming Languages. 10 (2): 204–214. doi:10.1145/42190.46167. S2CID 15829497.
  5. Pountain, D. March 1991. "Modula's Children, Part II: Oberon". Byte. Vol. 16, no. 3. pp. 135–142.
  6. Wirth, Niklaus; Gutknecht, Jürg (1987–2021). "Project Oberon" (PDF).
  7. Wirth, Niklaus. "Oberon Change Log". ETH Zurich. Retrieved 16 January 2021.
  8. Mössenböck, Hanspeter. "Compiler Construction: The Art of Niklaus Wirth" (PDF). Johannes Kepler University.
  9. Wirth, Niklaus; Gutknecht, Jürg (1987–2021). "Project Oberon".