Detektor języka

Wklej fragment kodu, a od razu zostanie wskazany jego najbardziej prawdopodobny język — detektor ocenia użycie słów kluczowych, charakterystyczne znaczniki składni, styl komentarzy i opcjonalną nazwę pliku względem sygnatur 27 popularnych języków (Python, JavaScript, Java, C/C++, C#, Go, Rust, SQL, HTML/CSS i inne). Pokazywane są trzy najlepsze propozycje wraz z dokładnymi wskazówkami, które pasowały. Heurystyczne, lokalne i przyjazne prywatności: nic nie opuszcza przeglądarki.
Jak to działa i ograniczenia. Wykrywanie jest heurystyczne: liczy charakterystyczne słowa kluczowe, znaczniki składni (np. , def , package main), style komentarzy i rozszerzenie pliku, a potem szereguje 27 sygnatur. Krótkie lub ogólne fragmenty mogą być dwuznaczne (np. import jest wspólne dla Pythona i Go), a najlepszy wynik może być błędny dla mieszanego lub mocno obciętego kodu — traktuj wynik jako sugestię. Obsługiwane: 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.
Jak działa wykrywanie języka programowania?

Wykrywanie to problem klasyfikacji z dwoma szerokimi podejściami: modelami statystycznymi trenowanymi na korpusach (częstości tokenów, n-gramy) oraz ręcznie zbudowanym dopasowywaniem sygnatur — to robi ta strona. Każdy język ma sygnaturę charakterystycznych wskazówek: słów kluczowych używanych tylko przez niego (def, fn, public static void), znaczników składni, takich jak style komentarzy czy <?php, oraz rozszerzeń plików. Detektor liczy, które wskazówki pojawiają się we fragmencie, i szereguje sygnatury, które pasują najlepiej, pokazując dokładne dowody, byś mógł ocenić wynik samodzielnie.

Krótkie fragmenty są z natury dwuznaczne — sam import występuje w Pythonie, Go i Javie — więc ranking detektora (i lista wskazówek) jest bardziej pouczający niż jego pojedynczy najlepszy wynik.