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

از ویکی‌پدیا، دانشنامهٔ آزاد
تورینگ (زبان برنامه‌نویسی)
پارادایم برنامه‌نویسیپارادایم برنامه‌نویسی: برنامه‌نویسی شیءگرا، برنامه‌نویسی رویه‌ای
طراحی شده توسطRic Holt و James Cordy
توسعه‌دهندهHolt Software Associates
ظهوریافته در۱۹۸۲
static, manifest
سیستم‌عاملمایکروسافت ویندوز
پیاده‌سازی‌های بزرگ
Turing, TPlus, OpenT
گویش
تورینگ (زبان برنامه‌نویسی)، تورینگ (زبان برنامه‌نویسی)
متأثر از
Euclid، پاسکال (زبان برنامه‌نویسی)، SP/k

تورینگ یک زبان برنامه‌نویسی شبیه پاسکال است که در ۱۹۸۲ توسط Ric Holt و James Cordy در دانشگاه تورنتوی کانادا ایجاد شد. زبان تورینگ تأثیر گرفته از زبان‌های Euclid، پاسکال و SP/K می‌باشد که از ویژگی‌های این زبان، نحو واضح و روشن، همچنین دارا بودن معانی وابسته به ماشین به شکل مختصر و مفید است.

نام این زبان از نام آلن تورینگ دانشمند علوم کامپیوتر اهل بریتانیا گرفته شده‌است. از زبان تورینگ به‌طور عمده به عنوان یک زبان آموزشی در سطح دبیرستان و دانشگاه استفاده می‌شود. دو نسخه دیگر Object-Oriented turing و Turing plus برای سیستم‌های مختلف برنامه‌نویسی به وجود آمدند. در سپتامبر ۲۰۰۱، Object-Oriented Turing به Turing تغییر نام داد و زبان اصلی Turing نیز Classic Turing نامیده شد. تورینگ پس از مدتی دیگر توسط «شرکت نرم‌افزاری هولت» حمایت نشد. در حال حاضر مایکروسافت ویندوز تنها پلت فرمی است که از این زبان حمایت می‌کند. تورینگ در ابتدا به‌طور گسترده در دبیرستان‌های Ontario به عنوان مقدمه‌ای برای برنامه‌نویسی استفاده می‌شد.

در ۲۸ نوامبر ۲۰۰۷، زبان تورینگ که قبلاً یک زبان برنامه‌نویسی تجاری بود، نرم‌افزاری رایگان شدکه از وبسایت توسعه دهندگان آن قابل بارگیری است و بدون پرداخت هزینه‌ای می‌توان از آن برای مصارف شخصی، تجاری و آموزشی استفاده کرد.

سازندگان تورینگ، یعنی شرکت نرم‌افزاری هولت، از آن روز دست از کار کشیده‌اند. معلوم نیست آیا تورینگ هنوز در حال توسعه‌است یا نه، اما هیچ انتشار جدیدی از ۲۵ نوامبر ۲۰۰۷ نداشته‌است.

نحو[ویرایش]

تورینگ طوری طراحی شده‌است که دارای نحو بسیار ساده، خوانا و همچنین قابل درک به صورت مستقیم و شهودی باشد. اینجا برنامه Hello World! در زبان تورینگ به‌طور کامل آمده‌است:

put "Hello World!"

زبان تورینگ از سمی کالن و آکولاد اجتناب می‌کند و در عوض از نشانه‌های صریح end برای بیشتر ساختارهای زبان استفاده می‌کند و در اینجا یک برنامهٔ کامل با استفاده از تعریف سنتی تابع بازگشتی برای محاسبه فاکتوریل آورده شده‌است:

 % Accepts a number and calculates its factorial
 function factorial (n: int): real
 if n = 0 then
 result 1
 else
 result n * factorial (n - 1)
 end if
 end factorial
 var n: int
 loop
 put "Please input an integer: " ..
 get n
 exit when n>= 0
 put "Input must be a non-negative integer."
 end loop
 put "The factorial of ", n, " is ", factorial (n)

پیاده سازی باز[ویرایش]

در حال حاضر، دو پیاده‌سازی open source جایگزین وجود دارد، یکی Tplus که یک کامپایلر محلی برای زبان برنامه‌نویسی سیستم‌های همزمان Turing plus است و دیگری OpenT که یک سیستم جدید است که در حال حاضر در حال توسعه است.

Tplus[ویرایش]

Tplus یک پیاده‌سازی open source از زبان تورینگ اصلی است که در دانشگاه تورنتو توسعه یافت و در دانشگاه Queen's در اواخر ۱۹۹۰ به لینوکس، سلاریس و مکینتاش منتقل شد. Tplus , Turing را که یک زبان برنامه‌نویسی سیستم‌های همزمان بر اساس زبان تورینگ اصلی است، پیاده‌سازی می‌کند. برخی، اما نه همهٔ ویژگی‌های Turing plus در زبان فعلی Object-Oriented turing وجود دارند. Turing plus، تورینگ اصلی را با پردازش‌ها و نمایشگرها، همچنین توسط ساختارهای زبان که برای برنامه‌نویسی سیستم احتیاج داریم مانند ورودی – خروجی دودویی، کامپایل جداگانه، متغیرها در آدرس‌های مطلق، تبدیل نوع و دیگر ویژگی‌ها، توسعه می‌دهد.

OpenT[ویرایش]

OpenTیک زبان open source، کامپایلر و محیط برنامه‌نویسی (IDE)است که توسط اعضای dteam از علوم کامپیوتر کانادا طراحی شده‌است. این زبان شباهت‌های بسیاری با Turing دارد و بطور کامل با آن سازگار است. OpenT در اصل ایجاد شد تا از خاصیت محفوظ بودن (وابسته به مالک بودن) Turing جلوگیری کند اگر چه پیاده‌سازی کامل تورینگ اصلی Holt Software، در حال حاضر به open-source تبدیل شده‌است.

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

  • Holt, Richard C (1988). "The Turing programming language". Communications of the ACM. 31 (12): 1410–1423. doi:10.1145/53580.53581. {{cite journal}}: |access-date= requires |url= (help); Text "Cordy, James R" ignored (help)
  • Holt, Richard C; Matthews, Philip A; Rosselet, J Alan; Cordy, James R (1988). The Turing programming language: design and definition. Englewood Cliffs, New Jersey: Prentice Hall. ISBN 978-0-13-933136-7. OCLC 17377539. {{cite book}}: Text "Englewood Cliffs, N.J." ignored (help)
  • Forum for Turing Help, Tutorials، & Source Code