تورینگ (زبان برنامهنویسی)
تورینگ یک زبان برنامهنویسی شبیه پاسکال است که در ۱۹۸۲ توسط Ric Holt و James Cordy در دانشگاه تورنتوی کانادا ایجاد شد. زبان تورینگ تأثیر گرفته از زبانهای Euclid، پاسکال و SP/K میباشد که از ویژگیهای این زبان، نحو واضح و روشن، همچنین دارا بودن معانی وابسته به ماشین به شکل مختصر و مفید است.
الگو برنامهنویسی | پارادایم برنامهنویسی: برنامهنویسی شیءگرا، برنامهنویسی رویهای |
---|---|
طراحی شده توسط | Ric Holt و James Cordy |
توسعهدهنده | Holt Software Associates |
ظهوریافته در | ۱۹۸۲ |
static, manifest | |
سیستمعامل | مایکروسافت ویندوز |
پیادهسازیهای بزرگ | |
Turing, TPlus, OpenT | |
گویش | |
تورینگ (زبان برنامهنویسی)، تورینگ (زبان برنامهنویسی) | |
متأثر از | |
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. Text "Cordy, James R" ignored (help); Unknown parameter
|month=
ignored (help); Unknown parameter|coauthors=
ignored (|author=
suggested) (help);|access-date=
requires|url=
(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. Text "Englewood Cliffs, N.J." ignored (help)
- Forum for Turing Help, Tutorials، & Source Code