Отладка кода (программы) во FreeBasic

Под DOS любые куски памяти распечатаю. Под виндой да, защ. режим. Зарезервированную в программе
память респечатаю, почему нет? Можно в лог HEX-ами, можно на экран в граф виде, если что-то заметное надо найти.
Переменные типа структуры, собственно как я сказал вообще единственный нормальный способ отлаживать
корректно, особенно когда там многоуровневые штуки с указателями. Т.е. делаешь себе удобный шаблон
для отладки(проходки по этим структурам) и это очень сильная перестраховка на самом деле, делается когда
прям очень важная деталь в софте. Простенькие можно отладчиком, но смысла нет, обычно принтуются
несколько ключевых параметров.
Стек вызовов, всмысле последовательность вызовов функций? Стек вызовов мне не нужен, я же написал
что каждую деталь алгоритма завожу и проверяю отдельно, и не вижу смысла делать как-то по другому.
По итогу все собирается как лего и сразу работает.
А долгая перекомпиляция мне не грозит, т.к. все мои проекты укладываются в максимум секунду компиляции(на
старых версиях FB) и если будет как-то по другому, то сильно задумаюсь о том правильно ли всё делаю.
Тем не менее даже так есть пути всё побить на модули, сделать объектники и работать с каким-то одним
куском, компилируя через BAT-ник, это тоже довольно быстро будет и командная строка меня не пугает,
выведу ярлычок в быстрый запуск и буду радоваться. Последний раз работал с модулями ещё под DOS,
под винду - ни разу. Но наверное да, твой проект на 20k строк будет давать несколько секунд ожидания
особенно на современном компиле и с функциями оптимизации.

Ещё раз, если ошибка происходит как ты допустим говоришь в игре в уже созданной, и причина ошибки
вводит кодера в ступор сразу, т.е. сразу нет понятия что это вообще может быть(неизвестен модуль,
неизвестна функция), то будь ты хоть бог отладки - вероятность получить жопу на выходе приближается к соточке.
Обычно кодер догадывается сразу где говно, если мест где оно могло произойти не много. В противном случае
получается лажа и ты это прекрасно понимаешь. Латать недетерминиловку не залатаешь, если где-то подтекает.
И самая хреновая ситуация когда подтекает в одном модуле, а латаешь ты другой, который написан допустим
нормально, но его параметры влияют на неисправный. Здоровому человеку выдаются костыли, а больного сажают
на диету, ну ничего хорошего как бы. Если косяк есть, нужно абсолютно точно понимать что он локализован
и что он не есть порождение многих факторов, потому что с точки зрения алгоритмизации всё это плохо пахнет
и может привести к дополнительным проблемам, т.к. пересечение этих факторов может выступать "слепой зоной",
тем кто формализует, собирает и проверяет по модулям - это не грозит, все остальные в зоне риска.
Это не ставить фиктивные "затычки" на современных т.н. умных указателях и думать какой ты молодец,
что говно даже если и случится - будет работать дальше. Важно не что будет работать дальше, а что говно
в принципе случится, нельзя стряхнуть с себя ответственность и выйти сухим из воды. Где-то говно может
и печально закончиться, в мед оборудовании например, утрированно но понятно...

Мы не молодцы, были и получше ребятки из середины 90-х. А поколения до них ещё поумнее было и себя
костьми просто положили, облучаясь лампами и ЭЛТ трубками чтобы мы сейчас что-то вообще делали.
Про это и пишу, что надо схемы и описалова фигачить не щадя живота, потому что мы не они. А не
за компом сочинять на ходу и тыркаться в отладчике. Очень хорошо понимаю про что пишу, это разный
уровень осознанности, хотя бы стремиться к нему нужно. Вот о чём речь.
Формализация это трудно и да это больно, не кодинг, кодинг это 10%-15% времени.
И если ещё это делать правильно - тогда отладчик в 99,9% рядовых задач будет не нужен, к удивлению многих.
Почему советский союз вспоминают с трепетом, да там было многое своё, хорошего качества, на века сделанное.
И как сейчас делают? И почему наше всё такое дорогое, можно винить китайцев. Но дело не в них, представь
2 одинаковых товара, один наш, второй китайский с одинаковой ценой, какой купят? - Наш. Это менталитет.
Нам уже давно втюхивают что мы дикари отсталые и нефтебаза европы. Люди уже в это и поверили,
не дрыгают лапками и становится хуже и хуже и хуже. Но инженеры и смекалистые то где лучше - видно
невооружённым, явно не в Китае. Софт это то, что можно пилить без проблем. Это давно пытаются
монополизировать и скрыть от глаз. Потому что это риски, как получить хреновый продукт от неумёхи,
так и потерять прибыль если кто-то что-то сделает сам. Сейчас "сам" это синоним слова качество.
Если кратко, пишу о том, что не надо опускаться до уровня китайцев или аутсорц "индусов", мы инженеры
и можем делать хорошо. Если смотреть на ветви развития это демотивирует вообще что-то делать.
Но никто их не утверждал, это просто "Else another standard".
Одно неизменно - базу никто убрать не может, она так или иначе всплывает, всегда. Сделали процы
на Java, а почему, да потому что на ней кодят миллионы, это попытка массовой оптимизации, будут ли
они быстрее x86-x64 - да никогда. "Else another standard" делают просто для того, чтобы сгребать к себе
в карман бабки, те же Apple. Попробуй договориться с теми, кто не хочет договариваться ни с кем. И тут голос
"а что так можно было" и стадо понесло. И все эти компании, которые сидят в глухой обороне и отплёвываются
исками по патентам. Всё это нифига не здорово. Страна вроде как взяла какой-то курс, а подвижек нет.
И жопка то приближается. А люди тратят время на ерунду, куча пустых сфер, но некому их занять.
Мы де факто ничего не умеем, своих операционок - нет, офиса - нет, процессора - нет, видеокарт - нет, даже
сраных принтеров русских нет, все говорят мы великая страна, где мать его величие? ))) Мы в жопе!
2026 год будет только 130 нм техпроцесс и то если не разворуют, не случится землетрясение, цунами, смерч
или не прилетит ракета по заводу, ну там любые отмазки могут случиться, т.е. пентиум 3 тот что "туалетный",
2001 год, 1400Мгц. Оу еее! 16 ядерный эльбрус будет размером с материнскую плату, кулер тоже можно представить,
вместо электрокотла пойдёт, сразу к трубе в батарею и отапливать дом, проц киловатта на три, если не сгорит.
Ну это всё демагогия конечно так поразмыслить над жизнью.

Добавлено через 11 минут
Считаю, что такие штуки должны использоваться только с детекцией ЦП, как и SIMD-ы.

Если человек плохо именует переменные - да, проблемы будут. У меня проблем никогда не было,
при том что расшаривал реально много переменных. В качестве преимущества - значительное ускорение
кодинга при работе с префиксами. Я уже отошёл от такого кодинга и рассказывал почему.
Префиксы съедают много места на экране и довольно сильно "мусорят". Есть и плюсы - сразу виден тип,
но в заранее продуманных кусках кода - это не является преимуществом. Без префиксов смысла
не то чтобы мало, но часто всё равно требуется декларация типа. А если часто, то почему не делать
это всегда, в общем логика простая.

1