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

کرل زبان برنامه‌نویسی شی‌گرای انعکاسی برای برنامه‌های کاربردی وب تعاملی است، هدف انتقال راحت بین قالب بندی و برنامه نویسی است. این امکان باعث می‌شود که به اشیاء پیچیده در اسناد ساده بدون نیاز به سوئیچ بین زبان‌های برنامه نویسی و پایگاههای پیشرفته بدهد.
زبان در صدد است به رفع یک مشکل طولانی مدت: بلوک‌های مختلف ساختمان که هر سند وب مدرن را تشکیل می‌دهند که اغلب نیاز به روش‌های بسیار مختلف پیاده‌سازی دارد: زبان‌های مختلف، ابزارهای مختلف، قالب‌های مختلف، اغلب گروه‌ها کاملا متفاوت هستند. در نهایت - و اغلب دشوار‌ترین – جمع آوری همه این بلوکها در ارتباط با یکدیگر به شیوه‌ای سازگاراست. کرل تلاش می‌کند برای اجتناب ازین مشکلات توسط فراهم آوردن یک رابط نحوی و معنایی سازگار در تمام سطوح ایجاد محتوای وب: از HTML ساده تابرنامه نویسی شی گرا پیچیده.
کرل ترکیبی از متن نشانه گذاری (مشابه HTML) اسکریپتی (مشابه جاوا اسکریپت)، و محاسبات سنگین امری (مانند جاوا، #C، c++)در یک چارچوب واحد و یکپارچه است. به همین خاطر در طیف وسیعی از شرکت‌های داخلی، B2B B2C و برنامه‌های کاربردی استفاده می‌شود.
کرل یک زبان نشانه گذاری شبیه HTML-است که، متنی ساده به عنوان متن نشان داده شده است، در همان زمان، کرل شامل یک زبان برنامه نویسی شی گرا است که از ارث بری چندگانه پشتیبانی می‌کند. برنامه‌های کاربردی کرل به رعایت تفکیک اطلاعات، سبک و رفتار که HTML، شیوه نامه آبشاری (CSS)، و جاوا اسکریپت وضع کرده‌اند احتیاجی ندارد، همچنین آن سبک برنامه نویسی را می‌توان در صورت دلخواه در کرل استفاده کرد.
در حالی که زبان کرل را می‌توان به عنوان یک جایگزین HTML برای ارائه متن فرمت شده استفاده کرد، محدوده توانایی‌های آن در روش کامپایل، نوع داده‌ای قوی، سیستم زبان برنامه نویسی شی گرا هم می‌باشد.۱ هر دو تالیف (در سطح HTML) و ساختار برنامه در کرل را می‌توان در کد کاربر توسعه داد. زبان طراحی شده برنامه‌های کاربردی کرل می‌توانند به کد محلی ماشین مشتری توسط کامپایلر همزمان و اجرا با سرعت بالا ترجمه کنند.
مشاهده شده است که اپلتهای کرل از کرلRTE که یک محیط زمان اجرا با یک افزونه برای مرورگر وب است استفاده می‌کنند. در حال حاضر، در مایکروسافت ویندوز، لینوکس، و Mac OS X پشتیبانی می‌شود.
کرل یکی از ویژگی‌های اپلتهای جدا را برای چندین سال داشت، که یک اپلت وب گسترده شده است که به صورت مستقل روی کامپیوتر کاربر، یک پنجره مرورگر اجرا می‌شود همانند سیلورلایت ۳ و Adobe AIR. همچنین مرورگر مخصوص سایت را مشاهده کنید. اپلتهای کرل نیز می‌توانند نوشته شوند به طوری که آنها را آفلاین اجرا خواهد کرد. در واقع، IDE کرل یک برنامه نوشته شده به کرل است.
نحو
یک اپلت ساده کرل برای hello world هست:
{Curl 5.0, 6.0, 7.0 applet
{text
color = "blue",
font-size = 16pt,
Hello World
این کد را اجرا خواهد کرد در صورتی که کاربر حداقل یکی از نسخه‌های حلقه ۵٫۰، ۶٫۰، یا ۷٫۰ نصب کرده باشد.
کرل هر دو ماکروها و متن روش را علاوه بر روش‌های ناشناس و روش‌ها نام برده فراهم می‌کند. یک جایگزین با استفاده از پاراگراف متن روش خواهد بود:
{paragraph
paragraph-left-indent=۰٫۵in,
{text color = "red", font-size = 12pt,
Hello
{text color = "green", font-size = 12pt,
World
به تازگی این سبک از طرح توسط "سازندگان" در زبان Groovy برای JVM به تصویب رسیده است، اما همچنین برای کاربران CSS و Tcl / TK آشنا است. بیشترین امکانات را برای برنامه‌های کاربردی وب در حال حاضر از طریق ترکیبی از کتابخانه‌های جاوا اسکریپت + HTML + CSS در زبان کرل پیاده‌سازی کرد، از جمله ویژگی‌های معمول آن با نمونه اولیه + script.aculo.us مانند پانل آکوردئون همراه می‌شود.
کرل مجموعه فراخوانی مجدد در شیوه نیز توسط Groovy پذیرفته شده است:
{CommandButton width=100pt,
height = 50pt,
label = {center {bold Invokes an event handler when clicked,
control-color = "orange",
Attach the following event handler to this CommandButton
{on Action do
{popup-message
title = "Your Message",
"This is a user message dialog."
پیشنهاد کرل استفاده از نوار عمودی در برخی تغییرات است. ساده‌ترین به شرح زیر است:
{text A comment can be on a line by itself,
A comment on a line by itself
or it can be at the end
A comment on the same line as code
of a line.
کرل‌های نشانه گذاری به عنوان سبک وزن
از آنجا که کرل هر دو روش متن تعریف شده توسط کاربر و شیوه را فراهم می‌کند، کرل می‌تواند به آسانی به عنوان نشانه گذاری بسیار سبک وزن و دامنه خاص استفاده شود. مزیت عمده بر متن نشانه گذاری HTML این است که متن رابه عنوان مثال، utf-۸ پشتیبانی می‌کند. و متن را در یک ویرایشگر یونیکد فعال می‌کند بدون هیچ گونه صرف نظر کردن از کاراکتر (مانند جاوا اسکریپت، کرل یونیکد پسند است.) شعر به عنوان مثال خواهد بود:
{poem
wraps entire poem
{stanza
first verse here in any language
{stanza
another verse here in any language
که در ابتدا می‌تواند با تعریف شعر و نشانه گذاری بند به عنوان فرمت‌های متن پاراگراف اجرا شود. بند می‌تواند بیشتر تصفیه شده که شامل یک لنگر ناوبری مخفی برای ناوبری صفحه با استفاده از کرل {قسمت که خود یک روش متنی است.
همان نشانه گذاری می‌تواند برای نتایج مختلف استفاده شود، به عنوان یک سبک می‌تواند متن را در یک چارچوب قابل مشاهده کرده و در دیگر نامرئی باشد. کرل همچنین به ورود فایل سطح بالااجازه می‌دهدبه طوری که یک متن منبع در نشانه گذاری می‌توان در فایل پدر و مادرهای مختلف گنجانده شود. در آموزش، به عنوان مثال، یک نفر می‌تواند یک فایل منبع سوالات آزمون ایجاد، و آن را در هر دو دانشجو و یک نسخه معلم از متن قرار دهد.
Homoiconicity: کرل هم یک زبان برنامه نویسی و فرمت داده است