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

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
کرل
پرونده:Curl logo.gif
پارادایم(ها) پارادایم برنامه‌نویسی: برنامه‌نویسی شیءگرا, زبان نشانه‌گذاری
تاریخ ظهور ۱۹۹۸
طراح Steve Ward, مؤسسه فناوری ماساچوست
توسعه‌دهنده Curl, Inc. , Sumisho Computer Systems Corp. , SCSK Corporation
انتشار پایدار ۸٫۰٫۳ (۲۹ نوامبر ۲۰۱۲؛ ۶۶۲ روز پیش)
تایپ‌سیستم strong
شاخه‌ها none
تأثیرگرفته از اچ‌تی‌ام‌ال, جاوااسکریپت, لیسپ
سیستم‌عامل چندسکویی: مایکروسافت ویندوز, لینوکس, اواس ده

کرل زبان برنامه‌نویسی (به انگلیسی: Curl) شی‌گرای انعکاسی برای برنامه‌های کاربردی وب تعاملی است، هدف انتقال راحت بین قالب بندی و برنامه نویسی است. این امکان باعث می‌شود که به اشیاء پیچیده در اسناد ساده بدون نیاز به سوئیچ بین زبان‌های برنامه نویسی و پایگاههای پیشرفته بدهد.

زبان در صدد است به رفع یک مشکل طولانی مدت: بلوک‌های مختلف ساختمان که هر سند وب مدرن را تشکیل می‌دهند که اغلب نیاز به روش‌های بسیار مختلف پیاده‌سازی دارد: زبان‌های مختلف، ابزارهای مختلف، قالب‌های مختلف، اغلب گروه‌ها کاملا متفاوت هستند. در نهایت - و اغلب دشوار ترین – جمع آوری همه این بلوکها در ارتباط با یکدیگر به شیوه‌ای سازگاراست. کرل تلاش می‌کند برای اجتناب ازین مشکلات توسط فراهم آوردن یک رابط نحوی و معنایی سازگار در تمام سطوح ایجاد محتوای وب: از 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: کرل هم یک زبان برنامه نویسی و فرمت داده است

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

پیوندهای اضافه[ویرایش]

جستجو در ویکی‌نَسک در ویکی‌کتاب کتابی با عنوان: Curl وجود دارد.