Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
Пятница: отдыхаем и расслабляемся.
😁68🤝5👍3😎3🔥1
Доказательное мнение (вдогонку): на удалёнке люди работают продуктивнее.
Покажите это своему менеджеру (ссылку, а не мем :).
😁6110🤔4👍1🔥1
— срочно! можешь оформить это тикетом в джире??
🤯40😁288👍2🐳2
Разработка программного обеспечения -- это тонкий баланс между глубоким пониманием принципов работы сложных систем и быстрым выполнением задач.

Проблема в том, что тут антагонистическое противоречие: эти вещи в 98% проектов противоречат друг другу.

Вот например на днях на гитхабе появились исходники игры Rogue Legacy, в которую двое пацанов вложили полтора года работы и 15 тысяч долларов. Сам код, ужасающий в своей кривости )))

Однако расходы парни отбили уже в первый час продаж, а всего заработали на этой игре более 11 миллионов долларов.
👍55🤔18🔥101
Функциональное программирование базируется на математических подходах. Оно было не "придумано инженерно", а открыто -- как любые другие математические открытия.

Но что насчёт императивщины и ООП? Лука Карделли например разработал сигма-исчисление для объектной модели (хотя само ООП никакой математической базы не имеет, конечно), а затем появилась более сильная модель "NOOP: A Domain-Theoretic Model of Nominally-Typed OOP".

Ну а этот ваш построчный пошаговый кодинг можно основать вообще на любом Тьюринг-формализме. От алгоритмов Маркова и комбинаторной логики (Смаллиана книжки очень рекомендую) до, конечно, лямбда-исчисления, и т.п.

Потому что на самом деле всё это -- про переписывание термов.

Уже совсем скоро AI придёт на рабочие места кодовых обезьянок, поверхностно зазубривших технический стек "чтобы поскорее начать зоробатывать".

Computer Science ценна сегодня как никогда раньше.
4🤔5216👍10
Использование подходов функционального программирования означает, что вы не способны правильно управлять мутабельным состоянием.
🤔6112👍6😁6🐳2
Язык Си -- это DSL для превращения массивов байтов в критические уязвимости безопасности.
😁798🤔7
Избавляемся от ORM-ов: SQLc (компилятор SQL в типо-безопасный код).

Пока поддерживается только Go, в перспективе обещают много разных языков, вот для F# например поддержка. Можете написать свой плагин (Java вроде там нету), как минимум, в резюме укажете крутую строчку.
🤔39🙏16👍64🐳1
Напомню базу:

-- статическая система типов: когда тайп-чекинг выполняется компилятором;
-- динамическая система типов: типы чекаются в рантайме;
-- сильная система типов: 42 + "42" = ошибка;
-- слабая система типов: 42 + "42" = 84.

Статическая слабая система типов: Си.
Динамическая слабая система типов: JavaScript.
Динамическая сильная система типов: Python.
Статическая сильная система типов: F#, Scala, Rust.

Куда попадает Java, решайте сами:
-- между примитивными типами допускается неявный тайпкаст;
-- автоматическое управление памятью хорошо в основном для мэйнстрима;
-- работает "высокоуровнево" через JVM.
41🤔23👍7🐳3💯1
Те, кто ненавидит ООП, обычно не предлагают никаких других рабочих альтернатив, считая, что вообще всё ИТ такое. Ну, да, только не ИТ, а мэйнстрим. Программисты ненавидят прежде всего плохо написанные, плохо организованные, чрезмерно сложные и запутанные программы на Java/C#/C++, а не ООП.

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

Невероятно, но факт: существует такая вещь, как плохой software design и плохое программирование.
54🤔18👍8🔥7❤‍🔥4
Каждый раз, когда очередной язык программирования не справляется с задачей предотвращения ошибок, его поклонники заявляют, что "каждый язык требует дисциплины" и что "сильные системы типов не могут контролировать всё".

Ровно ноль из них пишут код на языке ассемблера.

Ассемблер даёт максимальный контроль над машинным кодом, что на самом деле позволяет избежать многих классов ошибок, которые обычно возникают при использовании более высокоуровневых языков.
5👍43🎉15🤔134🔥2
Сама дискуссия "нужна ли математика и кампутер сайнс программисту" уже свидетельствует о явной деградации одной из сторон (угадайте, какой :). Потому что даже нельзя сказать, что они занимаются действительно интеллектуальной работой. Просто быстро выгорают, и всё.

Нужно ли человеку всю жизнь развивать своё здоровье и свой ум?

(а если вот так спросят на собесе, что ответишь? :) добавил этот вопрос на второй курс АСД)
5😁40👍1810🤔21
Пытался с помощью жпт-о написать с нуля небольшой проект на дюжину классов. Дал детальное ТЗ, попросил сперва абстрактные классы сделать и вкратце описать. Что-то минимально удовлетворительное жпт сформулировал, но когда попросил его теперь сгруппировать классы по назначению, он исходный вариант почти весь переделал: одни классы добавились, другие исчезли, третьи сменили название... Попросил теперь минимально реализовать -- жпт снова половину переиначил, добавил явные тайпкасты, которые даже не компилируются. Потом он вообще стал терять нить, отвечал на новые уточнения как полностью новые (хотя контекстное окно вроде как большое)...

Уровень software design современного AI пока равен нулю, и прогресса тоже ноль. Ну, прежде всего потому, что материалов по software design с хорошими примерами крайне мало.

Попробую теперь жпт-о1 потестить, рублей триста наверное надо будет за такое короткое общение выложить. Но не думаю, что особый прогресс появится, с чего бы.
4🤔59👍10💯8😁1
Почему топологи не боятся страшных историй на Хэллоуин? Потому что они с помощью гомеоморфизма превращают любой кошмарный сюжет в жизненно приемлемую модель.
😁53👍185🤔3
ORM - это баг, а не фича. Рассогласование импеданса, N+1, куча засад с миграциями, транзакциями, сложными запросами, производительностью...
👍5114💯6👌1
То странное чувство, когда в соответствии с Федеральным законом от 08.08.2024 № 303-ФЗ с 1 ноября как добропорядочный владелец страницы (правда у меня формально не "страница", а "группа") в социальных сетях с аудиторией более 10 тыс. человек пытаешься передать соответствующую информацию в РКН... и ничего не находишь. Поиском РКН выдалось всего 11 ссылок на сведения 10-летней давности.
Пробовал, как рекомендовано, через госуслуги реестр блогеров найти -- тоже нифига.

Откопался в процессе, правда, "Реестр социальных сетей" ("Сайт создан в рамках реализации положений статьи 10.6 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации»"). Но там формы отправки тоже нету.

Теперь ждём отмазок, что дескать эээ закон принят, да вот только техническая часть пока не готова, "немного" подождите бла бла бла.
Ну, запилить форму с отправкой соответствующих данных на почту РКН, это для джуниора полчаса работы максимум.

Или я просто плохо искал?
😁60👍13🤔43🐳3