ہیک (پروگرامنگ زبان)
اشاعت | 2014 |
---|---|
ڈیزائنر | Julien Verlaguet, Alok Menghrajani, and others[1] |
ترقی دہندہ | فیس بک |
شعبہ تحریر | static , dynamic , weak |
متاثر | پی ایچ پی, Java, C# |
آپریٹنگ سسٹم | کراس پلیٹ فارم |
اجازت نامہ | BSD License[2] |
ویب سائٹ | hacklang |
ہیک (انگریزی: Hack) ایک پروگرامنگ زبان ہے جو ہپ ہاپ ورچول مشین (HipHop Virtual Machine) کے لیے تیار کی گئی ہے۔ اس زبان کو فیس بک نے تیار کرکے آزاد مصدر رکھا ہے اور بی ایس ڈی اجازت نامہ کے تحت جاری کیا ہے۔[3][4]
ہیک کو پی ایچ پی کا نیا ورژن کہا جا سکتا ہے، لیکن ہیک زبان پروگرامرز کو ڈائنامک اور سٹیٹک دونوں قسم کی ٹائپنگ کی سہولت فراہم کرتی ہے، جسے گریجول ٹائپنگ (gradual typing) کہا جاتا ہے۔ ہیک کا ٹائپ سسٹم ان تمام اقسام کی سہولت فراہم کرتا ہے جن کے ذریعہ فنکشن آرگیومنٹس (function arguments)، فنکشن کی ریٹرن ویلیوز (function return values) اور کلاس پراپرٹیز (class properties) کو مختص کیا جاتا ہے، البتہ مقامی متغیرات کے اقسام کو مختص (specify) نہیں کیا جا سکتا۔[5][6]
تاریخ
[ترمیم]ہیک زبان 20 مارچ، 2014ء کو متعارف کرائی گئی۔[7] اس نئی پروگرامنگ زبان کے باضابطہ عمومی اعلان سے قبل فیس بک نے خود اپنی ویب سائٹ پر اس کے کوڈ کو استعمال کیا اور بڑے پیمانے پر اس کی جانچ پڑتال کی۔
خصوصیات
[ترمیم]ہیک زبان پی ایچ پی کی طرح ہی کام کرتی ہے، پی ایچ پی ویب پر عمومی مقاصد کے لیے انتہائی زیادہ مستعملاسکرپٹنگ زبان ہے جو بالخصوص ویب ڈویلپمنٹ کے لیے انتہائی مناسب ہے اور ایچ ٹی ایم ایل میں ضم بھی ہوجاتی ہے۔ پی ایچ پی کی اکثراسکرپٹس ہیک زبان میں بھی درست کام کرتی ہیں، تاہم پی ایچ پی کے کم استعمال ہونے والی خصوصیات کو ہیک معاونت فراہم نہیں کرتی۔[8]
زبان کی نحو
[ترمیم]ہیکاسکرپٹ کا بنیادی خاکہ معمولی تبدیلیوں کے ساتھ پی ایچ پیاسکرپٹ کی طرح ہی ہوتا ہے۔ ہیک فائل کا آغاز
سے ہوتا ہے، جبکہ پی ایچ پیاسکرپٹ کا آغاز
سے ہوتا ہے۔
<?hh
echo 'Hello World';
درج بالااسکرپٹ چلنے کے بعد براؤزر میں ذیل کے نتائج دکھائے گی:
Hello World
یہاں ایک انتہائی ضروری بات یاد رکھنے کی ہے کہ پی ایچ پی کی طرح ہیک زبان میں ہیک اور ایچ ٹی ایم ایل کوڈ کو ضم نہیں کیا جا سکتا۔ عموما پی ایچ پی اور ایچ ٹی ایم ایل کو ایک ہی فائل میں اس طرح ضم کیا جاتا ہے:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<!-- hh and html do not mix -->
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
اس طرز کی کوڈنگ کو ہیک معاونت فراہم نہیں کرتی۔[8]
فنکشنز
[ترمیم]ہیک زبان ان تمام اقسام کی سہولت فراہم کرتی ہے جن کے ذریعہ فنکشن آرگیومنٹس (function arguments) اور فنکشن کی ریٹرن ویلیوز (function return values) کو مختص کیا جاتا ہے۔ ہیک میں متعدد اقسام کے فنکشنز ذیل میں ملاحظہ کریں:
<?hh
// Hack functions are annotated with types.
function negate(bool $x): bool {
return !$x;
}
مزید دیکھیے
[ترمیم]حوالہ جات
[ترمیم]- ↑ "Contributors to facebook/hhvm"۔ Github.com۔ اخذ شدہ بتاریخ 2014-03-25
- ↑ "facebook/hhvm"۔ github.com۔ فیس بک۔ 20 مارچ 2014۔ 2019-01-07 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-08-11
{{حوالہ ویب}}
: پیرامیٹر|section=
نظر انداز کر دیا گیا (معاونت) - ↑ Josh Lockhart (3 اپریل 2014)۔ "Facebook's Hack, HHVM, and the future of PHP"۔ O'Reilly Media۔ 2019-01-07 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-08-02
- ↑ Cade Metz (20 مارچ 2014)۔ "Facebook Introduces 'Hack,' the Programming Language of the Future"۔ Wired۔ 2019-01-07 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-04-15
- ↑ "Hack Manual"۔ docs.hhvm.com۔ اخذ شدہ بتاریخ 2014-03-25
{{حوالہ ویب}}
: پیرامیٹر|section=
نظر انداز کر دیا گیا (معاونت) - ↑ "Hack Manual"۔ docs.hhvm.com۔ 2014-03-26 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-03-25
{{حوالہ ویب}}
: پیرامیٹر|section=
نظر انداز کر دیا گیا (معاونت) - ↑ "Hack: a new programming language for HHVM"۔ code.facebook.com۔ فیس بک۔ 2019-01-07 کو اصل سے آرکائیو کیا گیا۔ اخذ شدہ بتاریخ 2014-03-23
- ^ ا ب "Hack Manual"۔ docs.hhvm.com۔ اخذ شدہ بتاریخ 2014-04-02
{{حوالہ ویب}}
: پیرامیٹر|section=
نظر انداز کر دیا گیا (معاونت)
بیرونی روابط
[ترمیم]- دفتری ویب سائٹ
- Official tutorialآرکائیو شدہ (Date missing) بذریعہ hacklang.org (Error: unknown archive URL)
- Hack language reference
- Facebook Q&A: Hack brings static typing to PHP world
- Full presentation on "Hack Dev Day"