Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
930 links
ЛаМПовое с Бобровским
Download Telegram
.
Нулевое правило Лаборатории: никому не рассказывать про Лабораторию.

Первое правило Лаборатории: ты обязан развиваться всю жизнь.

Второе правило Лаборатории: твоё развитие как программиста должно обязательно сопровождаться постоянным ростом денежного дохода.

Третье правило Лаборатории: твоё развитие как программиста должно основываться на суперспособностях -- computer science и математике, чтобы любые веб-фреймворки, языки и технологические стеки твой сильный рациональный ум был способен изучить за неделю.
🔥61🫡315💯31
Лаборатория Математики и Программирования Сергея Бобровского pinned «. Нулевое правило Лаборатории: никому не рассказывать про Лабораторию. Первое правило Лаборатории: ты обязан развиваться всю жизнь. Второе правило Лаборатории: твоё развитие как программиста должно обязательно сопровождаться постоянным ростом денежного дохода.…»
Когда джуниоры приходят в проект, то они обращаются с существующим кодом так бережно, словно это музейный экспонат.

Сеньоры угрожают не понравившимся им частям проекта бензопилой.

Да, но...
😁34🔥3🫡1
Регулярно читаю подобное в отчётах ребят, кто занимается на начальных курсах с нуля:

...Опять ошибка из-за невнимательности – поставил какой-то странный диапазон (300 – 401 вместо 100 – 999). Причём сейчас (через пару дней) я не понимаю, откуда я взял такой диапазон…

...Да да да, счётчик внутри условного оператора - это детская ошибка. Жалко, конечно, что я этого не заметил сам.
Опять невнимательность подводит =(

Вот вам смешно, а вы сами что, лучше, что ли? :)

Пусть не такие ошибки, но всё равно, все мы делаем глупые ошибки из-за элементарной невнимательности на своём уровне, за которые потом стыдно.
🔥24👍4💯2🫡1
С удовольствием слушал сегодня срач экспертов обсуждение экспертами темки синхронщины-асинхронщины в промисах.

Я мечтаю, чтобы была одна универсальная серебряная пуля, которую я мог бы выстреливать каждый раз, уничтожая все проблемы, стоящие между мной и успехом проекта. Наша работа была бы намного проще, это точно.

Но пока не было в ИТ ни одного опровержения гипотезы Фредерика Брукса ("Мифический человеко-месяц"):

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


Каждый инструмент, который мы используем для выполнения конкретной задачи, всегда имеет свой набор компромиссов. Мы сами решаем, какой инструмент подходит для каждого сценария, и важно понимать, что продавцы инструментов заинтересованы убедить вас в том, что их инструмент единственный.

Я не осуждаю их за это, но что же остается нам с вами?

Загоняем подальше синдром самозванца, надеваем маску взрослого эксперта, как следует думаем о том, что нужно нашему проекту, и выбираем лучший вариант.
12👍6😁1🤯1🫡1
"LLM -- это просто статистический попугай, который занимается предсказанием следующих токенов без какого-либо понимания", говорили они, но это уже настолько очевидная ложь, что обсуждать её уже не стоит.

Следующей версией будет "LLM -- это просто инструменты, не имеющие никаких собственных намерений или целей", которую мы будем слышать до тех пор, пока она не станет явно ложной. Но, возможно, тогда станет уже слишком поздно.

P.S. Кстати, те, кто кричал об опасности AGI, будут уничтожены им самыми первыми :)

P.P.S. А вот такого (LeanCopilot) я уже реально побаиваюсь. Когда к LLM начинают прикручивать теорем-пруверы, языки с зависимыми типами, где написать некорректный код сильно сложнее, ну и в целом, к градиентным брутфорсам добавляется формальная математическая логика...
Рекомендую, кстати, учиться такое использовать.
17🔥6💯2🫡2🤯1
Они хочут от вас SOLID, ACID, REST, DRY, TDD, OOP, паттерны проектирования и 10 лет опыта. Однако когда вы получаете доступ к их кодовой базе, оказывается, что она представляет собой бессистемную кучу файлов по 10,000 строк в каждом, с множеством перекрещивающихся зависимостей, и ни в одном из них вы не можете выделить ни одной прикладной концепции.

Поэтому будем с этим эйчаровским бредом безжалостно бороться самыми что ни на есть хакерскими способами :)
💯20🔥11🫡53😁2
C++ всё. Он конечно ещё будет достаточно долго жить в легаси-проектах, как Java 8, но даже если стереть весь код в мире, написанный на Rust, это ему уже не поможет.

на фотке: модуль Rust заменил часть кодовой базы на плюсах
🔥9🤔8🫡6😁52
Насчёт нулевого правила Школы: никому не рассказывать про Школу.
Один из курсантов, прошедший почти все треки, сказал мне, что не хочет рекомендовать мои курсы своим коллегам, потому что это было бы равносильно передаче им чит-кодов, которые он сам использовал для достижения x2-x10 результатов. Другой сказал, что готов заплатить за формат Hard Work сто тысяч рублей (который для занимающихся у меня бесплатен).
По этой причине материалы из СильныхИдей никогда не будут открыты всем.
Я читаю отчёты ребят по Hard Work, и иногда сам офигеваю, как они теперь круто рассуждают 💥💥💥 :)
🔥33🫡10🐳3👍2🏆2
На самом деле большинство хороших функций, которым так радуются сегодня разработчики на C#, появилось в F#, а затем было урезано до императивщины.
К сожалению, F# не получает достаточных заслуг за создание всего того, что C# бессовестно присваивает :)

Раньше все университеты принуждали разработчиков к изучению Lisp. Дескать, даже если вы никогда не будете его использовать, глубокое просветление того стоит.

Что сегодня эквивалент Лиспа?

Думаю, это F# (OCaml).

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

F# -- это как научиться программировать заново.

Очень доволен, как ребята проходят мой курс по F#, десятки отзывов где пишут, что крыша едет )))
🔥181😁1
Куда мы придём по мере распространения AI-ассистантов? Университетские программы по computer science будут постепенно отказываться от узких навыков работы с кодом -- таких как алгоритмы и software desing, в сторону изучения основ работы в emacs и vim, дополненных ai-чатами.
🤔17😁11🤯2🐳2
Замораживаю все цены на мои курсы до 17 марта 2024-го ❄️❄️❄️

А с 18-го марта прям безжалостно раз в 10 повышу, и вообще будет тотальное инфоцыганство и полный хардкор! 👊👊👊
😁31🔥13🤯10
Самое глупое, что за десятки лет я наблюдал и наблюдаю в ИТ, это когда люди спорят по любым темкам, и при этом искренне злятся, что у других может быть другое мнение. Пытаются доказать, что ты дурак а я нет, что ты, как я щитаю, в чём-то неправ...

Недавно например с печалью наблюдал, как сильные эксперты спорят по каким-то там техническим нюансам, откровенно оскорбляя оппонента. Зачем?? Дорогие, люди десятилетиями не могут договориться, как пробелы в коде расставлять...

Или такая темка, как накрутка опыта. Понятно, что неидеально с моральной точки зрения, но и много прагматичных аргументов "за". Но когда уважаемые люди буквально с ненавистью начинают "за всех" кого-то обвинять, что это прям ужос-ужос, что "ну это же враньё!"...

Это поразительно... Эти люди, что, сами каждый день не врут десятки раз, и по мелочам, и по крупному? Родным, знакомым, незнакомым, коллегам, начальникам, подчинённым, обществу в целом? Они не делают другие плохие вещи? Они святые? Они всю свою карьеру честно отрабатывали каждую минутку положенного рабочего времени на 100%, никогда не воровали время у своего работодателя?

Такие споры -- самое глупое, на что только можно тратить свою жизнь...

Ребята, давайте жить дружно. Нам надо не обвинять друг друга в какой-то фигне и не конкурировать, на радость другим, а наоборот объединяться и поддерживать любые инициативы по развитию русской айтишки, сколь бы они не казались странными лично нам.
👍39❤‍🔥13👏3🫡2
Потестировал очередное творение американских братушек -- bard.google.com.

Написал он красиво факториал, комментарии на русском, всё норм.

Попросил его чисто стилистически убрать else, и тут началось )))

Долго я ему доказывал, что и без else всё работает, он спорил, потом наконец сдался, и вот так пояснил:

"Ранее я сказал, что удаление else приведет к ошибке, потому что я неправильно понял условие проверки. Я думал, что условие проверки if n == 0 вернет False, если n == 0. Однако, это условие вернет True, если n == 0."

То есть он даже не понимает значение сравнения n == 0 ...

=>
😁14🤔6🫡3
При этом bard оправдался, что дескать else делает код более понятным. Я уточнил: Может быть, тогда и твоя рекомендация "использование else позволяет нам сделать код более читабельным и понятным" неверна?

Вот что Bard ответил:

"Нет, я считаю, что моя рекомендация "использование else позволяет нам сделать код более читабельным и понятным" все еще верна. Даже в том случае, когда удаление else не приведет к ошибке, использование else может сделать код более понятным.
В случае функции factorial() использование else позволяет нам четко разделить два случая:
- Если n равно 0, то функция возвращает 1.
- Если n не равно 0, то функция вычисляет факториал числа n-1 и возвращает его произведение на n.
Без else эти два случая были бы объединены в один блок, что могло бы затруднить понимание кода."


И он ещё выпендривается: "Даже в том случае, когда удаление else не приведет к ошибке..." -- дескать, ну так и быть, соглашусь с тобой, хотя удаление else может когда-то и привести к ошибке :)

Ну ладно, с натяжкой можно притянуть за уши большую выразительность (хотя я всегда против else в принципе), но вот
"Без else эти два случая были бы объединены в один блок" - это просто какая-то чушь :)
В какой блок? почему объединены?

В общем, пока AI может легко накосячить в трёх строчках кода, в совсем элементарных вещах, он будет утверждать, что (0==0)==False, и только под давлением согласится, что, возможно, это не так.

=

До времени, когда AI сможет заменить хотя бы джуниоров в любом рабочем проекте, пока ОЧЕНЬ далеко.

Безусловно, AI-ассистанты сегодня могут помогать очень здорово, и в x10, и в x100, и в x1000 в каких-то конкретных случаях, и их обязательно надо учиться продуктивно использовать.

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

Джунов за такое сразу безжалостно выгоняют с испытательного срока, и правильно! :)
🫡16😁5🤔3🔥2
В продолжение, прислал Даниил, ну GPT4 пока поумнее других, ага. Обязательно будем дальше эту тему внимательно отслеживать.
🤔13😁2🫡2
С 01.01.24 правила занятий существенно обновляются; в частности, по развитию карьеры буду общаться теперь только с теми, кто работает программистом/ищет работу программистом. Кто "вырос" в тим/тех/лиды, всё, пока :) это билет в один конец.

=

Просили анонсы наших новостей и vk-постов в тг выкладывать, ок.

Товарищи курсанты, в раздел "Элитный программист" добавлен материал "Как получить повышение через экстремальную ответственность".

Одна из жалоб, которую вы часто услышите в адрес менеджеров -- это то, что они повышают не тех людей. Многие программисты возмущаются, когда видят, что людей повышают за их умение красиво говорить, а не за их технические навыки.
Итак, вместо того чтобы обижаться на то, что вас не замечают, в то время как тех, кто обладает более слабыми техническими навыками, регулярно повышают, почему бы вам не принять тот факт, что это находится под вашим контролем?..
🔥10👍43🫡2😁1
Если джуны толпами рвутся на вакансии без опыта (это неправильно, поясняю на курсе карьеры, что сегодня надо с этим делать -- и нет, это не (далеко не только) накрутка опыта), то толпы сеньоров также шаблонно мечтают о FAANG/МОСЯ -- но зачем? Во-первых, компаний, где вы можете заработать существенно больше в чистом виде, многие тысячи, в т.ч. и в любимой Российской Федерации, во-вторых, можно заработать программированием куда больше просто другими способами, нежели впахивать на топовых галерах.

Некоторые думают, что МОСЯ -- это такой супербонус для резюме, да нифига. Всем пофиг на то, где вы работали. Конечно, работа в Яндексе даст +5% например, но не больше. Если вы не подходите под проект, то кому какое дело, где вы там раньше работали.

Если вы хотите действительно супербонус для резюме, чтобы брали куда угодно в мировом ИТ просто "за гитхаб", надо делать действительно взрослые специализированные вещи.

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

Действительно крутых задачек бесконечное число, причём сегодня классические научные темы прекрасно ложатся на прикладуху. Ну например, компиляция с одного языка на другой через term rewriting. Есть классический учебник Филда и Харрисона "Функциональное программирование", который был написан в 1988 г., и все идеи того времени актуальны и сегодня -- потому что это хорошо отшлифованная математика, тут ни убавить, ни прибавить.

Или, как написать супер-блокчейн с использованием линейной темпоральной логики и реляционной модели, или SAT-солвер на conflict-driven clause learning + BDD, и т.д. и т.п...
👍135🤯4🫡42
Рабочий понедельник в разгаре! Вовсю фигачите тикеты? :)

Если вы ООП/императивный разработчик, то вам даже кофе не нужен.

Когда пишешь на Java или Python, C# или JavaScript, постоянно захлёстывает адреналин от осознания того, что любая твоя строка кода может сломаться 10 различными способами 😁

Какое ещё функциональное программирование? Нет уж, спасибо, я лучше оформлю пять уровней наследования для моего FactoriesManagerFactorySingleton, с нулл-чекингом каждые 2-3 строчки.
😁365🐳3🫡3🤔2
Знаменитый физик Эрнест Резерфорд, лауреат Нобелевской премии, в 1933-м заявил, что идея получения энергии из расщепления атома абсурдна и нелепа.
Через 12 лет американская атомная бомба уничтожила 100,000 человек в Хиросиме.

А вот как сегодня прогрессирует AI Midjourney например.
🔥16🤔6🫡52