Для меня, один из самых сложных моментов, был и есть - это переключения в работе между проектами с разными языками. Дело в том, что если вы знаете один язык программирования на профессиональном уровне и постоянно с ним работаете, таких проблем не возникает, но если есть задача - в одиночку сделать бекэнд, фронтенд и еще мобильное приложение к этому, то это настоящая проблема и дело здесь не в сложности языка или способах его применения, проблема в схожести/различии синтаксисов.
Вот вам простой пример, иллюстрирующий то, о чем я говорю. Банальная вещь с объявлением переменных
//PHP
$a = 'test';
//JavaScript
const a = 'test';
//Так тоже будет работать в JS,
//но не так как ожидается
//скорее всего
$a = 'test';
В JavaScript вы тоже так можете написать и это будет работать, но переменная объявится в глобальной области видимости, так как не указано одно из ключевых слов (в PHP же не требуется ключевое слово только знак $) и если вы с ней будете работать в рамках изолированного контекста, то будет сюрприз - магия того, что переменная почему-то не объявлена или перезапись ее может приводить к странным результатам, так как при завершении работы текущего контекста значение не будет обнуляться и если задача получить накопительный результат, то опять же может вылезти магический баг.
Еще один момент адаптации -после JavaScript c его необезательными символами конца строки (;) постоянно наступаю на грабли в PHP или C#.
И еще - после PHP и JavaScript в C# или Java, я постоянно забываю 'f' для объявления float значений. Пример
//JavaScript
const a = 1.2;
//TypeScript
const a: number = 10.3;
//PHP
$a = 1.3;
//C#
float a = 1.2f;
//Java
float a = 1.2f;
Ну и самое любимое - это методы работы с массивами в PHP и JavaScript типа reduce, map и тд. Параметры те же, но идут в разной последовательности… в итоге я постоянно путаюсь.
Рассматривать CSS и HTML я не буду, потому что это все-таки разметка и таблицы стилей, а не языки программирования как таковые, да и подход к рендерингу - декларативный. Но это не значит, что сами по себе они не могут быть без подводных камней. Их ооочень много и в одном ответе их просто не разберешь. Если вам интересна эта тема, то добро пожаловать в моё кью-сообщество "
Собеседование программиста". Там я собираю вопросы с собеседований как раз на смежную тему, указываю на разложенные грабли и помогаю понять почему код работает именно так.
Попробуйте пройти все опросы правильно и без заглядывания в правильные ответы в комментариях)
Удачи!