ہیک (پروگرامنگ زبان)

ہیک  ایک پروگرامنگ زبان ہے جو ہپ ہاپ ورچول مشین (HipHop Virtual Machine) کے لیے تیار کی گئی ہے۔ اس زبان کو فیس بک نے تیار کرکے آزاد مصدر رکھا ہے اور بی ایس ڈی اجازت نامہ کے تحت جاری کیا ہے۔

ہیک کو پی ایچ پی کا نیا ورژن کہا جا سکتا ہے، لیکن ہیک زبان پروگرامرز کو ڈائنامک اور سٹیٹک دونوں قسم کی ٹائپنگ کی سہولت فراہم کرتی ہے، جسے گریجول ٹائپنگ (gradual typing) کہا جاتا ہے۔ ہیک کا ٹائپ سسٹم ان تمام اقسام کی سہولت فراہم کرتا ہے جن کے ذریعہ فنکشن آرگیومنٹس (function arguments)، فنکشن کی ریٹرن ویلیوز (function return values) اور کلاس پراپرٹیز (class properties) کو مختص کیا جاتا ہے، البتہ مقامی متغیرات کے اقسام کو مختص (specify) نہیں کیا جا سکتا۔

 تاریخ 
ہیک زبان 20 مارچ، 2014ء کو متعارف کرائی گئی۔ اس نئی پروگرامنگ زبان کے باضابطہ عمومی اعلان سے قبل فیس بک نے خود اپنی ویب سائٹ پر اس کے کوڈ کو استعمال کیا اور بڑے پیمانے پر اس کی جانچ پڑتال کی۔

 خصوصیات 
ہیک زبان پی ایچ پی کی طرح ہی کام کرتی ہے، پی ایچ پی ویب پر عمومی مقاصد کے لیے انتہائی زیادہ مستعملاسکرپٹنگ زبان ہے جو بالخصوص ویب ڈویلپمنٹ کے لیے انتہائی مناسب ہے اور ایچ ٹی ایم ایل میں ضم بھی ہوجاتی ہے۔ پی ایچ پی کی اکثراسکرپٹس ہیک زبان میں بھی درست کام کرتی ہیں، تاہم پی ایچ پی کے کم استعمال ہونے والی خصوصیات کو ہیک معاونت فراہم نہیں کرتی۔

 زبان کی نحو 
ہیکاسکرپٹ کا بنیادی خاکہ معمولی تبدیلیوں کے ساتھ پی ایچ پیاسکرپٹ کی طرح ہی ہوتا ہے۔ ہیک فائل کا آغاز <?hh سے ہوتا ہے، جبکہ پی ایچ پیاسکرپٹ کا آغاز <?php سے ہوتا ہے۔

<?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>

اس طرز کی کوڈنگ کو ہیک معاونت فراہم نہیں کرتی۔

 فنکشنز 
ہیک زبان ان تمام اقسام کی سہولت فراہم کرتی ہے جن کے ذریعہ فنکشن آرگیومنٹس (function arguments) اور فنکشن کی ریٹرن ویلیوز (function return values) کو مختص کیا جاتا ہے۔ ہیک میں متعدد اقسام کے فنکشنز ذیل میں ملاحظہ کریں:

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

 مزید دیکھیے 
 کے پی ایچ پی
 پیروٹ ورچول مشین
 پراجیکٹ زیرو

 حوالہ جات 

 بیرونی روابط 

 Official tutorial
 Hack language reference
 Facebook Q&A: Hack brings static typing to PHP world
 Full presentation on "Hack Dev Day"

زمرہ:2014ء کے سافٹ ویئر
زمرہ:اسکرپٹنگ زبانیں
زمرہ:پروگرامنگ زبانیں
زمرہ:پی ایچ پی سافٹ ویئر
زمرہ:فیس بک
زمرہ:ڈائنامکلی تحریر شدہ پروگرامنگ زبانیں
زمرہ:ویکی ڈیٹا سے مطابقت رکھنے والی مختصر تفصیل
زمرہ:آبجیکٹ اوریئنٹڈ پروگرامنگ زبانیں
زمرہ:ونڈوز سافٹ ویئر
زمرہ:یونکس سافٹ ویئر