Julian 🏳️‍🌈
Julian 🏳️‍🌈
Мой поинт был в том, что ООП это плохая парадигма, но ее залатали как могли.
Julian 🏳️‍🌈
Ну и тут ООП, как оно есть в Джаве
koder
Да нет, вроде все ок.
а, я уже запутался кто что пишет вообще, конечно, нужно бы заставить всех программистов в никах прописывать их мотто отношения к жизни. Что бы сразу не тратить время на разговоры с ними
misanthrop
И заодно свой опыт опиши
Julian 🏳️‍🌈
И заодно свой опыт опиши
вот что ты сразу с козырей
misanthrop
https://medium.com/better-programming/fp-toy-7f52ea0a947e Для контраста)
koder
https://medium.com/better-programming/fp-toy-7f52ea0a947e Для контраста)
это будет не контраст, а флейм :)
koder
а нет специальных чатиков, где идет война насмерть (каждый день с начала) между FP & OOP, например. Ну и все такое?
Anonymous
Пустые обсуждения. На каждую идею найдётся критика. Я видел статьи о том, что статические методы — зло, что лямбда-функции — зло. Карго-культы разных концепций и т.д. По факту главные критерии — работоспособность, масштабируемость и поддерживаемость. Всё остальное, как по мне, субъективный мусор ни о чём.
Anonymous
Есть те, кто считают, что в функции всегда должен быть только один return без каких-либо исключений, а всё остальное — плохая практика.
misanthrop
Карго культ основная проблема
Anonymous
Тоже карго-культ.
Sasha
Исходя из моего опыта, люди, которые категорично заявляют, что ООП - дерьмо, а ФП - супер-пупер: вообще не имеют опыта с масштабными проектами и вообще мало боевого опыта. Любая категоричность - плохо.
misanthrop
Борода тату на руке вейп фп и бек на ноде )
Anonymous
Я говнокодер, но ИМХО: Работает? Да. Масшабируется? Да. Можно поддерживать в реалистичные тайм-фреймы? Да. Больше вопросов нет. Ну, ещё быстродействие vs точность где-то может быть, но я бы это включал в категорию "работает".
Sasha
К тому же, это чатик по пайтону, бери лучшие моменты из ООП и ФП, пользуйся, радуйся. Это не джава или лисп в общем-то
Anonymous
А там хоть на брейнфаке пиши.
misanthrop
А там хоть на брейнфаке пиши.
Но на практике на Пайтон все же лучше полчаеться чем на брейнфаке
cookie🍪
а в чем тут пайтон?
Julian 🏳️‍🌈
Вот это я понимаю, реферальные ссылки которые мы заслужили
krakodeel
Простите.
krakodeel
Не то окно
misanthrop
это будет не контраст, а флейм :)
Для флейма ) функциональное программирование на самом деле плохо годится для реальных приложений. Примеры: ФП работает с "чистыми" функциями. Но реальное приложение работает с файлами, БД, внешними сервисами, которые нарушают требования "чистоты", в итоге приходится придумывать костыли в ФП переменные иммутабельны. Если у вас есть массив из 100 пользователей, и вы должны одному обновить рейтинг, вы должны сделать полную копию массива. И так на каждое изменение. Это негативно влияет на производительность и потребление памяти.(пример: реакт, где на любой чих пересоздается стейт заново и хорошо, если он у вас маленький). в ФП переменные иммутабельны, а структуры это не объекты и они передаются по значению, а не по ссылке. Там, где вы в PHP пишете $user->updateKarma(), в ФП вы должны писать user2 = updateKarma(user), и не забыть заменить старые копии user на user2 во всех местах кода, во всех коллекциях и списках. Удачи! в ФП нет исключений. В нормальном программировании вы просто пишете действия подряд, если произойдет ошибка, выбросится исключение и оставшиеся не будут выполняться. В ФП вам приходится лепить костыли, делая типы вроде Maybe и делая "пропуск" функции, если ей передано Maybe с ошибкой внутри. в ФП нет ООП, которым удобно представлять объекты реального мира. Вместо этого там приходится делать разрозненные структуры и функции для работы с ними — то, для замены чего и придуман ООП. А ведь в ФП вы еще не можете модифицировать объект, с которым работаете. в ООП функуция это просто последовательность шагов: 1) проверь, что такого емайла нет 2) добавь запись в БД 3) отправь письмо для подтверждения почты. В ФП же так не принято, а принято комбинировать функции в составные функции, из-за чего разбор кода превращается в кошмар (registrator = (formData) => combine(formValiadtor(rules), fieldExtractor('email'), emailNotInDbChecker(db), emailToDbAdder(db), emailSender(db, sendService)). Любимый паттерн разработчиков ФП. и JS — это сделать в одном файле определения функций (причем к которым нельзя перейти по клику или найти поиском), а в другом — их вызвать. Типичный пример (похожий код есть в jQuery): var attrs = ['id', 'name', 'age']; attrs.forEach((attr) => { root['get' + attr] = (x) => root[x]; } Удачи вам найти определение функции getName поиском. А ФП вроде Хаскелл позволяет создать 10 вариантов функции с одинаковым именем, но разным типом аргументов. Удачи вам найти при рефакторинге, какая из функций (раскиданных по разным файлам) вызывается в том или ином случае. Но, конечно, в программах для вычисления чисел Фибоначчи ФП не знает себе равных.
c
> Но, конечно, в программах для вычисления чисел Фибоначчи ФП не знает себе равных. троль 100 ур
c
большинство ЯП которые активно используются мультипарадигменные
c
или как JVM
c
есть Groovy, есть Java, есть Scala
c
надо ФП - Скала
c
надо ООП - джава
Дмитрий
Как написать скрипт, который будет генерировать полностью числа в диапазоне от 00000 до 99999 и сохраняя этот список в .txt?
Anonymous
ась?
я имел введу для никого
Anonymous
ась?
просто не на ту букву нажал
cookie🍪
Как написать скрипт, который будет генерировать полностью числа в диапазоне от 00000 до 99999 и сохраняя этот список в .txt?
на самом деле написать скрипт, который будет генерировать полностью чиста в диапазоне от 00000 до 99999 и сохраняя этот список в .txt очень просто, нужно всего-лишь взять ...
Aleksey
Возможно ли с помощью exec или каким либо другим образом запустить код, который сгенерировала и вернула функция?
Tishka17
Чо
Tishka17
1. Никогда не юзай экзек 2. Непонятно что ты хочешь
Туночка️
я понял егл
Туночка️
знать бы чтл exec делает
Aleksey
У меня есть код разный в зависимости от данных в бд и мне его нужно вставлять в код бота телеграм
Туночка️
а не проще ли импортировать пакеты
Aleksey
Чо
Всеравно не понятно?)
Anonymous
Всеравно не понятно?)
нет, чет не особо
Туночка️
а нет не проще
Туночка️
крч переделай код
Julian 🏳️‍🌈
Aleksey
нет, чет не особо
Для каждого пользователя выдаётся своё меню в телеграм боте, а меню генерируется на основе данных бд
Victor
Подскажите, как правильно из строки такого вида вытащить значение "HomeAP", не используя регулярных выражений: wlan0: Trying to associate with 12:34:56:78:90:AB (SSID='HomeAP' freq=2412 MHz) Является ли такое решение правильным: essid = line.split("'")[1] ?
👑OGURCHIK🖤
не нужен ексек
Aleksey
пфф
Так как подскажи)
👑OGURCHIK🖤
Так как подскажи)
ну пакажы кнопки
Anonymous
пфф
я хз что екзек делает
👑OGURCHIK🖤
я хз что екзек делает
ну так загугли
Anonymous
ну пакажы кнопки
акей загуглю
cookie🍪
давно пайтон научился вызывать функцию до её тела? или я опять чего-то не знаю?
koder
Подскажите, как правильно из строки такого вида вытащить значение "HomeAP", не используя регулярных выражений: wlan0: Trying to associate with 12:34:56:78:90:AB (SSID='HomeAP' freq=2412 MHz) Является ли такое решение правильным: essid = line.split("'")[1] ?
оно работает на данной строке корректно. очевидно оно не будет работать если в строке появится еще один '. Так что его правильность нельзя оценить, если не известен строгий формат строки. Но я бы так нписал
Victor
🤔жить можно
Мне кажется, это решение ненадёжно, потому что в строке могут появится апострофы в каком-либо другом месте (эта строка из журнала программы)
cookie🍪
а так можно было?
а я знаю? но выглядит странно и компилятор ругается, но куда её, тупой машине, до человека
👑OGURCHIK🖤
регулярки или ручной поиск
Aleksey
Сек
https://pastebin.com/9wWu3SKg
Victor
ну бери весь текст начиная с SSID=' и по ' freq=
Как это можно реализовать на Python 3 (без регулярок)? Циклом?