ابداع زبان هک توسط فیسبوک

فیسبوک در نظر دارد تا این امکان را به توسعه دهندگان بدهد تا به سادگی و به سرعت به کدنویسی وب اپلیکیشن بپردازند. چندی پیش شرکت فیسبوک به همین منظور زبان برنامه نویسی هَک (Hack Programming Language) که یک زبان اپن سورس است را منتشر کرد که این امکان را به برنامه نویسان می دهد تا خیلی سریع و بدون تولید هیچ گونه Bug یی به برنامه نویسی بپردازند. ده سال پیش فیسبوک به عنوان وب اپلیکیشنی که با زبان PHP نوشته شده بود، کار خود را آغاز کرد. پس از آنکه فیسبوک به سرعت پله های ترقی را پیمود، مدیریت این سایت که با زبان PHP نوشته شده بود دشوار شد و برنامه نویسان این شرکت خیلی ساده مرتکب خطا می شدند بنابراین می بایست به فکر راه کاری می بودند.

به منظور کاهش خطاهای برنامه نویسی این شرکت، آقای برایان اوسالیوان و تیم اش زبان برنامه نویسی هَک را طراحی کردند که طراحی سریع وب اپلیکیشن را از زبان PHP به ارث برده و بسیاری از خصوصیات جدیدترین زبان های برنامه نویسی هم به آن اضافه شده است. طی سال گذشته، فیسبوک حجم قابل توجهی از این سایت را با زبان برنامه نویسی هَک بازنویسی نموده است و در حال حاضر هم نسخه اوپن سورس این زبان برنامه نویسی در اختیار عموم قرار گرفته است. یک تفاوت عمده این زبان برنامه نویسی رویکردی است که با استفاده از آن به منظور یکپارچگی بیشتر، Data Type ها مدیریت می شوند .

این خصیصه برای خیلی از زبان های برنامه نویسی مطرح دنیا مهم شمرده می شود چرا که از بروز خطاهایی که منجر به Crash کردن یک برنامه می شوند جلوگیری به عمل می آورد. برخی زبان ها همچون PHP این کار را بواسطه تست کردن Data Type ها به صورت هم زمان انجام می دهند اما این در حالی است که دیگر زبان های برنامه نویسی این کار را زمانی انجام می دهند که برنامه کامپایل می شود یعنی پیش از زمانی که برنامه قرار است اجرا شود که اصطلاحاً به آن رویکرد استاتیک یا Static Typing گفته می شود. بنا به گفته آقای اوسالیوان، رویکرد Data Type به کار گرفته شده در زبان PHP هیچ کاری انجام نمی دهد تا زمانی که برنامه واقعاً اجرا شود.

به عبارت دیگر خیلی از Error هایی که ممکن است عملکرد سایت شما را تحت الشعاع قرار دهند زمانی بروز پیدا می کنند که سایت در معرض دید کاربران قرار گرفته است. اما زمانی که از زبان برنامه نویسی هَک استفاده می کنیم، Error هایی از این دست پیش از آنکه مخاطبین سایت بخواهند به وجود این Error ها پی ببرند مورد بررسی قرار گرفته شده و رفع خواهند شد. در یک کلام، خطاها یا Error ها خیلی سریع پیدا شده و رفع می گردند. طراحان زبان برنامه نویسی Hack هدف از ایجاد این زبان برنامه نویسی را اجرای آن بر روی ماشین مجازی اختصاصی فیسبوک تحت عنوان HipHop قرار داده اند که به طور خلاصه HHVM خوانده می شود به طوری که این ماشین مجازی کدهای نوشته شده به زبان PHP را به کدهای کامپایل شده اثربخش تری مبدل می سازد. به عبارت دیگر، اگرچه برخی از بخش های قابل توجه وب اپلیکیشن فیسبوک توسط زبان Hack بازنویسی شده است اما این در حالی است که مهاجرت از PHP به Hack و بالعکس هیچ مشکلی برای برنامه نویسان فیسبوک ایجاد نخواهد کرد. به گفته منابع رسمی فیسبوک، بسیاری از فایل های این وب اپلیکیشن در حال حاضر به زبان هَک نوشته شده اند اما از متدهایی که با رویکرد استاتیک ناسازگاری دارند در آن ها استفاده نشده است.

به طور خلاصه، زبان برنامه نویسی هَک از بسیاری جهات شبیه به زبان PHP است و در محیط نرم افزاری مشابهی اجرا می گردد بنابراین برنامه نویسان قادر خواهند بود کدهای PHP خود را در جاهای حساس به زبان Hack بازنویسی کنند. با استفاده از زبان برنامه نویسی هَک، برنامه نویسان به سادگی قادر خواهند بود تا Static Typing و Dynamic Typing را با یکدیگر ادغام کنند و چنین رویکردی اصطلاحاً Gradual Typing نامیده می شود. علاوه بر این، زمانی که وب اپلیکیشنی با استفاده از زبان برنامه نویسی Hack نوشته شود، به سرعت می توان بازخورد از برنامه خود گرفت بنابراین برنامه نویسان خواهند توانست با دقت بیشتر، سرعت بالاتر و اثربخشی قابل ملاحظه تری برنامه نویسی کنند.

0


بهزاد مرادی

از جمله علائقم می‌شه به نشر علم،‌ سرمایه‌گذاری روی نسل آینده، برنامه‌نویسی به خصوص زبان PHP و جامعهٔ اپن‌سورس و همچنین راه‌اندازی استارتاپ و کارآفرینی اشاره کرد و اعتقاد دارم که سکان آکادمی می‌تونه بستری باشه که از اون طریق به علائقم جامهٔ عمل بپوشونم!






از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)