All streams
Search
Write a publication
Pull to refresh
33
0
Огромный Боевой Человекоподобный Робот @Tanner

Python-программист

Send message
Было бы интересно узнать об этом. В смысле пределов и косяков. Пишите ещё.
Я не очень понимаю, почему кооперативную многопоточность считают «будущим» чего-либо. Для меня она тоже around since forever, взять twisted для примера, не говоря уже о том, чтобы выйти за пределы Python-экосистемы. Она действительно даёт возможность ускорить обработку запросов, иногда просто драматически. Но зато она сложна для понимания человеком, и ни промисы, ни async/await тут не помогут. И сто́ит чуть-чуть оступиться − и у тебя в проекте блокировка, которую ты не знаешь, как отладить.

Как по мне, так ASGI и Channels − это не тупик, а как раз шаг в правильном направлении, к компромису между производительностью программиста и машины.
Не могли бы вы поподробнее остановиться на
Построение абстракций ООП на основе сущностей реального мира — одно из самых частых заблуждений в ООП

Почему это − заблуждение, кто ещё приходил к этому выводу, что можно почитать на эту тему?

Я, например, ни разу не видел учебника, который не использовал бы метафор из реального мира, чтобы объяснить принципы ООП. Википедия говорит о “things found in the real world”. В общем, если это и заблуждение, то оно слишком распространено, чтобы отметать его так запросто, вы не думаете?
Даже в секторе IoT можно получить много сюрпризов, оставив ПО открытым.
Про security through obscurity слышали?
У меня, как у бывшего «студента с Python», всякие «защиты от парсинга» вызывают такую ассоциацию:
No take! Only throw
image
Как я понял предмет, монада − это такой способ объединения функций в цепочку, когда мы их входной и выходной типы данных продвигаем до такого типа, который будет обратно совместим с ними обоими. Для этого, естественно, нам нужны две дополнительные функции.

И правильно понимаю, что в первых двух примерах достаточно расширить структуру входных параметров
Тогда мы не сможем переиспользовать код f1, f2 и f3, а ведь это было нашей главной задачей.
Это написал тот же бот, который писал раньше от лица хирурга и, кажется, таксиста?
Я ничего не имею против математического языка, но на Хабр захожу, чтобы получить объяснение чего-то обычным языком, in layman's terms. Видимо, я не одинок.
Не хотите объяснить свою точку зрения?
Ну, это же учебный пример. Автор, наверное, использовал бы исключения, если бы не стояла задача обобщить это решение с предыдущими двумя.
Вы меня уделали. У меня в голове Банда четырёх была почему-то связана с ростом популярности Java, и я до сих пор не удосужился сличить даты. Позор мне.

Гамма работал в IBM, занимался VisualAge, Eclipse и JDT. Видимо, оттуда мои ассоциации с Java. Хотя было это, конечно, добрый десяток лет спустя.
Спасибо, что нашли мою ошибку. Я пропустил кусочек первоисточника с текстом f1, f2 и f3. Поправил.
Увы, я не умею конкретизировать в эту сторону. Я подумал, мало ли, может, вас отсылка к еврейскому анекдоту насторожила.
К программистам-функциональщикам, конечно. А вы про кого подумали?
За вот это вот «монады − это просто, как раздватри» и последующую стену текста на эльфийском языке. «Ты с кем разговариваешь, папа?», хабр эдишен.
Джонсон грокал смолток, остальные трое − джависты. Влиссидис имел бэкграунд в C++, но, наверное, больше работал с джавой на момент написания книги.

Я очень часто вижу, как программисты пытаются обособить себя от своего основного ЯП. С одной стороны, через академизацию своего опыта, мол, мы не программисты, мы computer scientists, мы не изучаем языки, а создаём их. С другой стороны, через ремесленничество − best tool for the job и прочие максимы. Но на практике я ни разу не наблюдал, чтобы кому-то удалось превзойти то форматирующее влияние, которое оказывает на способ мышления его основной инструмент. Одни мыслят категориями статически типизированных языков в динамически типизированных, другие − наоборот. Третьи плодят миллионы классов, ну и т. д.
Дык натянуть-то можно. Плюсы, я б сказал, ещё ничего. Некоторые на пайтоне синглтоны пишут. На скотском серьёзе, да.
Для понимания собственно ООП вполне хватает здравого смысла и среднеобывательского словарного запаса.

Вот паттерны − это специфическая вещь. Начиная с того, что книжка Банды Четырёх − это продукт борьбы (как минимум троих) авторов с особенностями и недостатками языка Java. Соответственно, понятна она только в этом контексте.

Information

Rating
Does not participate
Date of birth
Registered
Activity