Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
Избавляемся от 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
Работа с LLM напоминает проблему P = NP? Если некоторая задача подразумевает большой объём ручного труда, а LLM сделает её легко, и вы можете быстро убедиться (протестировать), что сгенерированный код соответствует вашим нуждам, вы экономите время. Но если вы не можете это сделать, но всё равно полагаетесь на LLM, вы играете с огнём.

На днях явился очередной ai-сервис Болт : "Prompt, run, edit, and deploy full-stack web apps."

Ну, действительно, просто по запросу "сделай арканоид" Болт за минуту сгенерил полный проэкт, нафигачил кучу кода на ts :) и тут же задеплоил и запустил, я поиграл немного. А если находит у себя ошибки, то фиксит по запросу.

Надо на чём-то более серьёзном потестить конечно, с конкретными фичами, выглядит довольно привлекательно. Но в целом, напомню, программирование -- это НЕ про создание готовых проектов. Программирование -- это про создание систем, которые легко развивать и легко сопровождать многие годы.
👍53🤔216
Сидишь за компьютером – сиди за компьютером. Идёшь на собес – иди на собес. Не нужно колебаться.
мантра дзен

Многозадачности здесь места нет. Нет, нет, нет, нет. В современном мире способность сосредотачиваться на одной задаче – это суперсила.
💯71👍20❤‍🔥2🔥1
Вы уже оптимизируете свой код для LLM-ок? Разбиение кода на более мелкие и чистые функции с чёткой, лаконичной и точной документацией (в идеале, сформулированной формально, триплами Хоара например, или на TLA+, поясняю эти моменты в СильныхИдеях) может сильно помочь и тактически, и стратегически.

Свежее от курсанта:
"Подтвердил свою мысль, из предыдущего упражения, о том что прописывать алгоритм текстом ДО решения - это действительно очень полезная практика, которая сильно экономит время."

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

Алан Кэй, как всегда, был прав.

P.S. Соответственно, и поясняющие (прежде всего для AI) комментарии в коде очень полезны.
👍60😁128🤔2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда финиширование проекта в срок казалось таким близким...
😁627🔥3👍1
"Intelligent Machines and Idiotic Humans: A Startup Story"
(идеи для AI-стартапов)

Серия 14. "Sam Altman is saying that AI is going to lead to a 1-person $1 billion business" - 3

Сегодня, когда наши рекрутеры сломали найм в айтишку более чем полностью, идея вката в ИТ через микро-стартап выглядит всё более привлекательной. Можно даже так: создаёте свою фейковую орг.структуру, сайт, регитесь ИП, и предлагаете свой платный сервис. 2-3 года стажа программирования так вполне можно официально получить. Тем временем качаетесь до миддла (с наймом джунов совсем швах из-за убитого кадровиками найма начинающих); а возможно, действительно сделаете успешный продукт.

Например история (нереклама):
"Отказался от AWS и заработал 10 миллионов долларов", как чел сделал сервис для банков (просто технический пайп) по подписке 88 евро, и его отлично покупают.

Таких идей "под ногами" сотни, но люди просто не решаются "попробывать".

Дорогие, всем и так на вас пофиг, а вы ещё и боитесь и стесняетесь.
2👍5519💯4🔥32