По-перше, на мовах програмування (ЯП) пишуть не файли, а програми, для яких файл - це просто контейнер. По-друге, якщо мова йде про розпізнанні ЯП, на якому була колись написана програма,
а тепер перед вами знаходиться результат її компіляції, тобто як правило, двійковий файл, то визначити
ЯП можна за допомогою декомпілятори, якщо він є, але і для його застосування потрібно знати
ЯП, використаний при написанні програми, так як декомпілятори зазвичай розробляються
в розрахунку на декомпіляцію тільки в строго певний ЯП.
Якщо ж завдання стоїть для файлу, в якому знаходиться програма в початковому вигляді, тобто у вигляді тексту,
то визначити ЯП часто можна по розширенню імені файлу. Для більшості мов
програмування закріплені відповідні їм розширення, наприклад, для З ++ розширенням буде "cpp".
Розширення можна легко знайти пошуком в Інеті. І для програм після компіляції також
застосовуються відповідні розширення.
Програміст ж часто може розпізнати мову програмування
просто з вигляду тексту програми, якщо він знайомий з цією мовою.
А що це вам дасть. Уточніть своє питання. Можу сказати точно.
Ви не зможете повернути цей файл на вихідне його стан тобто отримати исходник. АЛЕ. Будь-який файл написаний будь-якою мовою можна Дізасембліровать.
ТО є перевести в вихідної код на мові Ассамблера (Мова найскладніший з усіх мовою). Або скористатися програмою (ida pro) АЛЕ. Я не раджу вам її завантажувати. Тому що судячи з вашого запитання ви не розбираєтеся в цьому.
І поготів не розберетеся в цій програмі.