یک زبان برنامه‌نویسی برای ماشین مجازی ( ) است که توسط فیس بوک به عنوان گویش ایجاد شده‌است. اجرای زبان منبع باز است که دارای مجوز تحت است.
 هک اجازه می‌دهد تا برنامه نویسان از هر دو نوع تایپ پویا و تایپ استاتیک استفاده کنند. این نوع سیستم نوعی تایپ تدریجی نامیده می‌شود که در زبان‌های برنامه‌نویسی دیگر مانند نیز اجرا می‌شود. نوع سیستم هک اجازه می‌دهد که انواع برای آرگومان‌های عملکرد، تابع بازگشتی و خواص کلاس مشخص شود. با این حال، انواع متغیرهای محلی همیشه محاسبه می‌شود و مشخص نمی‌شود.
 هک در تاریخ ۲۰ مارس ۲۰۱۴ معرفی شد. قبل از اعلام زبان برنامه‌نویسی جدید، قبلاً این کد را اجرا کرده و در بخش بزرگی از وب سایت آن «نبرد» را آزمایش کرده‌است.
 هک طراحی شده‌است که به‌طور یکپارچه با پی اچ پی همکاری می‌کند، که یک زبان برنامه‌نویسی متداول با منبع باز است که برای توسعه وب طراحی شده‌است و می‌تواند به تعبیه شود. اکثریت اسکریپت‌های معتبر PHP نیز در هک معتبر هستند؛ با این حال، تعداد زیادی از ویژگی‌های پی اچ پی و اغلب استفاده شده و سازه‌های زبان در هک پشتیبانی نمی‌شوند.
 هک نوع اشاره کردن در دسترس در PHP 5 را از طریق معرفی تایپ استاتیک گسترش می‌دهد، با اضافه کردن نکات نوع جدید (به عنوان مثال برای انواع اسکالر مانند عدد صحیح یا رشته)، و همچنین با گسترش استفاده از نکات نوع (به عنوان مثال برای خواص کلاس یا مقدار بازگشتی تابع). با این حال، انواع متغیرهای محلی را نمی‌توان مشخص کرد. از آنجا که هک از یک سیستم تایپ تدریجی استفاده می‌کند، در حالت پیشفرض، حاشیه‌نویسی نوعی اجباری نیست حتی در مکانهایی که نمی‌توان آن‌ها را تعمیم داد؛ سیستم نوع تصور می‌کند که نویسنده صحیح است و کد را قبول می‌کند. با این حال، یک حالت «سخت» در دسترس است که نیاز به چنین حاشیه‌نویسی دارد و بنابراین به‌طور کامل کد صدا را اجرا می‌کند.
 ساختار اصلی اسکریپت هک شبیه یک اسکریپت PHP با چند تغییر است. یک فایل هک با به عنوان مخالف با برای یک اسکریپت PHP شروع می‌شود:
 اسکریپت فوق، شبیه به PHP، اجرا می‌شود و خروجی زیر به مرورگر ارسال می‌شود:
 
 نکته مهم این است که بر خلاف PHP، هک و کد HTML مخلوط نمی‌شوند. به‌طور معمول می‌توانید کدهای پی اچ پی و کد HTML را با هم در همان فایل، مانند این ترکیب کنید:
 
 این نوع کد توسط هک پشتیبانی نمی‌شود؛ باید XHP یا موتور قالب دیگری استفاده شود.
 هک اجازه می‌دهد تا انواع برای آرگومان‌های عملکرد و تابع بازگشتی مشخص شود. توابع در Hack به این ترتیب با نوعی از موارد زیر تعریف می‌شوند:
{"title": "هک (زبان برنامه‌نویسی)", "link": "https://fa.wikipedia.org//w/index.php?title=%D9%87%DA%A9_(%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C)&oldid=34560843", "language": "fa"}