Здравствуйте, Курилка, Вы писали:
M>>Там совсем другие проблемы. Совсем. К>Предметно-то сказать можешь?
Ну возьми те-же скриптовые языки. Как на них удобно писать маленькие программы. Ни типов объявлять,
ни о скорости заботиться. А попробуй написать на скриптовом языке большую программу — очень
скоро начнётся такая борьба с вылазящими изо всех щелей ошибками связанными с типами, что
проект застынет на месте.
Или эту эпопею с Java. Все-ж бросились, как она вышла, писать на ней web browser.
И Sun, и Netscape. И написали. Да только оно так тормозило и столько ресурсов ело,
что забили на эти проекты. А бросились их писать из-за того, что этот С/С++ достал
своими ошибками с указателями, переполнением буферов и ручным управлением памятью
(которая и текла и баги выдавала при удалении живых объектов — одновременно).
Большой проект — это всегда смесь противоречивых требований. И надёжно должно быть,
и работать быстро, и писать программу надо быстро и дёшево. Эти требования можно
разрешить только разделяя программу на разные уровни — внешний (где скрипты рулят),
внутренний (где требования промежуточные), ядро (где нужно быстро и надёжно, но
которое не такого большого размера, и можно его писать долго и дорого).
Писать эти разные части на разных языках — замечательно выходит.
Проблемы начинаются, когда эти разные языки пытаются соединить вместе.
А у них рантайм разный. И всё, приплыли. Передача данных и управления между
разными слоями становится настолько сложной и тормознутой, что это перечёркивает
все преимущества разделения проекта на разные части. И мы опять у разбитого корыта.