Facebook muốn giúp các lập trình viên viết code dễ dàng và nhanh chóng. Vì vậy, vào thứ 5 ngày 15/5, Facebook đã ra mắt Hack,  ngôn ngữ lập trình với mã nguồn mở, cho phép lập trình viên viết ra code chính xác và không bug một cách nhanh chóng.

Mười năm trước, trang web Facebook được dựng lên với PHP, ngôn ngữ lập trình chuyên dụng để tạo ra các trang web tương tác nhanh chóng. Nhưng với sự phát triện vượt bậc của Facebook, việc quản lý PHP trở nên khó khăn hơn và lập trình viên rất dễ mắc lỗi, ông Bryan O’Sullivan, quản lý của độ ngũ Hack tại Facebook, nói trong cuộc phỏng vấn với ReadWrite. Để sửa toàn bộ lỗi trong hệ thống, O’Sullivan và các đồng nghiệp đã tạo ra Hack bằng cách kết hợp các chu kỳ phát triển nhanh chóng của PHP với kỹ thuật lập trình trên các ngôn ngữ khác.

Lập trình web với Hack cơ bản đến nâng cao

Công ty đã chuyển gần như toàn bộ code của họ sang Hack trong năm ngoái và đã xuất bản bản Hack mã nguồn mở trên thị trường gần đây.

Điểm nổi bật của Hack là ở chỗ Hack kiểm tra các loại dữ liệu cho phù hợp – điều cần thiết cho một ngôn ngữ lập trình để tránh bug và các lỗi có thể đánh sập chương trình. Quá trình kiểm tra của một số ngôn ngữ khác nhau, PHP kiểm tra khi chương trình đã đang chạy rồi còn ngôn ngữ khác lại đợi đến khi chương trình được biên dịch rồi và chỉ kiểm tra trước khi chúng ta chạy thử – đây được gọi là “static typing”.

“Hệ thống của PHP chỉ kiểm thử khi chương trình đã đang chạy rồi, bạn sẽ tìm được lỗi khi trang web đã được đăng.” O’Sullivan nói “Hack thì lại kiểm tra trước khi bạn đăng trang web lên mạng. Bạn sẽ tìm được lỗi sớm và sửa dễ dàng hơn”.

Đội lập trình của O’Sullivan đã thiết kế Hack chạy trên công nghệ khác của Facebook HipHop Virtual Machine, dùng để chuyển đổi mã viết bằng PHP thành mã máy, biên dịch cho hiệu quả. Điều này có nghĩa là mặc dù Facebook đã được chuyển sang Hack, họ có thể chuyển từ Hack sang PHP và ngược lại mà không gặp khó khăn.

Facebook nói trong bài blog  của họ rằng hầu như tất cả các file PHP đều hợp lệ với Hack, nhưng họ chọn không hỗ trợ các chức năng không phù hợp với static typing của họ:

“Thông thường thì các ngôn ngữ lập trình động đều chú ý vào việc rút ngắn thời gian lập trình mà quên đi tính năng kiểm tra lỗi và sửa lỗi code sớm, nhất là các bảng code lớn. Ngược lại, các ngôn ngữ lập trình tĩnh đưa ra các cách kiểm thử cẩn thận, nhưng bù lại là sẽ mất thời gian để phát triển phần mềm hơn. Chúng tôi đã đi tìm giải phát tối ưu hóa cả 2 bên và tìm ra Hack. Chúng tôi tin rằng Hack sẽ rất hữu dụng cho dự án mọi kích cỡ.”

Hack rất giống PHP và chạy trên môi trường giống như vậy, O’Sullivan nói. Vì vậy các lập trình viên có thể chuyển đổi một số phần code cần thiết thôi chứ không nhất định phải làm lại hết từ đầu.. Dùng Hack, lập trình viên có thể lập trình tĩnh lẫn động – một phương pháp gọi là “gradual typing” và có các phản hồi từ việc kiểm tra lỗi nhanh hơn và chính xác hơn.

Bài viết từ ReadWrite