کرل (زبان برنامه‌نویسی)
کرل زبان برنامه‌نویسی شی‌گرای انعکاسی برای برنامه‌های کاربردی وب تعاملی است، هدف انتقال راحت بین قالب‌بندی و برنامه‌نویسی است. این امکان باعث می‌شود که به اشیاء پیچیده در اسناد ساده بدون نیاز به سوئیچ بین زبان‌های برنامه‌نویسی و پایگاه‌های پیشرفته بدهد.
زبان در صدد است به رفع یک مشکل طولانی مدت، بلوک‌های مختلف ساختمان که هر سند وب مدرن را تشکیل می‌دهند که اغلب نیاز به روش‌های بسیار مختلف پیاده‌سازی دارد؛ زبان‌های مختلف، ابزارهای مختلف، قالب‌های مختلف، اغلب گروه‌ها کاملاً متفاوت هستند. در نهایت (و اغلب دشوارترین) جمع‌آوری همه این بلوک‌ها در ارتباط با یکدیگر به شیوه‌ای سازگار است. کرل تلاش می‌کند برای اجتناب از این مشکلات توسط فراهم آوردن یک رابط نحوی و معنایی سازگار در تمام سطوح ایجاد محتوای وب (از HTML ساده تا برنامه‌نویسی شی‌گرا پیچیده).
کرل ترکیبی از متن نشانه گذاری (مشابه HTML) اسکریپتی (مشابه جاوا اسکریپت)، و محاسبات سنگین امری (مانند جاوا، #C، c++) در یک چارچوب واحد و یکپارچه است. به همین خاطر در طیف وسیعی از شرکت‌های داخلی، B2B B2C و برنامه‌های کاربردی استفاده می‌شود.
کرل یک زبان نشانه گذاری شبیه HTML است که متنی ساده به عنوان متن نشان داده شده‌است؛ در همان زمان، کرل شامل یک زبان برنامه‌نویسی شی‌گرا است که از ارث‌بری چندگانه پشتیبانی می‌کند. برنامه‌های کاربردی کرل به رعایت تفکیک اطلاعات، سبک و رفتار که HTML، شیوه نامه آبشاری (CSS)، و جاوا اسکریپت وضع کرده‌اند احتیاجی ندارد، همچنین آن سبک برنامه‌نویسی را می‌توان در صورت دلخواه در کرل استفاده کرد.
در حالی که زبان کرل را می‌توان به عنوان یک جایگزین HTML برای ارائه متن فرمت شده استفاده کرد، محدودهٔ توانایی‌های آن در روش کامپایل، نوع داده‌ای قوی، سیستم زبان برنامه‌نویسی شی‌گرا هم می‌باشد.
هر دو تألیف (در سطح HTML) و ساختار برنامه در کرل را می‌توان در کد کاربر توسعه داد. زبان طراحی شده برنامه‌های کاربردی کرل می‌توانند به کد محلی ماشین مشتری توسط کامپایلر همزمان و اجرا با سرعت بالا ترجمه کنند.
مشاهده شده‌است که اپلت‌های کرل از کرل RTE که یک محیط زمان اجرا با یک افزونه برای مرورگر وب است استفاده می‌کنند. در حال حاضر، در مایکروسافت ویندوز، لینوکس و مک او اس پشتیبانی می‌شود.
کرل یکی از ویژگی‌های اپلت‌های جدا را برای چندین سال داشت، که یک اپلت وب گسترده شده‌است که به صورت مستقل روی کامپیوتر کاربر، یک پنجره مرورگر اجرا می‌شود همانند سیلورلایت ۳ و Adobe AIR. همچنین مرورگر مخصوص سایت را مشاهده کنید. اپلت‌های کرل نیز می‌توانند نوشته شوند به طوری که آن‌ها را آفلاین اجرا خواهد کرد. در واقع، IDE کرل یک برنامه نوشته شده به کرل است.
یک اپلت سادهٔ کرل برای hello world هست:
codice_1
این کد را اجرا خواهد کرد در صورتی که کاربر حداقل یکی از نسخه‌های حلقه ۵٫۰، ۶٫۰، یا ۷٫۰ نصب کرده باشد.
کرل هر دو ماکروها و متن روش را علاوه بر روش‌های ناشناس و روش‌ها نام برده فراهم می‌کند. یک جایگزین با استفاده از پاراگراف متن روش خواهد بود:
codice_2
به تازگی این سبک از طرح توسط "سازندگان" در زبان Groovy برای JVM به تصویب رسیده است، اما همچنین برای کاربران CSS و Tcl / TK آشنا است. بیشترین امکانات را برای برنامه‌های کاربردی وب در حال حاضر از طریق ترکیبی از کتابخانه‌های جاوا اسکریپت + HTML + CSS در زبان کرل پیاده‌سازی کرد، از جمله ویژگی‌های معمول آن با نمونه اولیه + script.aculo.us مانند پانل آکوردئون همراه می‌شود. کرل مجموعه فراخوانی مجدد در شیوه نیز توسط Groovy پذیرفته شده‌است:
codice_3
پیشنهاد کرل استفاده از نوار عمودی در برخی تغییرات است. ساده‌ترین به شرح زیر است:
codice_4
از آنجا که کرل هر دو روش متن تعریف شده توسط کاربر و شیوه را فراهم می‌کند، کرل می‌تواند به آسانی به عنوان نشانه گذاری بسیار سبک وزن و دامنه خاص استفاده شود. مزیت عمده بر متن نشانه گذاری HTML این است که متن رابه عنوان مثال، utf-۸ پشتیبانی می‌کند. و متن را در یک ویرایشگر یونیکد فعال می‌کند بدون هیچ گونه صرف نظر کردن از کاراکتر (مانند جاوا اسکریپت، کرل یونیکد پسند است.) شعر به عنوان مثال خواهد بود:
codice_5
که در ابتدا می‌تواند با تعریف شعر و نشانه گذاری بند به عنوان فرمت‌های متن پاراگراف اجرا شود. بند می‌تواند بیشتر تصفیه شده که شامل یک لنگر ناوبری مخفی برای ناوبری صفحه با استفاده از کرل {قسمت} که خود یک روش متنی است.
همان نشانه گذاری می‌تواند برای نتایج مختلف استفاده شود، به عنوان یک سبک می‌تواند متن را در یک چارچوب قابل مشاهده کرده و در دیگر نامرئی باشد. کرل همچنین به ورود فایل سطح بالااجازه می‌دهدبه طوری که یک متن منبع در نشانه گذاری می‌توان در فایل پدر و مادرهای مختلف گنجانده شود. در آموزش، به عنوان مثال، یک نفر می‌تواند یک فایل منبع سوالات آزمون ایجاد، و آن را در هر دو دانشجو و یک نسخه معلم از متن قرار دهد.