Очень часто при выборе программного интерфейса чуть ли не самыми важными фак­торами являются простота и легкость в использовании. Большинство реальных проектов выполняются в сжатые сроки и ограничены в ресурсах, поэтому даже если определенный язык технически лучше подходит для определенного приложения, но разработка кода будет занимать много времени и ресурсов, он может не пройти тест "стоимость против прибыли". В таких ситуациях очень часто используется хотя и менее оптимальное, но более простое решение.
Разумный компромисс
В "битве" транслируемых и интерпретируемых языков Java занимает нейтральную позицию. Сначала, в процессе, равносильном компилированию, код Java преобразуется в байт-код. Затем этот байт-код интерпретируется "виртуальной машиной" и выполняется. Этот двухуровневый подход объединяет лучшее и худшее двух сторон: программы на Java в высшей степени переносимы и защищены, но дополнительный шаг может привести к довольно заметному снижению производительности.
В качестве примера этого аргумента часто приводятся ЯП C и C++. Хоть оба языка очень мощные и позволяют полностью контролировать производительность и управлять ресурсами, обычно написание простого приложения с помощью этих языков - это довольно трудная задача, требующая много времени и усилий. А ЯП РНР, который поставляет со встроенной поддержкой MySQL, наоборот, предоставляет многочисленные высокоуровневые конструкции, которые позволяют создать приложение на основе MySQL довольно легко и быстро. 
Как известно, две важные составляющие простоты - это удобочитаемость и простота использования. Обычно код таких языков, как PHP и Perl, легче читать и понимать, чем аналогичный код на C или Java.
Эта удобочитаемость может способствовать повышению уровня удобства работы программиста с языком, а также сокращает время, необходимое для доработки, когда новые части кода нужно вставить в уже существующие приложения.
Доступность библиотек и инструментальных средств
Еще одним важным фактором, который может повлиять на выбор программного ин­терфейса, является доступность подключаемых к языку библиотек. Доступность этих дополнительных библиотек может существенно сократить время разработки новых воз­можностей и одновременно увеличить надежность благодаря использованию испытанных модулей с открытым кодом. Вы бы предпочли язык с большим запасом свободно доступных библиотек, чтобы не пришлось изобретать колесо при каждом добавлении в приложение новой возможности или функции?
Популярность языков Java, Perl и PHP привела к созданию больших онлайновых хранилищ кодов, содержащих модули дополнительных библиотек - от манипулирования файлами до шифрования данных. Эти библиотеки существенно добавляют ценности языкам и часто приводят к тому, что разработчики предпочитают эти языки, а не ЯП С, который поставляется с меньшим количеством аналогичных библиотек.
Кроме того, на выбор языка влияет качество и количество инструментальных средств разработки. Предпочтение отдается языкам, которые поставляются со сложными инст­рументальными средствами, автоматически генерирующими код из высокоуровневых заданий, или тем языкам, что содержат мощные компиляторы, отладчики и среды разработок. Конечно, можно написать код на любом языке в простом текстовом редакторе, но если есть интегрированная среда разработки, позволяющая выполнить задание, щелкнув кнопкой мыши, выбор совершенно очевиден.