Но абстракция не всегда хорошо. Когда на апи вешают один уровень абстракции на другой уже не из соображений портируемости а из соображений какого то извращенного удобства для разработчика - вот там вообще ужасно.
давай. Зачем вообще нужны разные языки программирования? был бы один ассемблер - все пользователи были бы в экстазе от качества софта. А разработчики нос воротить бы не смогли - выбора то нет.