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

از ویکی‌پدیا، دانشنامهٔ آزاد
پیکو (زبان برنامه نویسی)
پارادایم برنامه‌نویسیReflective، برنامه‌نویسی رویه‌ای
توسعه‌دهندهدانشگاه وریج بروکسل
ظهوریافته در۱۹۹۷؛ ۲۷ سال پیش (۱۹۹۷-خطا: زمان نامعتبر}})
وبگاه
متأثر از
اسکیم

پیکو یک زبان برنامه نویسی است که در آزمایشگاه زبان‌های نرم‌افزاری دانشگاه وریجه بروسل توسعه داده شد. این زبان جهت معرفی الزامات برنامه‌نویسی به دانشجویان غیر از علوم کامپیوتر تولید شد.

می‌توان به پیکو به عنوان یک زبان ساده و لذت‌بخش برای افرادی که نمی‌خواهند برای قدرت و ظرافت یک زبان مطالعه کنند نگاه کرد. این کار با اقتباس از معناشناسی زبان اسکیم انجام شد.

آزمایشگاه زبان‌های نرم‌افزاری، در هنگام طراحی پیکو از کتاب «ساختار و ترجمه برنامه‌های کامپیوتری» نوشته آیبلسون و ساسمن، و روش‌های آموزش برنامه‌نویسی در دبیرستان‌ها و دانشگاه‌ها ایده گرفت.

بهتر است پیکو را «کوچک» ترجمه کرد، چراکه ایده پشت این زبان ایجاد یک زبان کوچک برای اهداف آموزشی بوده‌است.

المان‌های زبان[ویرایش]

کامنت‌ها[ویرایش]

کامنت‌ها با قراردادن متن بین علامت‌های اکسان گراو (`) ایجاد می‌شوند.

متغیرها[ویرایش]

متغیرها به طور پویا نوع‌دهی می‌شوند و پیکو از حوزه‌های استاتیک استفاده می‌کند.

var: value

توابع[ویرایش]

در پیکو توابع اشیا رده اول هستند و می‌توانند به عنوان مقدار متغیرها استفاده شوند. به عنوان مثال یک تابع با دو پارامتر param1 و param2 می‌توانید اینگونه تعریف شود:

func(param1, param2): ...

فراخوانی توابع به صورت زیر انجام می‌شود:

func(arg1, arg2)

عملگرها[ویرایش]

در پیکو عملگرها را می‌توان به صورت پیشوندی یا میانوندی استفاده کرد:

+(5, 2)
5 + 2

انواع داده‌ها[ویرایش]

پیکو این نوع داده‌ها را پشتیبانی می‌کند: رشته، اعداد صحیح، حقیقی و جداول.

این زبان به صورت بومی از نوع داده کاراکتری پشتیبانی نمی‌کند و کاربران مجبور به استفاده از رشته‌های با سایز ۱ هستند.

جداول ساختارهای داده‌ای مرکبی هستند که می‌توانند هر کدام از انواع داده پشتیبانی شده توسط زبان را در خود نگه دارند.

نوع داده بولی با استفاده از توابع پیاده‌سازی می‌شود (همانند حساب لامبدا).

ساختارهای کنترلی[ویرایش]

ارزیابی شرطی[ویرایش]

در این زبان فقط دستور if عادی پیاده‌سازی شده است.

if(condition, then, else)

نمونه کد[ویرایش]

display('Hello World', eoln)
max(a, b):
 if(a <b, b, a)
`http://www.paulgraham.com/accgen.html`
foo(n): fun(i): n := n+i

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

سیستم عامل مک[ویرایش]

ویندوز[ویرایش]

لینوکس[ویرایش]

چند پلترفمی[ویرایش]

پیوند به بیرون[ویرایش]