Из отчётов курсантов:
...Попривыкнув, начал получать удовольствие от работы - многие вещи делать гораздо быстрее и проще, множество плагинов, опций и команд дают возможность тонко настроить редактор под задачу (например, решая задачи из SICP, превратил vim в ide для scheme).
К таким вещам-конструкторам у меня отдельная любовь, поэтому планирую осваивать его и дальше.
👍
Да, но что насчёт emacs с evil-mode? По мне, тогда уж лучше emacs vanilla. Но если придётся выбирать между vim и evil-mode, я выберу vim. И всё же vanilla emacs получше, попробуйте и то, и то, что лучше зайдёт, тонкий индивидуальный момент.
...Попривыкнув, начал получать удовольствие от работы - многие вещи делать гораздо быстрее и проще, множество плагинов, опций и команд дают возможность тонко настроить редактор под задачу (например, решая задачи из SICP, превратил vim в ide для scheme).
К таким вещам-конструкторам у меня отдельная любовь, поэтому планирую осваивать его и дальше.
👍
Да, но что насчёт emacs с evil-mode? По мне, тогда уж лучше emacs vanilla. Но если придётся выбирать между vim и evil-mode, я выберу vim. И всё же vanilla emacs получше, попробуйте и то, и то, что лучше зайдёт, тонкий индивидуальный момент.
❤32🤔25👍4🤓3😁2
Выложил в СильныеИдеи материал "92) Абстракции против паттерна MVC".
(в дополнение к предыдущему "91) Интерфейсы vs Контракты vs Абстракции")
В частности,
"Как вы формируете подходящие интерфейсы, чтобы обеспечить низкую связанность? Если вы "извлекаете" их из своих классов, то у вас, вероятно, отношения 1:1 между интерфейсами и конкретными классами, которые их реализуют. И, вероятно, это не очень хороший симптом :)"
но почему это не очень хороший симптом?
Вы, очень вероятно, используете в своих проектах классический архитектурный шаблон MVC, где у вас есть множество интерфейсов, которые практически всегда сопоставляются 1:1 с объектами, которые их реализуют. Т.е. по сути для каждого объекта выполнена операция "извлечение интерфейса". И единственный раз, когда такие интерфейсы используются повторно, это скорее всего только тесты с моками. Никакие конкретные объекты в вашей системе не реализуют несколько интерфейсов.
Вызовет ли это проблемы в будущем? И если да, то какими они будут?
(в дополнение к предыдущему "91) Интерфейсы vs Контракты vs Абстракции")
В частности,
"Как вы формируете подходящие интерфейсы, чтобы обеспечить низкую связанность? Если вы "извлекаете" их из своих классов, то у вас, вероятно, отношения 1:1 между интерфейсами и конкретными классами, которые их реализуют. И, вероятно, это не очень хороший симптом :)"
но почему это не очень хороший симптом?
Вы, очень вероятно, используете в своих проектах классический архитектурный шаблон MVC, где у вас есть множество интерфейсов, которые практически всегда сопоставляются 1:1 с объектами, которые их реализуют. Т.е. по сути для каждого объекта выполнена операция "извлечение интерфейса". И единственный раз, когда такие интерфейсы используются повторно, это скорее всего только тесты с моками. Никакие конкретные объекты в вашей системе не реализуют несколько интерфейсов.
Вызовет ли это проблемы в будущем? И если да, то какими они будут?
❤33🤔21👍10
Был год назад такой "текстовый" баттл "Clean Code, Horrible Performance" между Casey Muratori (разработчик игровых движков, подвинутый на оптимизации) с Дядей Бобом, и ребята интересуются, как это понимать.
Ну, это примерно как сравнивать написание сетевых утилит на сишечке для линукса с корпоративной веб-разработкой на джанге. Сложно придумать что-то более противоположное во всех отношениях.
Считать циклы для типовых задач продакшена вообще смысла нету ("premature optimization is the root of all evil"), хотя вот пацаны не поленились lol
"I ported Casey Muratori's C++ example of "clean code" to Rust, here what I found"
В 98% проектов код и так настолько ужасающ, что его можно обычным рефакторингом x10..100 оптимизировать.
Конечно, заменять полиморфизм цепочкой if-ов, ну просто бред :)
Если мы создаём не суперскоростной софт (что востребовано только в геймдеве и системном программировании), а систему, которую надо легко сопровождать и вдолгую развивать.
Не уверен, стоит ли вообще на чтение таких темок тратить хотя бы минуту (моего курса "Ясный код" более чем достаточно).
(если конечно ваш босс не такой "гуру", как Илон Маск :)
Ну, это примерно как сравнивать написание сетевых утилит на сишечке для линукса с корпоративной веб-разработкой на джанге. Сложно придумать что-то более противоположное во всех отношениях.
Считать циклы для типовых задач продакшена вообще смысла нету ("premature optimization is the root of all evil"), хотя вот пацаны не поленились lol
"I ported Casey Muratori's C++ example of "clean code" to Rust, here what I found"
В 98% проектов код и так настолько ужасающ, что его можно обычным рефакторингом x10..100 оптимизировать.
Конечно, заменять полиморфизм цепочкой if-ов, ну просто бред :)
Если мы создаём не суперскоростной софт (что востребовано только в геймдеве и системном программировании), а систему, которую надо легко сопровождать и вдолгую развивать.
Не уверен, стоит ли вообще на чтение таких темок тратить хотя бы минуту (моего курса "Ясный код" более чем достаточно).
🤔40❤22👍7😁4👏3
Причина, по которой АНБ предлагает именно эти языки, заключается в том, что именно в этот список языков они уже протащили свой бэкдор, чтобы ваш персональный куратор СОРМ АНБ мог убедиться, что ваша программа не даёт утечек памяти в режиме реального времени.
👍43😁32💯6🤔3❤2
.NET 9 уже в ноябре, не могу дождаться!
"I've Been Waiting 9 Years for This API!"
https://visualstudiomagazine.com/Articles/2024/04/16/net-9-preview-3.aspx
"I've Been Waiting 9 Years for This API!"
https://visualstudiomagazine.com/Articles/2024/04/16/net-9-preview-3.aspx
👍46❤10✍6😎2
Совершенно не удивлён, и дальше, по мере роста объёмов кода, будет только хуже. Хотя СДЭК конечно ухитрился тут побить вообще все мыслимые рекорды эпикфейлов :)
Не то что
"Why the fuck do we let people that have no computer science backgrounds write code? Unacceptable!"
сейчас все так успешно рвутся в айтишку за денежками, "взламывая собесы и накручивая опыт", что даже о самых элементарных понятиях программной инженерии не имеют ни малейших представлений. Ну наверное не будут задавать кандидату детские вопросы про бэкапы, если у него нарисован красивый опыт 3 года, и он что-то там "крутое" рассказывает с уверенной физиономией про свою бывшую работу, хотя в реальных производственных проблемах полный null.
Не то что
"Why the fuck do we let people that have no computer science backgrounds write code? Unacceptable!"
сейчас все так успешно рвутся в айтишку за денежками, "взламывая собесы и накручивая опыт", что даже о самых элементарных понятиях программной инженерии не имеют ни малейших представлений. Ну наверное не будут задавать кандидату детские вопросы про бэкапы, если у него нарисован красивый опыт 3 года, и он что-то там "крутое" рассказывает с уверенной физиономией про свою бывшую работу, хотя в реальных производственных проблемах полный null.
💯54👍12🤔11😁4🔥3
Когда почти десять лет назад я предупреждал разработчиков о том, что Agile -- это раковая опухоль, которую необходимо искоренить в нашей индустрии, многие считали меня сумасшедшим. Но Agile полностью свёл роль разработчиков к механической реализации user stories, переданных PO. Однако теперь AI -- спаситель, который избавит программистов от этих страданий, просто уничтожив роль разработчика.
-- Erik Meijer, май 2024
-- Erik Meijer, май 2024
👍47🤔9✍7😁6🤯4
Mistral выкатила вчера Codestral: an open-weight generative AI model explicitly designed for code generation tasks. Codestral is trained on a diverse dataset of 80+ programming languages.
По тестам кодит прям лучше всех, и всё такое. Почитайте, сплошные хвалебные отзывы от причастных.
We used Codestral to run a test on our Kotlin-HumanEval benchmark and were impressed with the results. For instance, in the case of the pass rate for T=0.2, Codestral achieved a score of 73.75, surpassing GPT-4-Turbo’s score of 72.05 and GPT-3.5-Turbo’s score of 54.66.”
– Mikhail Evtikhiev, Researcher at JetBrains
Ну и вот, простая задачка для школьников ^^^
Первая версия полный отстой, вдобавок, зачем мне вообще функция, которая что-то там "assumes" ??
Кое-как подсказками я получил вторую не менее кривую версию (если например список пустой?), и тут Codestral превратился в КодСрал и стал упорствовать, что дескать белое это чёрное. Не "понимает" самых элементарных вещей правильного кодирования.
Llama3 кстати тоже не смогла, аналогично "мыслила".
"Страшно далеки они от народа" (c)
А вот ChatGPT-4o справилась довольно легко, поэтому пока ориентируемся только на неё.
По тестам кодит прям лучше всех, и всё такое. Почитайте, сплошные хвалебные отзывы от причастных.
We used Codestral to run a test on our Kotlin-HumanEval benchmark and were impressed with the results. For instance, in the case of the pass rate for T=0.2, Codestral achieved a score of 73.75, surpassing GPT-4-Turbo’s score of 72.05 and GPT-3.5-Turbo’s score of 54.66.”
– Mikhail Evtikhiev, Researcher at JetBrains
Ну и вот, простая задачка для школьников ^^^
Первая версия полный отстой, вдобавок, зачем мне вообще функция, которая что-то там "assumes" ??
Кое-как подсказками я получил вторую не менее кривую версию (если например список пустой?), и тут Codestral превратился в КодСрал и стал упорствовать, что дескать белое это чёрное. Не "понимает" самых элементарных вещей правильного кодирования.
Llama3 кстати тоже не смогла, аналогично "мыслила".
"Страшно далеки они от народа" (c)
А вот ChatGPT-4o справилась довольно легко, поэтому пока ориентируемся только на неё.
👍58❤5🔥5😁5🫡3
А я предупреждал два месяца назад: 5 постов про правильные контейнерные технологии и развитие соответствующих "тяжёлых" программных инфраструктур в РФ через форки западных решений и превращение их в трофейное ПО :)
Ну вот теперь расхлёбывайте.
И дальше будет только хуже; никакое официальное "приземление" чужих технологий реально работать не будет. Когда же закончится это сидение на нескольких стульях и демонстрирование себя "хорошенькими", когда на это давно демонстративно плюют?
Ну вот теперь расхлёбывайте.
И дальше будет только хуже; никакое официальное "приземление" чужих технологий реально работать не будет. Когда же закончится это сидение на нескольких стульях и демонстрирование себя "хорошенькими", когда на это давно демонстративно плюют?
🐳43👍19🤔6💯3🔥2
😁26🤔18😎3❤2🏆2
ultracode.ai -- киллер программистских интервью (coding interview co-pilot).
Fine-tuned for SWE interviews
Works with all interview platforms
Invisible to screen sharing
Supports all technical questions
У них там такое стоит 900 долл./год, давайте уже у нас выкатывайте аналогичный взлом русских собесов (ничего концептуально сложного нету, стелс-десктоп +AI API), и покончим со всей этой глупостью и бессмысленностью "айти-найма" навсегда.
Fine-tuned for SWE interviews
Works with all interview platforms
Invisible to screen sharing
Supports all technical questions
У них там такое стоит 900 долл./год, давайте уже у нас выкатывайте аналогичный взлом русских собесов (ничего концептуально сложного нету, стелс-десктоп +AI API), и покончим со всей этой глупостью и бессмысленностью "айти-найма" навсегда.
👍52😁18🤔7❤4🫡3
Как думаете, обещанный Дуровым "На этой неделе запуск чего-то еще более масштабного" почти всем пользователям ...
Anonymous Poll
42%
будет полезен
58%
только создаст неудобства
🤔35✍9❤5
Когда я перехожу с F# на Java/C#/Python, моя способность мыслить в терминах базовых математических абстракций (таких например, как моноид), резко падает.
🤔46👍9🔥6❤4✍3
Обновил список курсантов-блогеров, раз в месяц, возможно, буду выделять лучшего. На сегодня это однозначно Светлана "Заметки программиста" 👍💥🚀 Берите пример + подписка обязательна.
Частая ошибка, как уже не раз говорил, не надо учить других. Про себя рассказывайте, какой вы крутой. Оставьте других в покое. А превращать блог в технический справочник совсем плохо, никому это вообще не интересно.
В геймдеве например живые блоги разработчиков давно фактически стандарт.
Напомню, кто не пишет пост хотя бы раз в 10 дней, из списка исключаются. Не можете найти полчаса за это время? Ну не хотите вести блог, ваше дело, ваша карьера. В паблике для неначинающих донов вчера выложил, почему блог -- это реальный чит-код.
Частая ошибка, как уже не раз говорил, не надо учить других. Про себя рассказывайте, какой вы крутой. Оставьте других в покое. А превращать блог в технический справочник совсем плохо, никому это вообще не интересно.
В геймдеве например живые блоги разработчиков давно фактически стандарт.
Напомню, кто не пишет пост хотя бы раз в 10 дней, из списка исключаются. Не можете найти полчаса за это время? Ну не хотите вести блог, ваше дело, ваша карьера. В паблике для неначинающих донов вчера выложил, почему блог -- это реальный чит-код.
❤49👍15🏆6
Когда AI заменит всех программистов, менеджеры наконец-то поймут, что искусство, которым они владели всё это время -- это писать бредовые и абсурдные технические задания, полные противоречий. Тогда им придётся писать задания так чётко, что они сами будут вынуждены учиться программированию и формальной логике.
😁66🫡20💯16❤3👍2