**Curl**, ռեֆլեքսային օբյեկտ կողմնորոշված ծրագրավորման լեզու, որը ստեղծվել է ինտերակտիվ վեբ ծրագրեր գրելու համար։ Այն իր մեջ միավորում է ինչպես տեքստի նշագրման (ինչպես HTML-ում), սկրիպտների գրման (ինչպես JavaScript-ում) հնարավորությունները, այնպես էլ բավականին հզոր հաշվողական համակարգ (ինչպես Java, C# և C++ լեզուներում)։ Լեզուն հիմնականում օգտագործվում է ներկորպորատիվ խնդիրների լուծման համար, B2B և B2C ծրագրերով։

Curl ծրագիրը չի պահանջում տեղեկատվության փոխանցման պահպանում, ոճավորում և վարքագիծ, ինչպես այն արված է HTML-ի, CSS-ի և JavaScript-ի համար, չնայած անհրաժեշտության դեպքում ծրագրավորման այդ ոճն ամբողջությամբ կարող է օգտագործվել Curl-ում։

Մի կողմից Curl լեզուն կարելի է օգտագործել որպես HTML լեզվի փոխարինող՝ ֆորմատավորված տեքստի ներկայացման համար, մյուս կողմից՝ նրա հնարավորությունները չեն զիջում կոմպիլացվող, հզոր տիպավորված օբյեկտ կողմնորոշված ծրագրավորման լեզուներին։ Լեզուն մշակված է այնպես, որպեսզի Curl ծրագիրը կարողանա կոմպիլացնի սեփական կոդը կլիենտի մեքենայում JIT կոմպիլացիայի կիրառման միջոցով։ Դրա շնորհիվ ապահովում է բավականին մեծ արագություն։

Curl հավելվածները հնարավոր է դիտել վեբ դիտարկիչներում Curl RTE փլագիններով։ Այս պահին աջակցում է Microsoft Windows, Linux և Macintosh հարթակներում։ Curl-ը մի քանի տարի շարունակ ունի հավելվածների հետ անկախ աշխատելու հնարավորություն, այսինքն համակարգչի աշխատանքային սեղանին աշխատող վեբ-հավելվածը կախված չէ վեբ դիտարկչից, ինչպես այն արված է Silverlight 3 և Adobe AIR-ում։ Curl հավելվածները կարող են ստեղծվել նաև այն կերպ, որպեսզի դրանք հնարավոր լինի գործարկել ցանցից անջատված վիճակում։ Փաստացի Curl IDE-ն իրենից ներկայացնում է Curl-ով գրված ծրագիր։

Շարահյուսություն
----------------

Պարզ «HelloWorld» Curl հավելվածն ունի այս տեսքը․

````
{Curl 5.0, 6.0, 7.0 applet}
{text
   color = "blue",
   font-size = 16pt,
   Hello World}
````

Այս կոդը կաշխատի միայն եթե օգտագործողն ունի տեղադրված Curl առնվազն 5.0, 6.0 կամ 7.0 տարբերակներից մեկը։

Curl-ն ապահովում է մակրոսների աջակցություն և տեքստերի մշակում։

Տեքստային *paragraph* ընթացակարգի այլընտրանքային կիրառում կարող է լինել․

````
{paragraph
   paragraph-left-indent=0.5in,
   {text color = "red", font-size = 12pt,
     Hello}
   {text color = "green", font-size = 12pt,
     World}}
````

JavaScript + HTML + CSS գրադարանների համադրության վրա հիմնված RIA-ի հնարավորությունների մեծ մասը վաղուց կիրառվում է Curl-ում, այդ թվում այնպիսի հնարավորություններ, որոնք սովորաբար ասոցացվում են Prototype + Scriptaculous-ի հետ, ինչպես օրինակ էջանիշների հավաքածուն (accordion panes)։

Curl-ը հետադարձ կանչը (callbacks) կատարում է այն ոճով, ինչ որ ընդունված է 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 = "Ձեր հաղորդագրությունը",
           "Սա օգտագործողի հետ զրույցի հաղորդագրություն է"
       }
   }}
````

Curl-ում կոդը մեկնաբանելու համար օգտագործվում է մի քանի տարբերակով օգտագործվող ուղղահայաց զույգ գծիկները։ Ահա պարզ օրինակ․

````
{text A comment can be on a line by itself,
*|| Տողային մեկնաբանություն*
or it can be at the end *|| Մեկնաբանությունում կոդի տողում*
of a line.}
````

Տեղաբաշխում
-----------

Curl, Inc. շտաբ գրասենյակը տեղակայված է Մասաչուսեթս նահանգի Քեմբրիջ քաղաքում և հանդիսանում է Sumisho Computer Systems Corp.-ի դուստր ընկերությունը։ Կոմերցիոն Curl օգտատերերի մեծ մասը տեղաբաշխված է Ճապոնիայում և ասիական այլ երկրներում, սակայն Curl-ն ամբողջությամբ հասանելի է նաև Արևմուտքում։

Curl-ը ոչ կոմերցիոն օգտագործման համար անվճար է։ Առկա է նաև մասնագիտացված տարբերակը, որն օժտված է լրացուցիչ հնարավորություններով։

Ծանոթագրություններ
------------------

1. ↑  Curl RTE 8.0.13 and Curl CDE 8.0.13001 is released.
2. ↑  "Curl Paper (WWW Journal Draft)". Արխիվացված է the original 2008 թ․ դեկտեմբերի 24-ին. Retrieved 2018 թ․ մարտի 23. `{{cite web}}`: Unknown parameter `|dead-url=` ignored (`|url-status=` suggested) (help)