Curl

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


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