Здравствуйте, eao197, Вы писали:
E>Здравствуйте, reductor, Вы писали:
R>>В моей обычной практике я использую около 30 языков программирования. Среди них хватает и императивных и функциональных и логических и стековых и гибридов всего этого смешанных вместе.
E>Можно ли развить эту тему по-подробнее?
Это был ответ на предположение, что я не знаю "императивных" языков.
Я буквально ответил, что знаю и много. Речь не про "в одном проекте"
E>Это действительно интересно, т.к. недавно я утверждал, что сложно одновременно использовать в проекте 3-5 языков (Re[2]: Предагаю мир!Автор: eao197
Дата: 20.10.05
).
Сложно, если кто-то в команде не знает какого-то языка и не желает его осваивать, а это необходимо.
Иногда это можно уважать и что-то придумать, иногда — изменяется состав команды.
В любом случае, у меня нет оснований считать, что количество языков в проекте каким-то образом влияет на его "сложность" при разработке. Хотя, возможно, более вероятно, что проблем будет больше при поддержке, если в ней участвует малое количество не очень восококвалифицированных программистов.
E>Но здесь цифра просто на порядок большая
. Можно ли подробнее, что это за языки, для каких целей используются, как применяются, какие замечены достоинства/недостатки использования такого количества языков, используется ли это все в рамках одного проекта, какова численность команды и пр.?
Ничего, если я не буду перечислять все 30, что могут быть?
Одновременно в одном коммерческом проекте могут использоваться 3-5 полноценных, тьюринг-полных языков, особенно в клиент-серверном случае.
Как пример — Java/Prolog/Scheme/Python (Все могут быть и в пределах одной java-машины) на сервере и Smalltalk, Javascript, Tcl на клиенте. + еще VB на клиенте внутри Ms Office
Это конечно не считая кучи domain specific языков для конфигурации, интеропа, DB, GUI и тп
Вообще в чем проблема, квалифицированному программисту выучить любой язык, если очень нужно — полдня максимум
Команды 2-5 человек
Еще замечу, что количество человек в команде не такую уж и большую роль играет. 2 опытных человека используя правильные инструменты сделают работу быстрее, чем 20 не таких опытных с неподходящими инструментами.