Языковые войны: Джеймс Гослинг о неполноценности скриптовых языков
Макс ИщенкоОпубликовано 14.03.2006 в Статьи
Джеймс Гослинг, один из авторов языка Java, выступая на конференции в Нью-Йорке высказался относительно т.н. “скриптовых языков”, в частности, Ruby и PHP:
PHP и Ruby – продукты вполне достойные … но это скриптовые языки, которые сильны своей специализацией: они только умеют генерировать веб-странички. Но ни один из них [скриптовых языков, надо понимать - Макс] не претендует на универсальность и оба имеют очень серьезные проблемы с масштабируемостью и производительностью.
Гослинг также привел в пример “межпланетную навигацию” как достойную область применения Java и где никогда не будет места скриптовым языкам.
Неудивительно, что такого рода комментарии вызвали широкую ответную реакцию. В качестве одного из достойных ответов рекомендую пост с lesscode.org: Gosling Didn’t Get The Memo. Аргументы апологетов “скриптовых языков” сводятся к следующему:
- Давайте разделять специализированные языки, такие как bash или awk и универсальные, такие как Python или Ruby, а не мешать их все в кучу как “скриптовые”. Давайте называть последние dynamic languages.
- Такие языки как Python, Perl или Ruby действительно являются универсальными (general-purpose). Разве что PHP находится где-то посредине: вне веб-страниц его использовать можно, хотя в этом редко есть смысл.
- “Область применимости” (application domain) современных динамических языков вполне сравнима с Java или С. Да, у каждого языка есть свои сильные и слабые стороны, но и только.
- Масштабируемость и производительность решений определяется не языком, а интегральными факторами, такими как архитектура ПО.
disclaimer: сам я последние время программирую в основном на Python, хотя к Java/C отношусь по-прежнему хорошо и продолжаю использовать.
Понравилась статья? Подпишись на обновления по RSS/E-mail

Взагалі-то там де не місце скриптовим мовам там дуже часто і не місце Яві.
Если не секрет, для каких задач используешь Python? web?
В основном, да. Хотя попадаются и не связанные с вебом задачи, например обработка/анализ данных.