Bộ nhận diện ngôn ngữ

Dán một đoạn mã và nhận ngay ngôn ngữ có khả năng nhất — bộ nhận diện chấm điểm việc dùng từ khóa, dấu hiệu cú pháp đặc trưng, kiểu chú thích và tên tệp tùy chọn của bạn so với chữ ký của 27 ngôn ngữ phổ biến (Python, JavaScript, Java, C/C++, C#, Go, Rust, SQL, HTML/CSS và nhiều hơn). Ba đoán hàng đầu được hiển thị cùng các dấu hiệu chính xác đã khớp. Đây là heuristic, chạy cục bộ và thân thiện với quyền riêng tư: không có gì rời khỏi trình duyệt của bạn.
Cách hoạt động và giới hạn. Việc nhận diện là heuristic: nó đếm từ khóa đặc trưng, dấu hiệu cú pháp (ví dụ , def , package main), kiểu chú thích và phần mở rộng tệp, rồi xếp hạng 27 chữ ký. Đoạn mã ngắn hoặc chung chung có thể mơ hồ (ví dụ import được Python và Go dùng chung), và đoán hàng đầu có thể sai với mã trộn hoặc bị cắt nhiều — hãy coi kết quả là gợi ý. Hỗ trợ: JavaScript, TypeScript, Python, Java, C, C++, C#, Go, Rust, Ruby, PHP, Swift, Kotlin, Objective-C, Bash, Perl, PowerShell, SQL, HTML, CSS, JSON, YAML, XML, Markdown, Scala, R, Lua.
Bộ nhận diện ngôn ngữ lập trình hoạt động thế nào?

Nhận diện là bài toán phân loại với hai hướng chính: mô hình thống kê huấn luyện trên kho ngữ liệu (tần suất token, n-gram) và so khớp chữ ký xây thủ công — đây là điều trang này làm. Mỗi ngôn ngữ có một chữ ký gồm các dấu hiệu đặc trưng: từ khóa chỉ nó dùng (def, fn, public static void), dấu hiệu cú pháp như kiểu chú thích hoặc <?php, và phần mở rộng tệp. Bộ nhận diện đếm dấu hiệu nào xuất hiện trong đoạn mã và xếp hạng các chữ ký khớp nhất, đồng thời hiển thị bằng chứng chính xác để bạn tự đánh giá.

Đoạn mã quá ngắn thì vốn mơ hồ — import một mình tồn tại trong Python, Go và Java — nên bảng xếp hạng của bộ nhận diện (và danh sách dấu hiệu) cho nhiều thông tin hơn đoán đầu bảng.