OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 24 Апрель, 2024 14:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 60 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 19:12 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Коллеги, я правильно понял, что больше нет возражений сделать автосохранение текста модуля перед компиляцией? И что на это поведение не нужно делать опций настройки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 19:19 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Как минимум я компилирую модули, которые вообще не сохраняю. Не знаю, стоит ли это учитывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 19:46 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Штатным компилятором? Расскажите подробнее, пж. В чем назначение? Видимо, это автогенерируемые модули? Вы их компилируете командой меню/с клавиш, или вызываете DevCompiler.CompileText?
Машкоды и символы у вас в обычные места складываются?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 19:55 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Просто эксперименты или ситуативные вычисления, типа, "скриптовый язык".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 20:07 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Из вашего ответа не смог получить сведения, которые мне нужны.

Под "автосохранением перед компиляцией" я имею в виду очень поверхностное действие:
MENU Dev
"Compile" "K" "StdCmds.Save; DevCompiler.Compile" ""

Если автосохранение не подлежит отключению, то этого достаточно. Если подлежит - придется слегка нагородить огород.

Если скриптовый язык, полагаю, вы вызвыаете DevCompiler.CompileText напрямую, и в этом случае автосохранение вас не заденет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 30 Декабрь, 2022 22:09 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1167
+1 к автосохранению.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 01:19 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Не, ну я согласен с Константином. Иногда чего-то нагородить короткое бывает полезно, не сохраняя. А потом сохранить, если пошло хорошо.
С другой стороны и автосохранение хорошо. Но только если с отменой сброса операций в комплекте, конечно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 10:00 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Думаю, то раз теперь отменили сброс операций, то такое поведение меньше сюрпризов будет давать. Однако часто люди используют компиляцию для проверки корректности программы, а не для получения непосредственно исполняемых файлов. И вот тут зачем мучить SSD диск не совсем понятно. Я бы добавил ещё команду компиляции без сохранения и даже без создания артефактов. И повесил её на Ctrl+Space к примеру. Тогда её вызывать для проверки программы. А уже для создания артефактов Ctrl+K и с сохранением файла, как вы предлагаете.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 11:32 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
А я бы не менял работу Ctrl+K.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 12:45 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Иван, для проверки корректности без сохранения - предлагаю вам воспользоваться командой Analyze. Повесьте ее себе на Ctrl+Space.

Но чем помешает сохранение, если вам нужно проверить корректность - мне непонятно.
Соображения о мучениях SSD диска - невесомы без цифр; неинженерны.

Далее я изложу свои соображения об удобном поведении среды.

Компиляция несохраненного текста, который начинается с MODULE ThisModule - в моей вселенной не вызывает диалоговых окон типа "Куда сохранить", а напрямую создает файл This/Mod/Module.odc.

Автосохранение, по мне, должно быть не перед компиляцией, а непрерывное. Я - человек-программист, текст передо мной, я его изменяю. Что такое сохранение?! это пережиточное понятие вообще. Да, у него есть побочный эффект, которым мы привыкли пользоваться - можно поправить и несохранить, а потом вернуться - но это побочный эффект, актуален в силу отсутствия версионности или хотя бы сохранения истории операций.

Хорошо, что мой блокнот и перьевая ручка спроектированы без операции "сохранить".

И то, что где-то есть "прочие артефакты" - машкодовый файл и символьный файл - это издержки реализации. Учащихся и прикладных программистов можно бы и не грузить этим, тем более проблемами из-за рассинхронизации этих артефактов. И даже системным программистам ББ до этого есть дело только в той части, где этот зоопарк файлов обслуживается и сокрывается.

Ведь - подумать только! - есть Текст, Текстовый файл, Кодовый файл, Символьный файл, и еще собственно Подключенный модуль. Оккам плачет с бритвой.

В Сообщении о Языке говорится о модулях: "A module is a collection of ... . ...when the module is added to a system (loaded)..."
Таким образом, 1) модуль существует и 2) модуль может быть, а может не быть добавлен в систему, и есть момент, когда он добавляется в систему. Ну, или подключается, сейчас мне такой термин нравится.

В моем понимании все артефакты и ипостаси сверх этого - издержки реализации. Нужно повышать уровень абстракции, в частности, абстрагируясь (т.е. отдаляясь) от файлов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 12:52 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1429
adimetrius писал(а):
Компиляция несохраненного текста, который начинается с MODULE ThisModule - в моей вселенной не вызывает диалоговых окон типа "Куда сохранить", а напрямую создает файл This/Mod/Module.odc.

А если такой файл уже есть, он затирается?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 12:54 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1167
абсолютно согласен с Антоном Александровичем. более того: я считаю, что историю отмен тоже надо бы опционально сохранять в документ, чтобы вообще всё было прозрачно. не знаю, пока, насколько это будет сложно реализовать, но хотя бы чисто текстовую историю (с атрибутами) — сохранять очень хочется.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 13:01 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Хороший вопрос. В моем техпроцессе я на такое не натыкался, надо попробовать, тогда я пойму, что мне удобнее. На первый взгляд, можно отказать в компиляции и вставить у имени модуля маркер сообщения с ошибкой "Такой модуль уже есть, и это, похоже, не он". Можно как в Систем 3: умерла так умерла. Там, емнип, не церемонились с потерей несохраненных изменений в тексте, но по крайней мере кнопка Close превращалась в Close!. (Конечно, есть еще вариант МС: выкинуть модальное диалоговое окно Abort Ignore Retry, желательно модальное на всю систему)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 13:07 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1167
adimetrius писал(а):
(Конечно, есть еще вариант МС: выкинуть модальное диалоговое окно Abort Ignore Retry, желательно модальное на всю систему)
вообще, сообщения о подобных ошибках можно вставлять прямо в документ, как отдельный псведо-тулбар, и красить Страшным Красным Цветом. сразу решается и проблема модальности, и проблема принадлежности окна-сообщения. ну, или оборачивать временно документ в такое, это уже детали реализации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 18:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Борис Рюмшин писал(а):
А я бы не менял работу Ctrl+K.

А кто предлагает менять работу Ctrl+K. Антон предлагает только в меню добавить дополнительную команду. А я предлагаю на Ctrl+Space добавить компиляцию без создания артефактов. Analize не делает компиляцию, так что он не подходит. Люди именно компилируют модуль, а не проверяют.

Все остальные размышления я нахожу слишком революционными, мне пока нечего про это сказать. Я за классику.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 21:36 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Иван Денисов писал(а):
Analize не делает компиляцию

Первую фазу компиляции - анализ и проверку формальной корректности - делает, уверяю вас. Зуб даю. Век воли не видать.
Посудите сами, как анализировать формально некорректный модуль?
Правота ваша только про вторую фазу - генерацию кода. А значит анализатор не переписывает машкодовые и символьные файлы. Т.е. для желающих "только ножки помочить" вполне подходит как раз.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Январь, 2023 09:08 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
Да не подходит Analize, он еще и кучу других ошибок выводит. Я почитал вашу заметку про библиотекаря, как вы там лихо организовали компиляцию без артефактов. Так что хочу теперь попробовать! Это очень полезно для проверки. А то я каждый раз пересобирая Блэкбокс для тестов страдаю, что эти тысячи файлов создаются. Для компилятора точно нужен ключик для компиляции в память, без создания артефактов. А если библиотекарь это легко позволит сделать, просто замечательно будет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Январь, 2023 12:40 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1167
Иван Денисов писал(а):
Для компилятора точно нужен ключик для компиляции в память, без создания артефактов.
половина ключа уже есть: опция "----" отключает генерацию объектников. осталось только добавить отключение записи .sym, добавив обработку ещё одного минуса.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 01 Январь, 2023 13:29 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3776
arisu писал(а):
Иван Денисов писал(а):
Для компилятора точно нужен ключик для компиляции в память, без создания артефактов.
половина ключа уже есть: опция "----" отключает генерацию объектников. осталось только добавить отключение записи .sym, добавив обработку ещё одного минуса.
О, спасибо! уже есть же поддержка оказывается. А символьный файл и так не обновляется, если ничего нового не было. Так что диск не изнашивает.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Январь, 2023 00:37 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Иван Денисов писал(а):
А символьный файл и так не обновляется, если ничего нового не было. Так что диск не изнашивает.

RAM-диск попробуйте - подозреваю, не сможете отказаться ;-)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 60 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB