Hack (ծրագրավորման լեզու)

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Hack
Изображение логотипа
Տեսակծրագրավորման լեզու, reference implementation? և ազատ և բաց ծրագրային ապահովում
Առաջացել է2014
ՍտեղծողMeta Platforms
Ներշնչվել էPHP, Ջավա, C Sharp, OCaml?, Scala (ծրագրավորման լեզու) և Haskell
ԱրտոնագիրMIT արտոնագիր[1]
ՆախորդPHP
Կայքhacklang.org(անգլ.)
Ելակոդgithub.com/facebook/hhvm

Hack, PHP-ի նմանօրինակ ծրագրավորման լեզու, որը ստեղծել է Ֆեյսբուք ընկերությունը և ներկայացրել է 2014 թվականի մարտի 21-ին։ Համարվում է ազատ ծրագրային ապահովում և թողարկված է BSD License արտոնագրով[2][3]։

Hack֊ը ծրագրավորողներին թույլ է տալիս օգտագործել դինամիկ և ստատիկ մուտքագրում, որը կոչվում է աստիճանական մուտքագրում։ Այն օգտագործվում է նաև ծրագրավորման այլ լեզուներում, ինչպիսին է ActionScript[4]։

Լեզվի ստեղծման նպատակը PHP-ի մշակումների արագ ցիկլի համատեղումն էր հուսալիությանը և կատարողականությանը, որն ապահովում է ստատիկ մուտքագրում[5]։

Շարահյուսություն[խմբագրել | խմբագրել կոդը]

Hack լեզվի կոդի հիմնական կառուցվածքը նման է PHP կոդին՝ որոշակի տարբերությամբ։ Hack ֆայլն սկսվում է « <?hh »-ով՝ « <?php »-ի փոխարեն։

<?hh
echo 'Hello World';

PHP֊ի օրինակով վերևի կոդը բրաուզերին ելքային տվայլ հաղորդում է․

Hello World

Կարևոր առանձնահատկություններից մեկն այն է, որ ի տարբերություն PHP-ի, Hack և HTML կոդերը չեն միախառնվում։ Սովորաբար հնարավոր է մեկ ֆայլում միախառնել PHP և HTML կոդերն, օրինակ․

<html>
    <head>
        <title>PHP Test</title>
    </head>
    <body>
        <!-- hh և html չեն միախառնվում -->
        <?php echo '<p>Hello World</p>'; ?> 
    </body>
</html>

Կոդի մուտքագրման այս եղանակը չի աջակցում Hack-ը։

Ֆունկցիա[խմբագրել | խմբագրել կոդը]

Ֆունկցիան Fack-ում ունի նման կառուցվածք․

<?hh
// Hack functions are annotated with types.
function negate(bool $x): bool {
    return !$x;
}

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. https://github.com/facebook/hhvm/blob/master/hphp/hack/LICENSE
  2. Josh Lockhart (2014 թ․ ապրիլի 3). «Facebook's Hack, HHVM, and the future of PHP». O'Reilly Media. Արխիվացված է օրիգինալից 2019 թ․ հունվարի 7-ին. Վերցված է 2014 թ․ օգոստոսի 2-ին.
  3. Cade Metz (2014 թ․ մարտի 20). «Facebook Introduces 'Hack,' the Programming Language of the Future». Wired. Վերցված է 2014 թ․ ապրիլի 15-ին.
  4. Aseem Rastogi; Avik Chaudhuri; Basil Hosmer (January 2012). «The Ins and Outs of Gradual Type Inference» (PDF). Association for Computing Machinery (ACM). Վերցված է 2014 թ․ սեպտեմբերի 23-ին.
  5. Facebook Introduces ‘Hack,’ the Programming Language of the Future

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]