А все идет вовсе не от программиста, а от задач. Вот сейчас наиболее масштабны разработки в паутине.. Зачем кому-то писать сайт-сервис с использованием ассемблера?
С другой же стороны, вполне реальным явлением является использование языков, заточенных под определенные нужды (н. Erlang), которые можно считать более низкоуровневыми.
Еще присустсвует понятие количества кода и времени разработки. Так вот, высокоуровневые языки хороши тем, что имеют набор функций/методов для реализации самых используемых задач.Проекты с установкой/удаленим модулей на лету можно считать программированием еще более высокого уровня.
Нужно ли знать что-то о низкоуровневом или интерпритации/компиляции кода? -, для хорошего/продвинутого программиста — да. Т.к. они чаще сталкиваются с ситуациями, которые требуют углубления в более низкие уровни (пример JS: начало выполнения интервалов и таймаутов)
И еще:высокий = понятность, сжатость кода + скорость написания продукта
Еще одним минусом считаю банальный «перегар», который при общении не доставит удовольствия не пьющему