Спасибо. Генераторы, итераторы - я не совсем это имел ввиду. В Питоне не приходится как в других языках заботится об очистке памяти. Он все сам)
А генераторы всякие - это нормальный инструмент) Что бы не держать в памяти все сразу а только указатель на итератор.
Парсерами тоже занимался несколько лет назад, с учетом ограниченности ресурсов тогда приходилось экономить на всем)
Вот именно! я про это и пытаюсь сказать.
И как вы там думаете про память? у вас высоконагруженные приложения с бигдата?
Да, я сталкивался с тем, что приходилось отключать gc для ускорения и запускать его только когда нужно приложению, но в большинстве случаев хватает того как он работает по умолчанию. Поэтому мне сложно понять, как в в Питоне всегда думаете про память
Не неси бред. Я считал что ты в состоянии понять что я привожу и тебе не нужно весь код приводить. Ну и глянь исходный код для начала---------- Добавлено 03.01.2020 в 15:33 ----------
Вы работаете с Питоном?
*** ))) Я этот вариант сразу отмел как невероятный и начал тупить - а что же делает такой код)))) как бы в Питоне будет
if b:
# do something
У нас прогресс постоянно паблишится в другие серверы, да, с использованием селери/кафки, но есть и запросы которые могут подвиснуть в ожидании ответа, из и приходится асинхронить
Ну так этож пример индусокода))
А можно расшифровать?
Вы создаете булеву переменную и передаете аргумент какой то is_admin? а потом конвертите в строку и проверяете длину? что-то делаете если тру а потом еще какие то действия?
Solmyr, а что в вашем понятии говнокод, можно поподробнее? Я с С или Джавой почти не имел опыта, а в последние три года плотной работы на Пайтон уже и совсем забыл что нужно что-то думать про память.
Про типизацию у нас много споров. Я пишу сейчас на Питон 2.7 - там типизация только через комменты. В 3.4 уже завезли тайпхинты и там я могу явно указывать типы. Наверное это здорово и помогает ловить много ошибок уже на старте. Но за счет очень понятного кода в Питоне это не всегда большая проблема.
Ну и GC работает очень эффективно, тольков очень уж высоконагруженных проектах может появиться необходимость самому заниматься очисткой памяти
Полагаю, вы джавист или плюсовик)) Это не оскорбление ни в коем) Хорошие языки)
По вашим пунктам дополню просто на базе своего любимого питона
В Питоне динамическая (утиная типизация) - Как вы говорите, плохо для мозга? Используйте тайпхинты- заведены с 3.4 При этом сохраняется гибкость кода
В большинстве случаев в питоне не приходится думать про очистку памяти. Есть рефкаунтер, удаляющий неиспользуемые ссылки, есть гарбаджколлектор, который почистит циклические и которым вы можете управлять
Ну а куда без него) Но и тут все не так страшно. Есть MRO и алгоритм С3, который помогает разрешить проблемы с наследованием
Все вышеприведенное в принципе - тема одной лекции по питону на курсах. А вот в пхп я не встречал хорошей доки по этим темам, может просто тогда еще не интересовался.
https://habr.com/ru/post/337420/