OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2019 06:01

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




Начать новую тему Ответить на тему  [ Сообщений: 185 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Пятница, 22 Июль, 2016 06:11 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 344
Откуда: Россия, Стерлитамак
prospero78 писал(а):
Info21 писал(а):
FreePascal -- 4 часа...7 дней.
python -- 2...5 дней.

А это не связано с тем, что просто код "отрефакторили", пока переписывали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Пятница, 22 Июль, 2016 08:54 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
adva писал(а):
prospero78 писал(а):
FreePascal -- 4 часа...7 дней.
python -- 2...5 дней.

А это не связано с тем, что просто код "отрефакторили", пока переписывали?


Конечно, код был несколько отрефакторен. Всё-таки перенос был не линейный, язык сильно накладывает стиль и ограничения.
Но роль поиска ошибок в ходе переписывания я бы оценил процентов 15%.
В случае с FreePascal -- ошибка вылетает бессистемно. В случае с python -- явные ошибки проектирования самой виртуальной машины. Кроме того, python -- дитя Си и Linux, и это родовое пятно не позволяет python НОРМАЛЬНО интегрироваться в экосистему Windows. Про быстродействие особенно третьей ветки змеюки -- грустно помолчу. И то, и другое выпилено под корень в метаОС БлэкБокс. Я об этом довольно подробно писал в начале темы, и есть выше ссылка на гугль-документ, где я большую часть этих косяков описываю.

Сейчас опять переделываю код с русскими идентификаторами, и чувствую, как код меняется на более осмысленный. В параллельной ветке форума, вчера графоманствовал по этому поводу.
Это ещё даёт к существующей семантике +15...20%. Предсказуемость машинного кода уже и так достаточна)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Пятница, 22 Июль, 2016 23:39 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8046
Откуда: Троицк, Москва
Спасибо, здорово, что есть реальное сравнение с чиселками.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Воскресенье, 24 Июль, 2016 07:37 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Info21 писал(а):
Спасибо, здорово, что есть реальное сравнение с чиселками.

Да без проблем)
Поймал себя на той мысли, что эти +15...+20% в семантике, видимо, есть точка перехода количества в качество. Всё прям как по Гегелю)))

Есть у меня кусок кода, где для получения тока делю мощность на напряжение. Только смотря на русские идентификаторы сообразил, что я могу бесконтрольно пытаться что-либо делить на ноль...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 03:30 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9115
Откуда: Россия, Орёл
В порядке рабочего бреда:

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 10:21 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Илья Ермаков писал(а):
В порядке рабочего бреда:

Ну, как по мне, Илья, это вовсе не бред.
Механический просмотр текста не больно-то повышает качество исходника.
Попытка семантического анализа -- гораздо перспективней.
И, сразу возникает вторая мысль: семантический анализ заведомо будет предпочтительней, чем версия на буржуйском. А если так, то точнее будет сделать:
1) реализация в национальной кодировке;
2) реализация для международного сообщества;
Имхо, это более рациональное распределение сил и средств)

З.Ы. Гратулирен Зи! Овер 9к месадж!)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 11:23 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 383
Откуда: Москва
prospero78 писал(а):
Только смотря на русские идентификаторы сообразил, что я могу бесконтрольно пытаться что-либо делить на ноль...
Использование национального языка (в данном случае русского) позволяет обнажить эту проблему. Проблему приближения к СМЫСЛУ предметной области.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 11:49 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2292
Откуда: Россия, Санкт-Петербург
Владимир Паронджанов писал(а):
Использование национального языка (в данном случае русского) позволяет обнажить эту проблему. Проблему приближения к СМЫСЛУ предметной области.
Кстати, неплохое применение для ДРАКОНа - code review. Позволяет взглянуть на код по-новому.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 13:25 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Александр Ильин писал(а):
Владимир Паронджанов писал(а):
Использование национального языка (в данном случае русского) позволяет обнажить эту проблему. Проблему приближения к СМЫСЛУ предметной области.
Кстати, неплохое применение для ДРАКОНа - code review. Позволяет взглянуть на код по-новому.

Александр, и я про тоже. Как-то в параллельной ветке уже написал: Оберон и Дракон созданы друг для друга))
Да ещё на национальном языке... Остаётся только прикидывать качественные эффекты от такого мутагенеза)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 15:43 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Смотрю на свою подсистему "Бокс". А там лежат модули:
...
БоксСекция
БоксЛинейный
БоксРазъед
БоксВвод
БоксЛ110
БоксСтатистика
БоксВремя_работы
....
и медленно вращается в голове мысль:
1) То, что относится к железу, должно быть "ячейкой"
2) То, что относится к служебным данным -- можно оставить "боксом".

А в английском варианте, как-то над этим не задумывался...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Понедельник, 25 Июль, 2016 18:58 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2292
Откуда: Россия, Санкт-Петербург
prospero78 писал(а):
Смотрю на свою подсистему "Бокс". А там лежат модули:
...
БоксСекция
БоксРазъед
БоксСтатистика
БоксВремя_работы
....
БоксХук
БоксРаунд
БоксЭкипировка
...

Что ни говори, а с английскими словами меньше не относящихся к делу ассоциаций. И чем хуже знаешь английский, тем лучше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Вторник, 26 Июль, 2016 09:27 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Александр, не соглашусь.
Чем меньше ассоциаций, тем больше тумана и смещённых понятий.
И омонимы в программировании -- это ужасно, имхо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Вторник, 26 Июль, 2016 19:17 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
В ходе переписывания на русский язык обнаружил около 5 ошибок.
Именно из-за русского языка. Был бы английский, я бы их так и проигнорировал.
Плюс, уже выработался стиль кода под Компонентный Паскаль на русском. Это тоже семантическая подстраховка от ошибок. В-общем, юникод и идентификаторы на национальном языке имеют явное преимущество.
Не надо бояться русского языка в программировании))
Адд. Нет-нет, да иногда сдувал с golang пыль и пытался что-то пробовать. Не, для меня -- не взлетел)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Вторник, 26 Июль, 2016 20:30 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 383
Откуда: Москва
prospero78 писал(а):
Не надо бояться русского языка в программировании
Поддерживаю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Среда, 27 Июль, 2016 10:59 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 307
"В ходе переписывания на русский язык обнаружил около 5 ошибок.
Именно из-за русского языка. Был бы английский, я бы их так и проигнорировал…"

Интересно как это выглядело? Если не трудно можно примерчик?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Среда, 27 Июль, 2016 12:40 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Artyemov писал(а):
"Интересно как это выглядело? Если не трудно можно примерчик?

Ох..
Надо мозг напрягать, а я не привык))

Что вспомнил:
1. Заменял однотипные вызовы _SetRaw() из разных типов измерений (напряжение, ток, мощность и т. д.) на соответствующие вызовы (_Ток_Уст(), _Напр_Уст(), _МощнАкт_Уст() и т. д.). С учётом того, что замена не имеет масштаба, но уже имеет тип, что приводит к снижению вероятности неверного присвоения между типами. Поскольку вызов присвоения без масштаба опасен -- как и _SetRaw() метод начинается с нижнего подчёркивания (признак опасности). кВт_Уст(), МВА_Получ() -- безопасные методы, доступны для использования.
2. Были просто ошибки, когда наличие напряжение на проводнике в кабеле (булево значение) присваивал не на тот проводник по фазе. Тут, конечно, влияние языка меньше, но в английском варианте я это просто _не_видел_.
3. Семантическое расхождение привело по крайней мере к двум ошибкам. В одном случае неудачное слияние _фактического_железа_ и _служебных_данных_ в одной подсистеме привело к не оптимальному алгоритму дорасчёта в служебных данных. Я просто не знал куда такие модули запихнуть.
4. Логический контроль наличия напряжения на проводниках кабелей был сделан не совсем удачно из-за того, что сам себя ввёл в заблуждение названием методов классов. Например, типовое название Get_kV(). А после перевода языка, оказалось, что всё-таки удобней ставить впереди размерность, а позади действие: кВ_Получ(), кВ_Уст(), кВ_ср_Уст() и т. д. Кроме того, сложно было подобрать адекватное название методу Считать_вх_на_вых(), в оригинале Calc_in_out(). Название Calc_in_to_out() я посчитал не совсем удачным. Кроме того, такая штука как шинный разъединитель у меня обозначался как sr1. И секционный разъединитель в другом модуле также обозначался как sr1. Что конечно, приводило к путанице. Теперь шр1 и ср1 спутать весьма сложно)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Среда, 27 Июль, 2016 16:41 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Кстати, вот ещё мелочуха.
Практически, для каждого модуля есть (были) три процедуры:
1. Data_Update
2. Data_Calc
2. Gui_Update

Если с последней более-менее понятно, то первые две не так очевидны.
Data -- данные.
Date -- дата (хронологическая).
Всего одна буква, но выход будет другим))

Заменено на:
1. Данные_Обновить
2. Данные_Считать
3. Гип_Обновить

Думаю, здесь вероятность возникновения ошибки гораздо ниже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Среда, 27 Июль, 2016 16:46 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8046
Откуда: Троицк, Москва
prospero78 писал(а):
юникод и идентификаторы на национальном языке имеют явное преимущество.
Имеют отчётливое преимущество.

Хотя когда-то программы на русском воспринимал дико.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Четверг, 28 Июль, 2016 11:20 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 307
prospero78, благодарю, надеюсь не сильно вас напряг. (:

Да, показательно.

Если уж на родном языке, то обратите внимание: "Считать_***" - то-ли "вЫчитать из" (read\get) то-ли "посчитать что-то" (calculate).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОИК "Восход"
СообщениеДобавлено: Четверг, 28 Июль, 2016 11:30 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1107
Откуда: СССР v2.0 rc 1
Да. Соглашусь. "Считать" имеет двоякую смысловую нагрузку в плане "Read" и "Calculate".
И слово мне это не очень нравится. И из контекста не сильно понятно, что имеется в виду. Но мои приплюснутые мозги пока других мыслей не рождают.
Но для себя двусмысленность снял используя отдельно суффикс *_Получ() для "Read".
Возможно, более удачным вариантом для "Считать" будет суффикс "*_Вычислить".
Тут ещё есть над чем подумать.

Адд. Подумал я тут недолго, и решил: а и вправду!? Заменю-ка я *_Считать на *_Вычислить))
Вот до чего доводит утеря русского языка!! Не знаю как правильно по русски мысль выразить!!!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 185 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10  След.

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


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

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


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

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