PHP7 + JavaScript, 62 61 58 байт
Це було насправді складніше, ніж я очікував! Я дуже здивований, як довго мій код.
eval(['alert((_=prompt())*_)','echo$argv[1]**.5'][+![]]);
Як це працює?
Це працює, вибравши код для запуску з масиву.
Виявлення PHP та JavaScript проводиться за допомогою +![].
У PHP [](порожній масив) - хибне значення, тоді як у JavaScript це truthy значення (об'єкти (крім null) завжди є truthy, навіть new Boolean(false)є truthy!).
Але мені потрібно отримати це числове значення, тому я просто використовую not( !) і конвертую його в ціле (з символом +).
Тепер PHP дає значення 1, тоді як JavaScript поступається 0.
Розміщення коду всередині масиву, в цих індексах, дозволить нам вибрати правильний код для потрібної мови.
Це можна використовувати як [JS,PHP][+![]], щоб отримати код потрібної мови.
У попередніх поліглотах я використовував '\0'=="\0", що знаходиться trueв JavaScript (оскільки \0аналізується як NULL-байт) і falsePHP (значення '\0'не буде розбиратися як NULL-байт, порівнюючи буквальний рядок \0з NULL-байтом).
Я щасливий, що мені вдалося скоротити цю перевірку +!'0'.
Я ще більше радий @rckd , який зменшив його до поточної версії!
З цього evalмоменту це просто необхідний код.
PHP
PHP виконає echo$argv[1]**.5(еквівалентно echo sqrt($argv[1]);номеру з квадратним коренем), отримавши значення з 2-го аргументу та відобразивши його у стандартному висновку.
JavaScript
Виконує JavaScript alert((_=prompt())*_), який відображає число у квадраті alert.
Дякуємо @rckd за збереження 1 байта, а @ user59178 за збереження 3 байтів!