Bahasa pemrograman Hack Facebook membangun keamanan kode ke dalam PHP

Facebook telah merilis bahasa pemrograman yang disebut Hack, yang menggabungkan kemudahan PHP dengan kontrol keamanan yang ketat dari bahasa lama seperti C ++.

Pemrogram PHP harus dengan mudah memahami Hack, yang mereplikasi banyak fitur dan fungsi PHP yang sama, dan menambahkan beberapa fitur dan fungsinya sendiri untuk produktivitas yang lebih besar, kata Bryan O'Sullivan, seorang insinyur Facebook pada proyek tersebut.

[Bekerja lebih cerdas, bukan lebih keras - unduh Panduan Bertahan Hidup Pengembang dari untuk semua kiat dan tren yang perlu diketahui pemrogram. | Ikuti terus berita pengembang terbaru dengan buletin Dunia Pengembang. ]

Selama setahun terakhir, Facebook telah mengubah hampir semua basis kode PHP-nya menjadi Peretasan, yang merupakan inti dari situs webnya.

Dalam membuat Hack, Facebook mengambil pendekatan yang mirip dengan Microsoft dengan TypeScript, yang pada dasarnya adalah superset dari JavaScript yang, seperti Hack, menambahkan pengetikan statis.

Kedua proyek ditetapkan untuk memperkuat bahasa pemrograman dinamis yang populer sehingga dapat lebih mudah digunakan oleh tim perangkat lunak besar untuk merancang aplikasi yang sangat penting.

Individu juga akan mendapat manfaat dengan menggunakan Peretasan, kata O'Sullivan, baik dalam hal meningkatkan kinerja situs web mereka dan meningkatkan kualitas keseluruhan kode mereka.

Peretasan membutuhkan HHVM (Mesin Virtual Hip Hop) Facebook agar dapat dijalankan. HHVM adalah mesin virtual yang mengkompilasi PHP, biasanya bahasa yang ditafsirkan, ke dalam kode byte, sehingga dapat berjalan lebih cepat.

Hack pada dasarnya adalah perpanjangan dari bahasa PHP dengan pengetikan statis bawaan, fitur yang ditemukan dalam bahasa pemrograman yang lebih tradisional seperti C / C ++ dan Java, kata O'Sullivan.

Banyak dari bahasa pemrograman berorientasi web yang lebih baru, seperti PHP dan JavaScript, tidak memiliki pengetikan statis, oleh karena itu mereka disebut sebagai bahasa yang diketik secara dinamis. Dengan pengetikan dinamis, "tidak ada informasi eksplisit dalam kode sumber yang menjelaskan jenis informasi yang ditangani program," kata O'Sullivan.

Sebaliknya, pengetikan statis mengharuskan pemrogram untuk menentukan tipe data untuk setiap variabel sebelum program itu dikompilasi atau dijalankan. Meskipun membutuhkan kerja ekstra untuk diterapkan, pengetikan statis mencegah kesalahan waktu proses yang terjadi saat tipe data yang salah dimasukkan ke dalam program, baik dengan input manusia atau fungsi komputer lainnya.

"Ada beberapa jenis kesalahan dan crash yang dapat terjadi," jika programmer tidak berhati-hati tentang data apa yang ditugaskan ke variabel, kata O'Sullivan. "Kesalahan laten ini dapat bersembunyi untuk waktu yang lama dalam bahasa yang diketik secara dinamis."

Mesin virtual HHVM memiliki pemeriksa tipe built-in untuk memastikan bahwa semua informasi yang diketik benar. Hack bahkan memungkinkan programmer untuk menentukan tipe data yang unik.

"Secara sintaksis, Hack sangat mirip dengan PHP. Kami mengizinkannya untuk menjalankan PHP dan kode Hack secara berdampingan sehingga Anda dapat secara bertahap mengubah basis kode bahasa Anda dari PHP ke Hack," kata O'Sullivan.

Namun, fitur PHP tertentu yang tidak digunakan lagi tidak didukung di Hack, dan juga tidak sedikit fitur yang tidak berfungsi dengan baik dengan pengetikan statis.

Peretasan juga hadir dengan sejumlah tambahan yang tidak ditemukan di PHP. Salah satunya adalah Collections, cara untuk membuat array dengan lebih banyak nuansa daripada fungsi array yang ditawarkan oleh PHP itu sendiri, kata O'Sullivan.

Hack juga memudahkan penggunaan closure melalui penggunaan ekspresi Lambda. Closure, yang ditambahkan ke Java 8, "membuatnya mudah untuk menulis transformasi data yang cukup rumit secara ringkas," kata O'Sullivan.

Ekspresi Lambda Hack memberikan cara untuk membuat penutupan "dengan jumlah penekanan tombol yang lebih sedikit, yang merupakan kemenangan besar bagi produktivitas," katanya.

Facebook telah menyediakan sejumlah plugin editor teks di situs web Hack untuk membantu pembuat kode menulis dalam bahasa tersebut, meskipun perusahaan berharap para sukarelawan akan membuat beberapa plugin yang lebih rumit.

O'Sullivan tidak mengungkapkan rencana khusus apa pun untuk menawarkan augmentasi Peretasan kembali kepada pemelihara PHP, meskipun dia mencatat bahwa perusahaan berencana untuk "bekerja sama dengan komunitas sumber terbuka," untuk mengembangkan bahasa lebih lanjut.

Joab Jackson meliput perangkat lunak perusahaan dan berita teknologi umum untuk The News Service . Ikuti Joab di Twitter di @Joab_Jackson. Alamat email Joab adalah [email protected]