ہیک (پروگرامنگ زبان)
ہیک (انگریزی: Hack) ایک پروگرامنگ زبان ہے جو ہپ ہاپ ورچول مشین (HipHop Virtual Machine) کے لیے تیار کی گئی ہے۔ اس زبان کو فیس بک نے تیار کرکے آزاد مصدر رکھا ہے اور بی ایس ڈی اجازت نامہ کے تحت جاری کیا ہے۔[3][4]
اشاعت | 2014 |
---|---|
ڈیزائنر | Julien Verlaguet, Alok Menghrajani, and others[1] |
ترقی دہندہ | فیس بک |
شعبہ تحریر | static , dynamic , weak |
متاثر | پی ایچ پی, Java, C# |
آپریٹنگ سسٹم | کراس پلیٹ فارم |
اجازت نامہ | BSD License[2] |
ویب سائٹ | hacklang |
ہیک کو پی ایچ پی کا نیا ورژن کہا جا سکتا ہے، لیکن ہیک زبان پروگرامرز کو ڈائنامک اور سٹیٹک دونوں قسم کی ٹائپنگ کی سہولت فراہم کرتی ہے، جسے گریجول ٹائپنگ (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۔ اخذ شدہ بتاریخ 25 مارچ 2014
- ↑ "facebook/hhvm"۔ github.com۔ فیس بک۔ 2014-03-20۔ 07 جنوری 2019 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 11 اگست 2014
|section=
تم تجاهله (معاونت) - ↑ Josh Lockhart (2014-04-03)۔ "Facebook's Hack, HHVM, and the future of PHP"۔ O'Reilly Media۔ 07 جنوری 2019 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 02 اگست 2014
- ↑ Cade Metz (2014-03-20)۔ "Facebook Introduces 'Hack,' the Programming Language of the Future"۔ Wired۔ 07 جنوری 2019 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 15 اپریل 2014
- ↑ "Hack Manual"۔ docs.hhvm.com۔ اخذ شدہ بتاریخ 25 مارچ 2014
|section=
تم تجاهله (معاونت) - ↑ "Hack Manual"۔ docs.hhvm.com۔ 26 مارچ 2014 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 25 مارچ 2014
|section=
تم تجاهله (معاونت) - ↑ "Hack: a new programming language for HHVM"۔ code.facebook.com۔ فیس بک۔ 07 جنوری 2019 میں اصل سے آرکائیو شدہ۔ اخذ شدہ بتاریخ 23 مارچ 2014
- ^ ا ب "Hack Manual"۔ docs.hhvm.com۔ اخذ شدہ بتاریخ 02 اپریل 2014
|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"