Pavia писал(а):А зачем вы goto на пустой код делаете? Короче вам надо синтаксис паскаля выучить.
А вы серьёзно считаете, что я должен был выложить сюда половину проекта ещё до его релиза специально чтобы люди со спящей фантазией увидели не пустой код? Я выложил минимальный пример такого синтаксиса всего с двумя переменными и без процедур. Если вам интересны сами процедуры, то увы, боюсь. что после их выкладывания останусь у разбитого корыта.
Pavia писал(а):Что за бред? Стандарт паскаля более 20 лет не менялся. И давно всё переведено.
Ага, не менялся, а новые версии fpc всё выходят и выходят. А с переводом не всё хорошо, часть его грохнули и всё подмяли под лазарус. Та справка в html формате, что идёт вместе с дистрибутивом исходников - вообще без перевода! А именно несколько её файлов открыты у меня в браузере почти постоянно. Также её можно открывать в fp-ide, но там хуже видно чем в браузере.
Pavia писал(а):Для этих целей есть автоматы.
И зачем для такой простой вещи подключать лазарус с другим диалектом паскаля и всё усложнять указателями и прочей хренью? Мой пример нормально работает при
{
{$MODE FPC}
А ваш не сможет. Для него и редактор другой применять придётся!
Pavia писал(а):Это называется таксичный код. Rad студия умеет подсчитывать таксичность кода. Если в функции больше 2-х условий или больше 2-х циклов, то его становиться трудно поддерживать. Для чего и придумали писать качественный код, а не как у вас.
А мой код должен принести _мне_ пользу и быть по возможности нереализуем другими программистами увидевшими конечный результат. Капитализм на дворе и сражение за миску супа. Кто проиграл, тот бомж и подыхает под мостом. Причём мой код нормально пишется и анализируется из консольки, в простой паскалевской ИДЕ, и не требует Rad студии. И какой из кодов тогда более токсичный?
Pavia писал(а):И не нужно Вирт придумал структурированный подход. А потом родился ООП и семантический подход когда по названию понимаешь что делает функция.
А потом вдруг нужно залезть в класс чтобы что-то исправить и начинается поиск мест по которым размазана реализация. ООП, это не про удобство понимания кода, а про удобство копипасты однажды кем-то накоденных решений. Клац, клац по формам, что-то прописал в обработчиках событий и готово. Ну так вот, ООП интерфейс у меня давно готов, там только что-то мелкое подправить можно, когда необходимость созреет. Так что описанным вами методом пока кодить нечего. Нету готовых классов в лазарусе для ненаписанной части кода, а значит он может отдохнуть в сторонке. Как ООП, так и несчастье - то из стека вылетишь, то память подтекает. Причём часть мин ловушек имеют замедленное действие, их не сразу заметишь и тогда - здравствуй отладчик и замена паскалевских гото ассемблерными
Pavia писал(а):Такую же идею и используют при проектировании дробя код на независимые модули.
Это же основы проектирования архитектуры.
Считаете, что у меня код с гото такой маленький, что его удобно редактировать в одном файле?
Pavia писал(а):Сокрытие и уменьшение связности. Последнее достигается за счёт применения теоремы Барбары которая позволяет уменьшить число case.
А вот связности мне нужно побольше, а теорем поменьше. Такой вот проект.
Pavia писал(а):В паскале нет асинхронности вам следует перейти на новые языки с поддержкой await и yield.
Не знаю, что это за операторы, но про асинхронность вы сильно ошибаетесь. Давно уже сказано, что на паскале можно написать всё. А вот как это "всё" писать без гото и касе, данный мыслитель ничего не изрёк.
Pavia писал(а):Какашка это ваш goto. Он ломает темпоральную логику не позволяя формально доказать правильность работы программы на соответствие спецификации описанной на языке TLA+.
Гото, это замечательный логический элемент, который соответствует русскому народному посыланию на 3 весёлых буквы и в прочие интересные места. А в математике гото нет, но это ещё раз подтверждает ту истину, что математика это подмножество логики, а никак не наоборот. Если вы не смогли написать логическую спецификацию, то идите и переписывайте нормально.
Pavia писал(а):Т.е кроме как показывать время ни на что больше не годится?
Маленькая часть не должна уметь всего. Ну а количество параллельных времён там около десяти, так что даже и время там показать не такая простая задача. Говорю же, есть в паскале асинхронность, это в лазарусе её так сломали, что приходится кидать на форму элемент "будильник" - тимер
и прописывать в его обработчике кучу событий.