Здравствуйте, aka50, Вы писали:
К>>Знаешь, а прикольная идея как раз эдакий "рубильник" встроить в сам язык, чтоб можно было бы регулировать соотношение гибкость/жёсткость в ту сторону, которую нужно, причём, чтоб это было универсальным подходом, как сама расширяемость того же лиспа.
A>Идея может и хорошая, но есть кучка минусов: A>1. Рушится стройная концепция языка, т.к. разработчик вынужден кроме реализации собственно языка производить еще и тонкую настройку "рубильников" A>2. Разработчик языка должен предусмотреть интероперабельность различных "рубильников", результаты такого подхода мы можем все наблюдать в java 1.4 vs 1.5 A>3. Если этих рубильников в языке будет много, начнется "dll-hell" и реализовать пп2 будет еще сложнее
A>По этому и получаем: либо красивый язык, но включающий все и сразу с определенными ограничениями (принятыми разработчиками исходя из задач языка или иных мотивов) или получаем lisp где в общем-то не сложная и распространенная конструкция list coprehension превращается в доп библиотеку...
Так не в один язык надо встраивать, а сделать как в .NET — высокоуровневые языки и низкоуровневые языки.
Большую часть кода (80%) писать на высокоуровневом. Ядро (20%) писать на низкоуровневом.