Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?
Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Здравствуйте, Chrome, Вы писали:
C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?
а что сейчас это не так?
"вы просто не умеете их готовить"(с)
бьеш программу на модули поменьше + DI и всех делов.
Здравствуйте, Chrome, Вы писали:
C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?
Ну, для начала, наверное, нужно научиться скармливать в компилятор не саму программу, а исходник + предыдущий результат компиляци + дельту. C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Судя по тому, что современные системы типа intellisence в IDE не занимаются перекомпиляцией всего проекта на каждое изменение, принципиальных препятствий нету.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, cvetkov, Вы писали:
C>Здравствуйте, Chrome, Вы писали:
C>>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции? C>а что сейчас это не так? C>"вы просто не умеете их готовить"(с) C>бьеш программу на модули поменьше + DI и всех делов.
я, собственно, интересуюсь, почему компилятор за меня это не делает.
Что в нем не так и можно ли это поменять.
Почему, если я сделал небольшое изменение, скорость перекомпиляции должна зависить от колличества модулей, на которые я разбил код или архитектурных решений(типа использования DI)
Здравствуйте, Chrome, Вы писали:
C>>>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции? C>>а что сейчас это не так? C>>"вы просто не умеете их готовить"(с) C>>бьеш программу на модули поменьше + DI и всех делов.
C>я, собственно, интересуюсь, почему компилятор за меня это не делает. C>Что в нем не так и можно ли это поменять. C>Почему, если я сделал небольшое изменение, скорость перекомпиляции должна зависить от колличества модулей, на которые я разбил код или архитектурных решений(типа использования DI)
что-то можно сделать, но всегда можно написать программу так что потребуется поная перекомпиляция.
Здравствуйте, Chrome, Вы писали:
C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?
Сложность самих языков программирования. Есть языки (не буду указывать пальцем сколько у него плюсов и шаблонов), которые отчего только не зависят. (Препроцессор с инклудами, шаблонные параметры шаблонов, множественное наследование, исключения и тп). Но говорят, что clang что умеет.
Вот был паскаль, летал как... как колибри.
Здравствуйте, Chrome, Вы писали:
C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?
Ничего не мешает. Именно так работал, работает и будет работать компилятор Delphi с незапамятных времён Турбо-Паскаля.
C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Здравствуйте, Chrome, Вы писали:
C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Скорее наоборот в прошлом это как раз было (ну и сейчас есть) те же Smalltalk среды и другие платформы работающие с
образами системы (некоторые лиспы например) именно так себя и вели.
Здравствуйте, Chrome, Вы писали:
C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции? C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Нет. Это существует уже давно в VC++. Называется Edit And Continue. Только вот, увы, порождает скорее проблемы, чем решения.