کولا (زبان برنامه‌نویسی)
کولا زبان برنامه نویسی شبیه به جاوا و سی شارپ با برخی از ویژگی‌های سطح بالاتر از پرل و روبی از جمله عبارات منظم طبقه اول است. می‌تواند توسطMicrosoft .NET CLR یا Parrot virtual machine کامپایل شود کولا یک زبان کامپایل شده با بررسی نوع ایستاست، اما طراح برخی از ویژگی‌های عام تر زبان‌های اسکریپت نویسی مانند پرل و روبی را با آن آمیخته است. بر طبق آنچه نویسنده بیان کرده‌است، بعد از سال‌ها استفاده از جاوا و سی پلاس پلاس برای پروژه‌های بزرگ و پرل برای پروژه‌های کوچک تا متوسط به نظر می‌رسید هیچ زبانی فاصله بین این دو را پر نخواهد کرد. کولا بیشتر ترکیبی از چند زبان قدرتمند با در نظر گرفتن اصول کلیدی زیر است تا طراحی یک زبان جدید: با داشتن براکت‌ها و سمی کالن در کولا، برنامه نویسان سی پلاس پلاس، جاوا و پرل باید راحت باشند و فضای سفید هیچ تأثیری روی نحو ندارد. کنوانسیون بر کد - مطالبی که قرار دادیند نیاز به اعلان صریح ندارند.
از قرارداد کد برای کاهش در هم ریختگی کلمه کلیدی و افزایش خوانایی استفاده کنید. بیان یک ایده و اجرای ان را با هم اشتباه نکنید. جاوا و C# این را به صورت یک انتخاب ضعیف از حوزه پیش‌فرض دسترسی به زمینه هاو توابع نمایش می‌دهند که تضمین می‌کنند بهره‌وری فایل‌های منبع با حوزه دسترسی کلمات کلیدی غربال می‌شود. برای مثال استفاده از کلمه کلیدی publicبر اساس آنالیز کد منبع نمونه‌های واقعی، بر گرامر C#و جاوا غلبه می‌کند. کولا پیش فرض‌های متفاوتی را ایجاد می‌کند، به علاوه از سبک بخش‌های حوزه دسترسی C++ که نباید به ازای هر عضو یک کلمه کلیدی داشت پشتیبانی می‌کند.
. رشته‌ها و پردازش متن اولین اولویت هستند—بیشتر برنامه‌ها شامل رشته‌ها و دستکاری متن می‌باشند. حمایت از عبارت منظم به طرز چشمگیری قدرت زبان را افزایش می‌دهد، اما نحو داخلی برای عبارات منظم خوانایی را افزایش می‌دهد و ترکیب این دو عملکرد برنامه را ارتقاء می‌دهد. در شرایط مقداردهی یا استفاده از یک متغیرغیر رشته‌ای دررشته، یا متون مبهم، کولا در صورت امکان متغیر را به رشته تبدیل می‌کند، به جای آن که باعث یک تبدیل نوع خارجی شود. سوئیچ کامپایلری می‌تواند حالت خطا یا هشدار در مورد تبدیل نوع خودکار را فعال کند.
برنامه Hello World! به سه روش زیر نوشته می‌شود:
به جای استفاده از سازنده‌های اسمی متناظر با نام کلاس در زبان‌های سنتی C++ / جاوا / C#، کولا از new , delete به عنوان سازنده و مخرب به منظور ساده‌سازی ظاهر کد و ارتقای عملکرد چینش و الصاق استفاده می‌کند.
کولا هر دو حالت پیشوندی و پسوندی و هر دو حالت ایستا و پویا برای تعریف ابعاد یک آرایه را ارائه می‌کند. این یک امکان کاربردی برای برنامه نویس است که به راحتی از پیشینه برنامه نویسی خود استفاده کند و آرایه‌های ایستا را کاهش دهد.
یک مثال از پشتیبانی کولا از عبارات منظم و تطابق در زیر آمده‌است. ابتدا یک مثال معمولی که ظاهر Perl را باز تولید می‌کند.
کولا شامل یک علامت گذاری متن بسیار قوی برای تطابق با نام match aliasing می‌شود. به عبارت ساده، هر عبارت تطابقی می‌تواند به عنوان یک شی از نوع match تعریف می‌شود. به سادگی این شی را به عنوان بخشی از عبارت قرار دهید. (مشابه با اساس تعریف یک تکرارکننده دارای نام در C++ و جاوا در یک حلقه for)
برای حوزه عبارت if،match1 در حوزه است و می‌تواند برای وضوح به کار رود. مزیت match aliasing هنگامی که ما تطابق‌های لانه‌ای متعدد داریم بیشتر مشهود است. if(str =~ /foo(bar)/ as match1) { کولا چند استنتاج نوع ایستا با استفاده از کلمه کلیدی var(مشابه C#) یا یک دستور new دارد که نوع از سمت راست استنتاج می‌شود.
همچنین از سازنده موازی برای ساخت یک شی از شی دیگر پشتیبانی می‌شود.
کولا شامل یک عبارت foreach()نیز می‌شود که در حال حاضر روی آرایه‌ها و انواع داده‌ای داخلی دات نت موجود در system.collections و هر کلاسی که دارای تابع IEnumerator GetEnumerator()"" باشد را پشتیبانی می‌کند. foreach در کولامشابه با C# است که کد تکرار آرایه را هنگام استفاده از آرایه تولید می‌کند یا از واسط IEnumerator خروجی GetEnumeratorاستفاده می‌کند. استفاده از بسیاری از کتابخانه‌های CLR دات نت ممکن است.
ویکی‌پدیای انگلیسی