Во время расцвета операционных систем класса MS-DOS очень большое преимущество получили языки высокого уровня типа Бейсика, Си или Паскаля, поскольку в них были встроены функции, выполняющие многие часто встречающиеся операции. Это сильно облегчило жизнь программистам и способствовало огромному росту популярности таких языков среди разработчиков программного обеспечения. Немалую роль в этом сыграло и свойство переносимости программ, написанных на этих языках, между разными операционными системами и значительное уменьшение количества строк кода в тесте программы.
Но языки высокого уровня имеют и огромное количество недостатков. Например, почти все они создают медленные программы очень большого размера и которые к тому же еще и используют очень много памяти. Для современных компьютеров это не является критическим показателем, но при одновременном выполнении на одном компьютере большого количества запущенных программ из-за этого могут возникнуть некоторые неудобства в виде медленного реагирования выполняющейся программы на действия пользователя, а то даже и сама система может оказаться полностью неработоспособной. А с присущим современным операционным системам принципом многозадачности это уж никак не совместимо.