← All posts tagged программирование

Почитал тут про диалектический предел zen.yandex.ru

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

Прямо даже задумался, а ведь подобные штуки наверняка многие испытывают. Программисты юзают формальные языки для выражения концепций предметной области, а вот языка для описания баттхёртов и вообще проблем во время этого выражения, просто нету.
Везде только курсы питона, PHP для чайников, котлин, хаскель для успешных и т.д.

очевидное противоречие. С одной стороны, чёткий формальный исполнитель, который не может работать неопределённо. А с другой стороны, туман предметной области, который кое-как еле-еле очерчивается.

Поэтому написанный софт — ложь.

"В C# также предусмотрен оператор foreach. Этот оператор обеспечивает простой и понятный способ итерации по элементам массива или любой перечислимой коллекции."

И тут же обухом по голове:
"Однако для лучшего управления элементами в многомерных массивах можно использовать вложенный цикл for."

В принципе, это всё, что вам надо знать про форыч.

Кусок кода из шейдера:
float dist_a = distance(_Pos_a.xyz, i.vPos.xyz);
fixed4 mask_a = saturate(lerp(fixed4(1.0, 1.0 ,1.0, 1.0), fixed4(0.0, 0.0 ,0.0, 1.0), dist_a _Pos_a.w ) _Pos_a.w);
fixed4 subMask_a = saturate(lerp(fixed4(0.0, 0.0 ,0.0, 1.0), fixed4(0.5, 0.5 ,0.5, 1.0), _Pos_a.w * 0.5)) ;
и такого ещё двадцать строк — переменная объявляется в каждой строке и используется в последующей операции.

Но это фигня, вот эти вызовы saturate и пр., где-то документированы. Среда Монодевелоп предлагает поиск по документации, если встать на ключевое слово и нажать Ctrl+' но этот способ не работает для saturate.

А поскольку здесь нет полной квалификации имени, то где искать — хер знает. Надо просто знать.
И нужна туча костылей для войны с этой ебаниной, потому что одни идиоты придумали говно, а другие радостно используют, формируя комьюнити.

Короче, всем оберон-терапию, срочно.

"Как известно в C# точка с запятой завершает однострочный оператор"

ОДНОСТРОЧНЫЙ

Они там век не перепутали? На дворе XXI ващет. Эпоха однострочных операторов закончилась в начале 90-х, а то и раньше. Некоторые, конечно, тащили и тащат традицию сквозь десятилетия.

Захотелось с утра себе немного физического движка. Качнул сырцы bulletphysics.org и начал думать, шо делать.

Сначала качал cmake, minGW, запустил cmake — получил тучу сообщений о недостающих программах, проблевался
Простота инструкции по сборке bullet с лихвой возмещается гребанутостью инструментов под винду.

Скачал вижуалстудию, запустил сборку. Жду. Эверест, бл. Вот почему люди полюбили питон...

Итог: 9 errors, 19 warnings. Что они все означают — хер его знает. Неудача. Майнстрим хохочет надо мною — я со своим простым обероном тут ни к селу ни к городу.

Когда непонятны контракты, есть неплохой способ двигаться вперёд. Две итерации:
1) Делаем грязный прототип, которым нащупываем невидимые сначала особенности предметной области.
2) По созданному прототипу выясняем контракты и делаем рефакторинг кода.
Ловим профит.

Вот, говорят, что Питон простой язык. И вот даже в Блендере есть питоновая консоль. Открыл я её и даже смог добраться до какого-то объекта сцены scene.sequence_editor.sequences_all, а дальше — хз чо. Чо с ним делать-то?
Как хотя бы посмотреть на его интерфейс? Питон же интерпретируемый и не надо мне рассказывать про интроспекцию, ведь в простом языке такие простые вещи должны делаться просто. Так как?

По словам Дейкстры, понятие "инженерия ПО" является никчемной аналогией.

Также Дейкстра считал, что термин "поддержка ПО" лишь добавляет путаницы.

А ещё Дейкстра писал, что связь между надёжностью ПО и затратами на его создание является мнимой. Другими словами, если бизнес пытается снизить издержки за счёт использования бесплатных фреймворков и бесплатных компонентов, то это говорит лишь об одном — не смогли побороть сложность. А может, и не пытались — ведь сложность отлично продаётся.
beroal.in.ua

Самодокументированность кода во-многом является фикцией. Потому что если вы написали А, Б, В, и не написали Г, то из написанного неясно, намеренно ли пропущена Г или по ошибке. Чтобы это понять, надо анализировать контекст, а это работа серьёзная, гораздо серьёзнее, чем если бы вы просто прочитали комментарий к этому участку.

Какая токсоплазма могла выдумать сишный тип unsigned char? Ещё хуже, signed char. Вы когда-нибудь видели букву со знаком? А без знака? Мля, это посильнее "Фауста" Гёте. Буква — без знака. Уроды, это число имеет знак, а не буква! Чиканатики малограмотные.