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

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

Նշագրման լեզուներ