Приложение в данном случае это готовая программа для компьютера. Её может запустить пользователь в соответствующей среде.
Среда для запуска приложения может являться операционной системой для компьютера или же это может быть тоже некое ПО для конечного пользователя, внутри которого инициируется запуск приложения. Например, таким ПО может выступать веб-браузер, внутри которого запускается приложение, написанное на интерпретируемом языке JavaScript.
Подбираемся ближе к категориям языков. Применяются как интерпретируемые языки, так и неинтерпретируемые (требующие компиляции исходного кода в машинный код). Исходный код программы на интерпретируемом языке обрабатываются на лету в момент запуска виртуальной машиной. Поэтому исходный код таких программ легко посмотреть, открыв и в текстовом редакторе. В случае с браузером можно открыть инструменты разработчика и в них ознакомиться с клиентской частью приложения. При этом всё, что происходит на стороне сервера обычный пользователь без дополнительной квалификации увидеть не сможет.
Если же приложение написано на компилируемом языке, то готовый его вариант является двоичным файлом, состоящим из машинного кода. Дизассемблировать этот код можно, но исходник всё равно не получишь. Максимум, что можно выяснить, как работает программа. По косвенным признакам можно, конечно, и исходный язык программирования установить, но это нужно очень хорошо знать тонкости компиляции исходного кода на различных языках программирования.
То есть буквально и в общем случае, чтобы узнать, на каком языке написано приложение, необходимо обладать высокой квалификацией программиста или привлечь дополнительную экспертизу со стороны такого специалиста.