Что нужно для инкрементарной компиляции?
От: Chrome  
Дата: 27.05.11 11:57
Оценка:
Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?
Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Re: Что нужно для инкрементарной компиляции?
От: cvetkov  
Дата: 27.05.11 12:02
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?

а что сейчас это не так?
"вы просто не умеете их готовить"(с)
бьеш программу на модули поменьше + DI и всех делов.
Re: Что нужно для инкрементарной компиляции?
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.05.11 12:09
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?

Ну, для начала, наверное, нужно научиться скармливать в компилятор не саму программу, а исходник + предыдущий результат компиляци + дельту.
C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?
Судя по тому, что современные системы типа intellisence в IDE не занимаются перекомпиляцией всего проекта на каждое изменение, принципиальных препятствий нету.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Что нужно для инкрементарной компиляции?
От: Chrome  
Дата: 27.05.11 12:33
Оценка:
Здравствуйте, cvetkov, Вы писали:

C>Здравствуйте, Chrome, Вы писали:


C>>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?

C>а что сейчас это не так?
C>"вы просто не умеете их готовить"(с)
C>бьеш программу на модули поменьше + DI и всех делов.

я, собственно, интересуюсь, почему компилятор за меня это не делает.
Что в нем не так и можно ли это поменять.
Почему, если я сделал небольшое изменение, скорость перекомпиляции должна зависить от колличества модулей, на которые я разбил код или архитектурных решений(типа использования DI)
Re[3]: Что нужно для инкрементарной компиляции?
От: cvetkov  
Дата: 27.05.11 13:37
Оценка:
Здравствуйте, Chrome, Вы писали:

C>>>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?

C>>а что сейчас это не так?
C>>"вы просто не умеете их готовить"(с)
C>>бьеш программу на модули поменьше + DI и всех делов.

C>я, собственно, интересуюсь, почему компилятор за меня это не делает.

C>Что в нем не так и можно ли это поменять.
C>Почему, если я сделал небольшое изменение, скорость перекомпиляции должна зависить от колличества модулей, на которые я разбил код или архитектурных решений(типа использования DI)
что-то можно сделать, но всегда можно написать программу так что потребуется поная перекомпиляция.
Re: Что нужно для инкрементарной компиляции?
От: fin_81  
Дата: 27.05.11 14:07
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?


Сложность самих языков программирования. Есть языки (не буду указывать пальцем сколько у него плюсов и шаблонов), которые отчего только не зависят. (Препроцессор с инклудами, шаблонные параметры шаблонов, множественное наследование, исключения и тп). Но говорят, что clang что умеет.
Вот был паскаль, летал как... как колибри.
Re: Что нужно для инкрементарной компиляции?
От: Географ Россия нет
Дата: 27.05.11 14:18
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?


Ничего не мешает. Именно так работал, работает и будет работать компилятор Delphi с незапамятных времён Турбо-Паскаля.

C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?


не знаю.
Re: Что нужно для инкрементарной компиляции?
От: FR  
Дата: 27.05.11 14:20
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?


Скорее наоборот в прошлом это как раз было (ну и сейчас есть) те же Smalltalk среды и другие платформы работающие с
образами системы (некоторые лиспы например) именно так себя и вели.
Re: Что нужно для инкрементарной компиляции?
От: Pavel Dvorkin Россия  
Дата: 28.05.11 06:16
Оценка:
Здравствуйте, Chrome, Вы писали:

C>Что мешает проектировать языки программирования и компиляторы таким образом, что бы небольшие изменения в программе выливались в небольшое время компиляции?

C>Есть ли принципиальные препятствия к тому, что бы ожидание перекомпиляции и необходимость перезапуска программы остались в прошлом?

Нет. Это существует уже давно в VC++. Называется Edit And Continue. Только вот, увы, порождает скорее проблемы, чем решения.
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.