1732328083025.png2 Кб, 560x560
Питон-тред №172 /python/ 3327670 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #172

Встречаем новый революционный Питон 3.13. Питон встаёт на путь избавления от GIL. Подключают JIT технологии. У нас появляется надежда догнать и перегнать C++. Или хотя бы Rust/Go

Предыдущий: >>3284682 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://online-python.com/ - листинги и онлайн-запуск
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей

#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)
https://github.com/yakimka/python_interview_questions - интересная подборка, масса разнообразных тем и вопросов, для продолжающих, всё на русском

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— А как учить джангу? Нахожу книги по джанге 1.х, можно их использовать?
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: https://www.composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в америке живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
текущая шапка: https://goonlinetools.com/snapshot/code/#154ln61u1e2e5b4kfv6w8r
2 3327673
Зачем Питон сделали интерпретируемым, если от этого одни проблемы?
3 3327676
>>27673
Что бы не конпелировать
4 3327691
>>27676
Он конпелируется.
5 3327711
>>27673
Перечисли хотя бы пять.
6 3327783
>>27673
Чтобы легко было писать скриптики, прототипы и так далее.
ЯП для не программистов.
За счёт этого и интеграции с C взлетел в среде науки, ДС.
7 3327844
>>27783

> ЯП для не программистов.


Дай определение программиста? Для небольших программ самое то.
8 3327865
>>27844
Это было написано не чтобы задеть твоё эго, что, видимо, произошло.
Кокнретно означае, что не надо много думать про память, сборки, типы, ООП/ФП, многопоточность и так далее.
Сейчас, глядя, что индустрия внезапно не нуждается во всём этом и готова клепать на чём угодно, лишь бы дёшево на начальной фазе, пытаются уже прикрутить всё это, JIT, типы, убрать GIL, делая пародию на нормальный ЯП. С управлением завимиости по прежнему вроде хаос, но я, может быть, не следил.
Если ты считаешь себя программистов на Пайтоне - ладно. Речь не о том.
9 3327905
>>27865
По каким критериям ты решил что питон не язык для программистов? Многопоточность - в нативных библиотеках если она там нужна. А то и вообще гпгпу.
10 3327906
>>27905
Я вроде выше пояснил, что это условность?
11 3327907

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


А вы подумали? С кем надо перепасть Как вообще научиться думать в эту сторону, учитывая, что в школе такому не учат?
12 3327914
>>27906
То есть ты так решил? Ну ок.
13 3327919
>>27914
а что, кто-то за него должен быть решить? пиздец какой-то
14 3327922
>>27905
тем более, что он не сказал, что питон не для программистов, было - для не программистов. не одно и то же блять.
15 3327925
>>27922
Только для непрограммистов? Дай определение программиста.
16 3328000
>>27925
жес у тя с логикой проблемы.
17 3328003
>>28000
Где?
18 3328036
Хуя, Лутц пилит новый эдишон под 3.12.
19 3328078
>>27783

>ЯП для не программистов.


Как и JS, Java, C#.
17303361399910.jpg491 Кб, 717x1280
20 3328083
Считаю, каждый должен знать два языка прототипирования это JS и Питухон, потом свои мокрописячные изыскания реализовать хоть на Асме
21 3328084
>>28078
Java была упрощением C++. C# - Java от MS
Эта грань условна, но эти языки тянут на полноценные. В одну кучу с JS они точно не попадают.
22 3328085
>>28083
Один из этих языков, в зависимости от области ИТ.
Ну и то, если язык не основной, то необязательно экспертно. Как Bash и подобные технологии.
23 3328087
>>28085
Я хз как башодрисню можно помнить, если не пользоваться постоянно.
24 3328093
>>28087
Если ты пердолишься в Линупсе, то Баш просто необходим.
25 3328335
>>28084
Еще раз спрашиваю: чем питон неполноценный?
Снимок экрана от 2024-11-24 18-44-47.png157 Кб, 1058x865
Пистон, сделай телевизор погромче 26 3328404
Ну вот и все, приплыли походу.
Как мне асинхронную программу запустить из несинхронного кода? Мне нужно в одном цикле (пикрил) обрабатывать ввод в терминале а в другом там тяжелый обсчет и вот это все и да он может быть прерван по команде пользователя, как в ffmpeg короче реализовано.

Ввод то я запилил, а вот с асинхронным запуском сасай, если завернуть код в асинхронную функцию то и запустить через asyncio.run(main()) то обработка консоли естественно не будет работать. Почему так по ублюдочному реализованы асинки? как можно изъебнутся чтоб это приодолеть? Не хочется все это реализовывать на сишке.
27 3328406
>>28404
В чем проблема запустить луп в отдельном треде?
28 3328413
>>28406
на пистоне есть треды с мьютексами хуютексами?
30 3328423
>>28418
Блять ебучее питоновое поделие, специально его взял чтоб избежать всего этого но хуй
Снимок экрана от 2024-11-24 21-56-39.png148 Кб, 1100x867
31 3328467
Бля говняное пистоновое пидорасище, я его маму ебал.
Это точно скриптовый язык с джитом или это декларативная залупа с синтаксисом для компилятора?
Что это блять за хуйня почему асинхронный код надо запускать и дожидаться как обычный, какой тогда смысл в такой асинхронщине что за ебанутый мудак его реализовал.
32 3328670
>>28467
Ты опять выходишь на связь?
33 3328680
>>28467
Нахуя ты отдельно event loop создаешь в main_a? Чтобы что?
34 3328684
>>28404
Ты троллишь тупостью уже второй тред подряд?

>ой эвент луп блокирует почему так


Ну вы посмотрите на него!

>как можно изъебнутся


Можно повесить всё на один эвент луп, как подобает. Много блокирующего кода одновременно выполняться при этом всё ещё не будет.

Таски какие-то, блядь. Ты вообще понимаешь, что такое async I/O?
35 3328738
>>28670
Буквально первый раз зашел выяснить почему асинхронные функции в пистоне запускаются фактически вовремя await с ожиданием результата, что это за асинхронщина как этим пользоваться?
Это что то уровня

В других языках (js, qt, да даже сишные асинхронные функции из состава mpv) запуск асинхронной функции означает что ты фактически ее запустил а результат будет когда нибудь потом, тебе на промис/future объект скинут потом. И только когда у нас дальнейшее исполнение зависит от результата используется await что бы его дождаться.

В пистонище надо юзать какие то конструкции для запуска асинхронного кода прям как в qt, но при этом результат не как в qt - QtConcurrent.run() ничего не останавливает а asincio.run() loop.run_forever() все нахуй останавливает пока "асинхронные" функции не отработают, причем если я их две создал они будут поочередно-последовательно выполнины, где тут асинхронщина? Чем это отличается от обычного последовательного кода?
36 3328742
>>28738
Между асинхронностью и конкурентностью чуешь разницу?
Снимок экрана от 2024-11-25 12-36-26.png124 Кб, 1120x628
37 3328757
>>28684

>Ты вообще понимаешь, что такое async I/O?


По идее io это чтение/запись в какое то устройство (не в память), например в фаил, но поскольку в петухоне какое то свое понимание всего, я уже не уверен
>>28680
Я уже убрал все в класс и асинхронные методы и запускаю асинхронный main, результат - кольца в двух асинхронных методах выполняются поочередно, сначала один отработает до завершения потом второй.

Мне нужно вот это:
https://stackoverflow.com/questions/31623194/asyncio-two-loops-for-different-i-o-tasks
но оно не работает, возможно причина в stdin.read() который все жестко блокирует/останавливает, но как бы а асинхронщина на что?
38 3328767
>>28742
Конкуренция автоматом подразумевает асинхронность, в обычном последовательном коде никакой конкуренции априори быть не может.
Есть еще что пиздануть не по делу?
39 3328778
>>28767

>Конкуренция автоматом подразумевает асинхронность


Услышал тебя. Больше вопросов не имею.
40 3328782
>>28778
Ну вот и съеби тогда отсюда, клован.
41 3328796
>>28782
Или что?
42 3328813
>>28757

>По идее io это чтение/запись в какое то устройство (не в память), например в фаил


И почему ты решил, что либа с названием "asyncio" поможет тебе в параллельном одновременном выполнении блокирующего кода?

>Мне нужно вот это


Первый же ответ:

>The whole point of asyncio is that you can run multiple thousands of I/O-heavy tasks concurrently, so you don't need Threads at all, this is exactly what asyncio is made for.


>asyncio will not make simple blocking Python functions suddenly "async".



>возможно причина в stdin.read()


Скорее всего, ведь он блокирующий наверное; я 100 лет не писал на питухоне.
А вообще за всю историю питухона простого и понятного эвент лупа ни один питонодебил так и не смог сделать, о чём ещё в прошлом треде говорилось. Почему ты выбрал именно питухон?
43 3328836
>>28757
Про GIL почитай, дегенерат. Узнаешь много нового.
44 3328854
>>28813
А что сложного в питухоновском лупе? То что ты должен явно завернуть main в event_loop? JS этого не требует (потому что он изначально разрабатывался вокруг async операций), но все остальное там плюс-минус тоже самое.
CPU bound что в питухоне, что в js блокируют поток. IO Bound не блокируют. Если хочешь сделать аналог new Promise() - заверни задачу в таск или используй тредпул.
Че сложного то?
45 3328858
>>28813

>И почему ты решил, что либа с названием "asyncio" поможет тебе в параллельном одновременном выполнении блокирующего кода?


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

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

Питон потому, что нужен просто скрипт без компиляния и с системной обвязкой, из аналогов тоько руби наверное.
46 3328884
>>27783
Горит от того, что теперь любой мимокрок через полгода-год обучения может тоже программировать и получать за это бабки? Уже не чувствуешь себя настолько элитой? Смирись с реальностью, браточек.
47 3328885
>>28854
1) создаем залупу
2) назначаем залупу "обработчиком событий"
3) вызываем асинхронную функцию -> получаем объект@"корутину"
4) создаем с ней таск
5) добавляем таск в залупу
6) запускаем залупу
7) синхронно ждем пока там все закончится

Я бы понял если бы это был си:

int main() {
_ auto loop = acio.new_event_loop();
/ .... /
_ loop.run_forever(); // ждем что бы не произошло выхода
_ return 0;
}

но питон же рантайм язык, у него процедуры контекст не умирают после выхода, что за хуйня блять
48 3328899
>>28885

>ждем что бы не произошло выхода


А ивенты будет Пушкин обрабатывать? Название run_forever тебе ни о чем не говорит? Ты запускаешь ивент луп, он должен быть, пока есть события для обработки, от корутин или тасок.

Читай Мэттью Фаулер - Asyncio и конкурентное программирование на Python. Там все паттерны, которые тебе нужны
Screenshot 2024-11-25 at 15-09-04 Мэттью Фаулер купить продукцию Лабиринт.png221 Кб, 945x930
49 3328927
>>28899
У пистона есть рантайм, который модули динамически загружает/выгружает мусор собирает итд итп.

>Читай Мэттью Фаулер - Asyncio и конкурентное программирование на Python.


кек
50 3328936
>>28927
Рантайм мусор собирает, но дескрипторы от ввода-вывода в селекте сам по себе не проверяет, это надо в коде делать. Кому-то асик-авейт не уперся, он мультитредингом или мультипроцессингом пользуется, зачем им ивенлуп в питон встроенный? Питон не нода чтобы вокруг ивент лупа быть построенным.
51 3328950
Нашел примеры из книги (более-менее вменяемый):

async def main():
- task = asyncio.create_task(delay(10))

- try:
- - result = await asyncio.wait_for(asyncio.shield(task), 2)
- - print(result)
- except TimeoutError:
- - print("Task took longer than five seconds, it will finish soon!")
- - result = await task
- - print(result)

asyncio.run(main())

ожидаемо манялогика которую непонятно как совместить с системным программированием.
52 3328951
>>28950
Проблема подобных примеров в том, что они демонстрируют работу asyncio, но не дают понимания как это применяется на самом деле.
53 3328960
>>28885
JS и Dart работают точно так же, ты как-будто никогда асинхронных языков не видел. Только они прячут луп под капот, потому что иначе они не умеют. Но в пайтоне луп необязателен, никто не запрещает тебе создавать треды и джоинить их.
Все что тебе надо сделать - создать луп одной строчкой asyncio.run() и просто запускать асинхронные функции из main и его стека функций. Все.

Хочешь промисы-фьючеры? Ну заверни тред с IO Bound в таск, тебе же дали блять to_thread(). Хочешь дождаться выполнения всех задач как в Promise.all? Ну используй gather. Не хочешь дожидаться вообще? Запусти таск без await и пусть он сам все разруливает. Что тебе не так не пойму.

>>28950
Так же как в JS. Если операция IO Bound - завернул в таск и погнал. Посмотри ради интереса как requests можно использовать асинхронно, не прибегая к помощи aiohttp.

А если тебе байтоебствовать надо и математику свою обсчитывать то ты наебался в тот самый момент как пришел в пайтон. Тут продукты кабанам пишут, а не токенайзеры с компиляторами.
54 3328992
>>28960

>пайтон


орнул
55 3328998
>>28936

>не нода чтобы вокруг ивент лупа быть построенным


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

Короче опытным путем было установлено что вот так программы работают асинхронно: кольцо в speedhack получает время, печатает после чего встает на sleep(N) управление передается на второе кольцо и там уже все встает на на ожидании stdin.read() и уже обратно не возвращается.

что интересно если не создавать таски а просто сделать:

task2 = obj_hack.speedhack(s,x)
task1 = obj_hack.keyhook() # асинхронные методы возвращающие корутины
await task2
await task1

то выполняться будет синхронно-последовательно 2-1, то есть бесконечный цикл в task2 будет вращаться бесконечно несмотря на наличие асинхронного sleep

Короче накрутили@наворотили какой то хуеты, которая непонятно как реализована, и непонятно для чего предназначена, но есть покупайте книжку фильки митюхина там все объяснят.
56 3329009
>>28998
Мне кажется ты занимаешься какой-то хуйней. Тебе за многопоточностью с постоянными циклами для опроса клавиатуры лучше в Go идти. Вот там будешь как дома, хуярить свои stdin/stdout в отдельном треде, ловить это через каналы и исполнять в другом треде.
57 3329012
>>28998

>то есть бесконечный цикл в task2 будет вращаться бесконечно несмотря на наличие асинхронного sleep



А ты чего ожидал? Await на то и await что дожидается исполнения функции и return'а. Если у тебя там бесконечный цикл то схуяли ты решил что начнется ожидание следующего таска?

В треде или процессе запускай, если тебе надо параллельное исполнение.
58 3329021
>>28998
Если task1 task2 голые корутины, то будет последовательно эвейтится, если это таски, то возвращятся результат будет последовательно, а код в тасках выполнятся конкурентно. Конкурентно не значит паралельно. Это значит что пока одно таска ждет ио, то выполняется код другой таски.
59 3329033
>>28998

>и там уже все встает на на ожидании stdin.read()


Потому что это блокирующее говно с while true под капотом, которое ничего не знает про asyncio. Тебе же сказали.
60 3329057
>>29012
так в питоне await обязателен, без него функция даже не стартует.
ну и в общем все как >>29021 описал, фактически с тасками await-ы выполняются конкурентно, то есть пока в одном бесконечном цикле все остановилось на ожидании (у меня там таймер дожидается ~250 миллисекунд от системных часов), то в это время поднимается другой таск а в нем из за чтения с блокировкой уже всё. А привычной асинхронщины в петухоне нет вообще.

Мультитреды избыточны, я думал так: пока в основном цикле все уходит в сон, лезем читать stdin что туда нападало, вычитываем обрабатываем, выставляем флаги, возвращаемся и в зависимости от флагов либо завершаемся либо еще что-то

>>29021

>Это значит что пока одно таска ждет ио, то выполняется код другой таски.


А вот хуй, чтение файла или stdin (как в моем случае) блокирует поток и сасай кудасай
работает только с заурядным кодом
>>29009
Go надо компилировать, да еще и требует что бы Go барахло было в наличии, этож совсем некомильфо
61 3329059
>>29033
Так и я сразу написал что "всё" и спектакль окончен
Что делать то? Писать свою асинхронную реализацию stdin.read(), это вообще возможно?
62 3329060
>>29059
Лол ты познал всю боль асинхронщины в питоне
63 3329062
>>29059
Тебе что надо? В отдельном потоке считывать данные с stdin и передавать в основной поток выполнения? Если да, то тебе вообще асинки не нужны, тебе нужны треды и процессы.
64 3329065
>>29057

>А вот хуй, чтение файла или stdin (как в моем случае) блокирует поток и сасай кудасай


Естественно таска дожна содержать await для чтения
Для блокирующего ио используй или
ThreadPoolExecutor и loop.run_in_executor если без сторонних либ
или либы для асинхронного чтения файлов
65 3329066
>>29057

> так в питоне await обязателен, без него функция даже не стартует.


Схуяли обязателен? Ты просто запускаешь таск и он сразу начинает исполняться. Точно так же как работает new Promise() в JS. Если тебе надо дождаться и получить результат выполнения - вот тогда ты уже используешь await.
66 3329071
>>29057

> Go надо компилировать, да еще и требует что бы Go барахло было в наличии, этож совсем некомильфо



Где требует? Для разработки или для запуска? Для разработки у тебя любой язык будет требовать: что clang, что петухон, что голенг.
А вот для запуска нихуя тебе не надо будет кроме операционной системы. Ты просто получишь бинарник, который сможешь запустить как тебе удобно.

Думается мне что ты просто шизофренник-долбоеб, который занимается непойми чем.
67 3329083
>>29071
модули как в го подключаются? Как включения исходных файлов или динамически?
68 3329096
>>29083

> модули как в го подключаются? Как включения исходных файлов или динамически?



Статически скорее. Ближе к тому как c (хотя ты можешь исполнить функцию инциализации модуля во время подключения), но в рантайме ты уже не подключишь модули.

Хз зачем тебе это правда надо.
70 3329178
>>29059

>Что делать то?


Не использовать питухон для любых вещей сложнее print('hello world').
Снимок экрана от 2024-11-25 21-41-25.png248 Кб, 1110x808
71 3329255
>>29178
тык бля у меня и так принтхеловорд по сути.

Нихуя себе, все получилось.
Все в одном потоке асинхронно, stdin читает keyhook в stdout пишет сообщения speedhack тоже асинхронно вместо print.

Единственное
termios.tcsetattr(ifd_attrs, termios.TCSADRAIN, old_setts)
выпадал с ошибкой I/O (как я понимаю stdio закрыт или что-то такое) вне асинхронной функции с переносом ошибка пропала, либо она просто из асинхронной программы не вываливается, надо бы разобраться.
72 3329258
Почему один поток в данном случае лучше двух:
если пользователь уснет на кнопке P второй поток не будет сходить с ума проверяя условие которое меняется каждые 10 миллисекунд, тем более при его чтении/записи нет локов.
73 3329291
Дата сатанисту дохуя математики знать надо? Хочу вкатиться.
74 3329317
>>27905

>По каким критериям ты решил что питон не язык для программистов?


Гвидо сам так говорил, что создавал язык для не-программистов.

Правда когда питон взлетел, влезли программисты, добавили кучу индустриальной хрени, технологий, всё усложнили. В C++ спасибо не превратили, то нынешний питон совсем не детский, не программист его нормально не вытянет.
75 3329373
>>29291

>Дата сатанисту дохуя математики знать надо


Если хочешь понимать как все работает, то да, а если просто гиперпараметры теребонькать то нет.
76 3329381
>>28083
В целом поддвачну. Но я видел смешное:

> Давай накидаем по-быстрому прототип на Пистоне, а потом - перепишем для пущей скорости.


> Ух, получилось ничёшно, а под нагрузкой как?


> Вау.


> Оставляйте на питоне, нахуй тратить время на переписывание, если оно итак хорошо работает.


Иногда, правда, стоит проводится профилирование и, может быть, вынести узкие места.

>>28085

>Один из этих языков, в зависимости от области ИТ.


Я лично считаю, что Питон обязателен длч каждого хотя бы из-за того, что он приучает следить за отступами.

Был у меня печальный опыт конфигурирования систем с логикой, описанной на каких-нибудь своих языках без IDE. Сколько лучей любви и нежности я посылал товарищу, за которым приходилось расставлять табы. 800+ строк даже без подсветки синтаксиса и вообще хуй разберёшь, где заканчивается ода вложенность и начинается другая потому что там не то что отступы (он их ВООБЩЕ, SUKA, НЕ ИСПОЛЬЗОВАЛ) - даже переносы строк были поставлены как повезёт (конец нескольких блоков на одной строке? да постоянно!).

>>28087

>как башодрисню можно помнить


>>28093

> в Линупсе, то Баш просто необходим.


Как человек, который на Баше делал реально интересные вещи ответственно заявляю: даже админы его знают поверхностно. В основном потому что если нужны вещи, требующие хитрых финтов - проще уже взять Перл или Питон.

Мне пришлось его освоить из-за GitLab CI. И я рад, но в работе админа это не так уж полезно.

>>29083

> модули как в го подключаются?


Зависит от флагов сборки.
77 3329383
>>29317

>не программист его нормально не вытянет.


Это если глубоко разбираться - некоторые вещи сделаны настолько отвратительно и неинтуитивно, что не всякий программист разберётся. Для написания портянок а-ля for x in y: eat_this(libaname.dostuff(x, foo='bar')) всякими далёкими от программирования АНАЛИТИКАМИ это всё ещё сильно лучше, чем перл или ш.
78 3329389
>>29381

>проще уже взять Перл или Питон


Проще, но все системные скрипты на Баше

>ответственно заявляю: даже админы его знают поверхностно


Видел старого пердуна виндового админа, так он двумя указательными пальцами печатал и без мышки впадал в ступор.
79 3329391
>>29389

>виндового админа


Эникейщика.
80 3329458
>>29391

>Эникейщика


Ведущий иженегр, тратил миллионы на лицензии всяких Майкрософтовских поделок
81 3329635
>>29389

>Проще, но все системные скрипты на Баше


Нет, конечно. На питоне тоже делают, кроме того чисто скриптами делать моветон, сейчас активнее используют инструменты вроде ансибла, к слову на питоне написанном
82 3329639
>>29458
Всё-равно эникейщик.

>>29389

>все системные скрипты на Баше


Ты системных скриптов не видел?

Типа:

> head -1 $(which apt-add-repository)


> #!/usr/bin/python3


И так можно много с чем сделать. На самом деле почти всё, что выполняется в системе это или скомпилированный не важно из чего бинарник или Питон (Перл как-то вышел из моды до того, как я им проникся).
Раньше можно было хотя бы говорить про SysV init scripts, но те времена давно прошли, как бы кто к этому ни относился.
Я, например, негативно. Политика системд по вытеснению всего и вся бесит.
83 3329762
>>29317
Я вот не вдуплюсь в суть твоих претензий. На нем не пишут программисты? Или на нем не могут писать непрограммисты? И то и то пиздеж.
84 3329765
>>29381
Помню в s был тред где пердомакаки сосали у помершеллобогов не вынимая.
85 3329845
>>29765

>этот влажный копиум спермоблядка

86 3329847
>>29762

>На нем не пишут программисты?


Нет. Зачем программисту писать на питухоне, если даже на баше писать удобнее?
87 3329849
>>29845
Где копиум, свыня? Пердошкрипты это аналог комманд.кома, помершелл - язык программирования.

>>29847
Держите в курсе.
88 3329857
>>29849

>спермофанбой спешит на захист барина и его спермоподелия

89 3329882
>>29857
Свыня, портянки на баше сжимаются в несколько раз, становятся читаемее в разы и не срут коксом от пробелов в имени файла.
90 3329918
>>29639
а мне нравится системд, в кои то веки настоящее решение для десктопа.
соглашусь с тем что на сервере или в эмбедщине/роутере он нахуй не нужон, инит-скрипты гораздо более предпочтительное решение, но не разделяю плохого мнения о том что системд слишком сильно завязан на линукс, слишком много на себя берет и на него слишком сильно завязаны DE.
Ну не получается нормальный десктоп на инитскриптах, нужны сервисы (в данном случае демоны root/user уровней как в макосном launchd) которые позволяют непривелигированным программам получить доступ к функциям доступным только в привелигированном режиме - примонтировать/отмонтировать устройство, перезагрузить пк, итд итп.
Понятно что станку на предприятии это не нужно, может быть даже не нужно тонким клиентам в каком нибудь классе или техподдержке, но на десктопе алены с твича запрашивать права на каждый чих или делать это через отваливающиеся костыли, как раньше было это не айс и сдерживает продвижение жнулинуксов в этой области.
91 3330062
>>29882

>пробелов в имени файла


Тётя срака, плиз.
92 3330067
>>29918

>Ну не получается нормальный десктоп на инитскриптах, нужны сервисы (в данном случае демоны root/user уровней как в макосном launchd) которые позволяют непривелигированным программам получить доступ к функциям доступным только в привелигированном режиме - примонтировать/отмонтировать устройство, перезагрузить пк, итд итп.


Да, в этом работа системы инициализации. Например, «Апстарт» был системой инициализации. Замечательной. Но «Системд» — это уже давно монолитный монстр с гигатоннами своего ненужного кода, от своих бинарных логов (дважды фэйл) до своей системы контейнеризации. Это НЕ система инициализации. Это квазисистема управления системой. Если бы они смогли, они бы ещё и пакетный менеджер свой зашили бы.
Есть и другие претензии, но мы не на той доске, чтобы в них погружаться. Я лично просто держу в голове, что такими темпами скоро придётся переезжать на «Фряху».

>>29765
Сильно сомневаюсь. Хотя я и приводил выше объяснение: если что-то становится неудобным для баша — в ход идёт Питон. Спермачей, способных написать хоть что-то на ебучей ракушке, вообще полтора анонима. Я с ним знаком не понаслышке, и это пиздец, какой он кривой и контринтуитивный.
Но главная проблема в том, что пс — это шелл без задач. С его помощью можно очень ограниченно рулить локалхостом, но на этом всё заканчивается.

Для всех, кто хочет оценить «крутость» повершелла: в конце 10-х до майков дошло, что гуй на сервере неуместен, и они выпустили линейку серверных систем с суффиксом core с ракушкой для манипнипуляций (эх, хотел бы я узнать, какой процент виндовых серверов реально рулится из консоли в эти годы).
В итоге, правда, это выглядело откровенно смешно: это не была консольная система, повершелл работал В ОКНЕ, но самое ржачное, что в Server Core оставили ДВЕ гуёвые программы. Эмулятор терминала. И БЛОКНОТ. Блокнот, сука! Потому что в ебучей ракушке нельзя нормально поправить текстовый файл. Для этого просто нет инструментов.

Справедливости для: в поше есть 1 (ОДНА) реально хорошая штука: объектный пайп, благодаря которому всякие таблички от СОВМЕСТИМЫХ программ выводятся, сортируются и фильтруются намного удобнее: фактически cut + sort + uniq можно сделать одной дополнительной командой. Это не ультимативная киллер-фича, но это удобно. Впрочем, как я уже говорил, он настолько беззадачный, что это интересно, но не приносит реальной пользы.
92 3330067
>>29918

>Ну не получается нормальный десктоп на инитскриптах, нужны сервисы (в данном случае демоны root/user уровней как в макосном launchd) которые позволяют непривелигированным программам получить доступ к функциям доступным только в привелигированном режиме - примонтировать/отмонтировать устройство, перезагрузить пк, итд итп.


Да, в этом работа системы инициализации. Например, «Апстарт» был системой инициализации. Замечательной. Но «Системд» — это уже давно монолитный монстр с гигатоннами своего ненужного кода, от своих бинарных логов (дважды фэйл) до своей системы контейнеризации. Это НЕ система инициализации. Это квазисистема управления системой. Если бы они смогли, они бы ещё и пакетный менеджер свой зашили бы.
Есть и другие претензии, но мы не на той доске, чтобы в них погружаться. Я лично просто держу в голове, что такими темпами скоро придётся переезжать на «Фряху».

>>29765
Сильно сомневаюсь. Хотя я и приводил выше объяснение: если что-то становится неудобным для баша — в ход идёт Питон. Спермачей, способных написать хоть что-то на ебучей ракушке, вообще полтора анонима. Я с ним знаком не понаслышке, и это пиздец, какой он кривой и контринтуитивный.
Но главная проблема в том, что пс — это шелл без задач. С его помощью можно очень ограниченно рулить локалхостом, но на этом всё заканчивается.

Для всех, кто хочет оценить «крутость» повершелла: в конце 10-х до майков дошло, что гуй на сервере неуместен, и они выпустили линейку серверных систем с суффиксом core с ракушкой для манипнипуляций (эх, хотел бы я узнать, какой процент виндовых серверов реально рулится из консоли в эти годы).
В итоге, правда, это выглядело откровенно смешно: это не была консольная система, повершелл работал В ОКНЕ, но самое ржачное, что в Server Core оставили ДВЕ гуёвые программы. Эмулятор терминала. И БЛОКНОТ. Блокнот, сука! Потому что в ебучей ракушке нельзя нормально поправить текстовый файл. Для этого просто нет инструментов.

Справедливости для: в поше есть 1 (ОДНА) реально хорошая штука: объектный пайп, благодаря которому всякие таблички от СОВМЕСТИМЫХ программ выводятся, сортируются и фильтруются намного удобнее: фактически cut + sort + uniq можно сделать одной дополнительной командой. Это не ультимативная киллер-фича, но это удобно. Впрочем, как я уже говорил, он настолько беззадачный, что это интересно, но не приносит реальной пользы.
93 3330073
>>30067
Не ну про уровень его кода я наслышан, с этим не спорю, я про то что работает выполняет задачу.

А так ну надо эксплуатировать нарабатывать хороший опыт, потом сообществом форкать и убирать все говно, ну или в тихую пилить аналог, runit например
94 3330078
>>30073
зачем перепиливать велосипед?
СистемД даёт немерянную массу возможностей, зависимости, разные типы задач, функционал крона, ограничители прав и дохуя всего ещё.

Ради чего перепиливать, делая кастрированный вариант?
95 3330090
>>30078
Но это уже НЕ система инициализации (та, что была, была далека от идеала, но полностью справлялась с задачами). И это ёбаный монолит, заменяющий то, что хорошо работает, на свои аналоги, какими бы они ни были. И тебя вынуждают принять их все сразу, без возможности выбора.
96 3330092
>>30067
Это хотя бы язык программирования, а не аналог комманд кома. На баше форыч по файлам со спец символами это уже событие, блядь.

Причем тут рулить? Я его и использовал для файловых задач, иногда для админства.

> СОВМЕСТИМЫХ


Шо-шо?
Выхлоп можно еще в жсон сохранить, ты охуеешь!

> Справедливости для: в поше есть 1 (ОДНА) реально хорошая штука: объектный пайп,


Киллер фича. Почему прыщепидоры в это не могут?

>>30078
Твой системд умеет о в объектый пайп?
97 3330103
>>30092

>по файлам со спец символами


Спермоблядский ламер-гуманитариеблядок с двузначным IQ не осилил кавычки, ору.

>кококо язык ПОГРОМИРОВАНИЯ


Даун, спокуха, баш тоже полный по тьюрингу и прекрасно позволяет программировать всем, кроме спермодебилов-неосиляторов и прочих немогущих жить без джавапидорского классового бойлерплейта (или какие у тебя там критерии "пок пок настоящево языка ПОГРОМИРОВАНИЯ"). Иди переустанови шипдошс и прекрати позориться.
98 3330124
>>30092

> Это хотя бы язык программирования


Это неудобная всратая говнина.

> На баше форыч по файлам со спец символами это уже событие, блядь.


Ты, видимо, видел только

> for i in $(ls folder)


Потому что В ЭТОМ СЛУЧАЕ обходится результат ls. А вот если у тебя

> for i in ./folder/*


То всё отрабатывает как должно. С абсолютном соответствии с философией языка. Только кавычки расставить не забудь. То, что Баш позволяет обращаться с ними весьма вольно не значит, что они вообще ненужны.
Об этом, кстати, сразу кричит шеллчек даже если ты не сделаешь, как надо:
https://www.shellcheck.net/wiki/SC2045

> Я его и использовал для файловых задач, иногда для админства.


И это всё, что он умеет и может, пытаться выжать из него больше — глупо, пс не справится. На баше же иногда извращаются и делают сложное, но это чисто по фану.

>Шо-шо?


То. Если у тебя рандомная консольная тулза, которая не возвращает объект — ты сосёшь. Например, если какой-нибудь kubectl возвращает текст, и хоть усрись — ты не получишь нормального опыта с ним в майковском недоразумении, потому что он его не обработает штатными инструментами, а других у тебя нет.

> Почему Баш не делает объектный пайп?


Потому что он справляется без этого. И в соответствии с идеологией.

Для тех, кому надо, есть другие инструменты, например ksh (отсюда твоё недоразумение и попёрло фичу, кстати) или squirrel shell, но, как показывает практика, это тупо не нужно в том виде, в котором есть.
99 3330297
>>30124

> for i in ./folder/*


> То всё отрабатывает как должно. С абсолютном соответствии с философией языка. Только кавычки расставить не забудь. То, что Баш позволяет обращаться с ними весьма вольно не значит, что они вообще ненужны.


> Об этом, кстати, сразу кричит шеллчек даже если ты не сделаешь, как надо:


> https://www.shellcheck.net/wiki/SC2045


То есть эту ебань как-то нужно готовить? А в помершелле все работает как надо изкоробки.
Почему же тогда прыщеговно валится от пробелов в пути? Сигвин лучше даже не пытаться ставить в program files.

> И это всё, что он умеет и может, пытаться выжать из него больше — глупо, пс не справится. На баше же иногда извращаются и делают сложное, но это чисто по фану.


Мне похую, я не проф админ. На этот счет не знаю.

> То. Если у тебя рандомная консольная тулза, которая не возвращает объект — ты сосёшь. Например, если какой-нибудь kubectl возвращает текст, и хоть усрись — ты не получишь нормального опыта с ним в майковском недоразумении, потому что он его не обработает штатными инструментами, а других у тебя нет.


Так помершелл это не только powershell.exe, это еще и куча скриптлетов на все случаи жизни. А на прыщах даже такого нет.

> Потому что он справляется без этого. И в соответствии с идеологией.



> Для тех, кому надо, есть другие инструменты, например ksh (отсюда твоё недоразумение и попёрло фичу, кстати) или squirrel shell, но, как показывает практика, это тупо не нужно в том виде, в котором есть.


А, все понял, нинужно, кококо.

Я лучше на питоне писать буду чем на этом говнище. У меня после питона просто мозги не работают в этом направлении.

>>30103

> Спермоблядский ламер-гуманитариеблядок с двузначным IQ не осилил кавычки, ору.


А зачем их осиливать, прыщепидор? В cmd тоже какие-то кавычки есть, в рот я его ебал.

> полный по тьюрингу и


Это критерий языка программирования? Сколько таких полных по хуюрингу никому не нужные валяются?
100 3330338
>>30297

>А на прыщах даже такого нет.


Можно сделать.

>program files


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

>А зачем их осиливать


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

>никому не нужные


То-то спермоблядский помершелл всем охуеть как нужен, лол. Видимо, поэтому все спермобляди-"разработчики" ануса не пытаются пропихивать везде помершелл вместо ужасного пердольного убожества, а ставят СИГВИН и пытаются запустить там баш, после чего ноют, что тот, видите ли, недостаточно инклюзивен и плохо учитывает культурные особенности небинарных спермобляд_ей со СПЕЦСИМВОЛАМИ в именах файлов.
101 3330344
>>30338

> Можно сделать.


Забыл добавить в принципе

> Спермоблядок, ты же понимаешь, что программисты не пользуются виндусом и не будут ничего ставить в програм файлс? Виндус - это прошивка, изначально ориентированная на неграмотных тётей сраков и прочих потребителей, которые не разбираются в сложных компуктерах и в лучшем случае обучены нажимать полторы кнопки, как обезьянки.


Ебать дебил 😀 Не видел ни одного программиста на прыщах.

> Не знаю, я не прилагал для этого усилий и всё понял за минуту или вроде того. Ты просто тупая спермоблядь с айсикью ниже 80, раз такие элементарные вещи вызывают у тебя трудности.


Зачем осиливать что-то что уже за тебя осилили, пожиратель мозолек?

> спермобляди-"разработчики" ануса


Гомофурри с книжкой про перл.жпг

> а ставят СИГВИН


Сигвин ставят уж точно не ради баша.

Прыщедолбоеб, объясни, если баш позволяет работать с спецсимволами в именах файлов, почему прыщеговно не работает в пути с пробелами, а помершелл работает всегда, если только скрипт не прыщеблядь писала?
102 3330476
>>30344

>Не видел ни одного программиста


Кто бы сомневался. Хули взять с тебя, спермохлёба Васяна, самого крутого прогера пхп на раёне.

>Прыщедолбоеб, объясни


Спермодолбоеб, объясни, если помершел такой охуенный ЯЗЫК ПРОГРАММИРОВАНИЯ, почему на нём никто ничего не программирует, а на баше дохуя всего написано и миллионы людей пользуются им каждый день?
103 3330486
>>30297

>Так помершелл это не только powershell.exe, это еще и куча скриптлетов на все случаи жизни. А на прыщах даже такого нет.


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

> почему на нём никто ничего не программирует,


Как погодка в прыщемирке?

>>30486

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


Это как?

Выше написано, помершелл - это 1) шелл ближе к питону чем к строковым ЯП вроде бат файлов 2) в пайпе объекты, а не текст как в 80-х. Потыкай хелловелд и назови прыщеаналог.

https://youtu.be/tc4ROCJYbm0
За 50 лет ничего не поменялось?
105 3330617
>>30067
У меня к системд только одна претензия, процесс создания юнита и его старта занимает порой аж 1..3 секунд на серверах с большим количеством железа (не твой сервер под кроватью, да). Все упирается в тормоза systemctl daemon-reload , который долго генерит какую-то херню , а в последних убунтах он ещё перегружает конфиги netplan. Блять вы серьезно? Мне просто надо положить юнит файл сервиса и его стартануть.. тот же Runit это делает за 0 секунд. Поэтому приходится извращаться с созданием сервисов на лету при помощи systemd-run. Но это говно то ещё.
106 3330637
>>30608

>шелл ближе к питону чем к строковым ЯП


>объекты. а не текст как в 80-х


ты живешь в каком то своем выдуманном мире.
какие нахуй объекты какой строковый яп че несет
107 3330641
>>30617
Да это вообще пиздец полный, проигрываю с факпак/снап-дебилов, у которых системд в рантайме ссылки и ассоциацию файлов генерирует и все это дико тормозит
Как такую ебалу можно на серьезных щах продвигать как средство дистрибуции приложений.
108 3330642
>>30637
Прыщедолбоеб, потыкай помершелл - узнаешь.
109 3330662
>>30642
Я тыкал, нужен был ноджс на винде.
Он срал какими то красными и желтыми стенами текста, я вообще не понял как это работает. Может быть из за того что винда в виртуалке была, хз.

Не сомневаюсь что оно как редактор текста emacs - может все, кроме редактирования текста настройки рабочего окружения и запуска программ.
110 3330668
>>30642
Ну и да ничего не установил, ноджс ни даже помоему этот самый менеджер пакетов шоколатели нормально не работал, вчитываться в эти стены текста которые он там высирает небыло никакого желания учить скриптовый язык с ооп что бы исправить чье то говно ставить пакеты для разработки тем более.
Винда для разработки все еще не готова, так что нахуй.
111 3330705
>>30662

> Он срал какими то красными и желтыми стенами текста,


Кто у тебя срал? Ты шкрипт на нем запустил? Причем тут повершелл?

>>30668
Я тебе сука про помершелл, ты про софт на нём. Ты тормоз?
112 3330715
>>30705
Так менеджер пакетов написан на том самом помершел скрипте. Объектно-ориентированном, революционере.
Или на что ты дергаешь я не понял на иконку приложения что ли?
113 3330739
>>30715
Написан и хуй с ним. Я тебе сказал сам помершелл потыкать.
myfirstscripterror.png20 Кб, 669x486
114 3330752
>>30739
Что именно в нем тыкать?
Какое место ты находишь тут самым привлекательным? куда хочется непременно ввести команды или что вы туда вводите. Проясни
115 3330764
>>30752
Дупло, ты бы погуглило ошибку.
116 3330793
>>30764
дык это не мое, у меня красного текста было больше, А тут всего лишь написано что какая то политика где то не включена. Если ебля с настройками политики и подключением неподключенного из коробки функционала, с постоянным гуглением это то на что у виндовз-даунов шишка колом, то в cmake такого порно полно, по крайней мере если брать старые версии
117 3330805
>>30793

> Если ебля с настройками политики и подключением неподключенного из коробки функционала, с постоянным гуглением


Нету такого. Cmake тут каким концом?
118 3330811
>>30752

>ПС ЦЕ:\\\ШИПДОШС\систем32> И"ЦЕ:\\\Програм Файлс\\\My Hello World.ps123"


Это и есть бест практисы того самого охуенно удобного ЯЗЫКА ПОГРОМИРОВАНИЯ, наголову превосходящего пердольные поделия, или ещё нет?
119 3330816
>>30811
Свыня, если ты не осилил запустить ise то это твои проблемы.
120 3330842
Итт пердолики даже ниасилили запустить помершелл чтобы осознать свой отсос.
121 3330913
>>30842

>ну обратите на меня внимание((((


Хорошо, лови струю урины в ебало.
122 3330965
чуваки, жопа горит, пришлось зайти на ваш молодёжный форум, чтобы высказаться.
Короче поставил дефолтный pycharm и тд
У меня какие-то проблемы с документацией, либо это считается нормой, не знаю.
Допустим по ctrl+q мы хотим получить инфу по методу, но во многих случаях либо там почти нет описания, либо просто сигнатура и ссылка на сайт питона, но когда перехожу по ней, мне вываливается дефолтная страница, где даже нет никаких описаний методов (к примеру asyncio либа), мне надо вручную как-то это настраивать или что? щас бы в 2к24 лазить искать доки по всему инету...
123 3331005
>>30965

> щас бы в 2к24 лазить искать доки по всему инету...


Ты понял всю суть питона. Апи доки могут быть полным говном, а вся инфа в инете.

>>30913
Свыня не осилившая запустить пример че-то хрюкает.
124 3331024
>>30965

>щас бы в 2к24 лазить искать доки по всему инету...


Эээээ, так так все и делают, ты точно погромист?
125 3331030
>>31024
Я не он, но для многих языков доступны исходники. Поскольку Python часто лишь обёртка, а внутри всё на C, исходников нет и надо искать документацию. Удобно, когда хотя бы она есть в исходниках - так тоже много где сделано.
126 3331106
>>31005

>>31030
ну да, обычно из коробки всё, а тут такой прикол... всё таки питон не вчера появился, могли бы и сделать по людски хотя бы для стандартных либ
127 3331113
>>31106
А залупу на воротник не хочешь? Может тебе еще и хинты в стандартную библиотеку добавить? Вообще у меня набралось материала на фрактал плохого дизайна.
128 3331444
>>31030
В питоне дохуя на питоне и там доков тоже нет.
129 3331498
>>30965
Сначала учись писать в блокноте, потом обмазывайся ide. Я сам использую голый vim.
130 3331530
>>31498
Да? Схуяли?
131 3331928
>>31530
Это наш местный дед так самовыражается.
132 3331937
>>30965

>мы хотим получить инфу по методу


Какую инфу по методу, Вы, Николай II, хотите получить? Какой тип метод принимает и какой высирает? Но эта инфа Вам ничего не даст полезного и она и так на поверхности. ну высирает метод строку, например, и что дальше, важно же понимать какую строку. А ещё метод ведь может менять объект десять раз по ходу своей логики. Так что кто-то должен всё бросить, пойти и описать логику метода с примерами. У питухона кстати в этом плане всё относительно не плохо, даже выше среднего, доки хорошие. Так что не бухти.
133 3332126
>>31928
Я тоже уже вроде не школота. А то просто дебил.
134 3332184
>>31937
Апидоков в своей жизни не видел?
135 3332313
пришел я к вам сказать что питон ваш дерьмо ад какой-то который не подходит не для чего, кроме как скриптинга

захотел я тут потрогать AI для решения пары задач, нашел с десяток "готовых" решений и вот тут началось, приключения на десяток часов с 0 успехом.

одним проектам нужно чтобы версия 3.10 и не выше была, другим наоборот 3.11, но не 3.13
далее начался ад с зависимостями, я знаю об venv и естественно использовал его, но хер бы там плавал, не один проект не смог установится без конфликтов, при том в requirements все прописано по версиям прям четко ==, кое как вручную просмотрев какие версии есть у десятка библиотек я смог для 1 проекта подобрать так чтобы не было проблем, но опять хер мне, при запуске он выдал ошибку что в какой-то библиотеке чего-то там нет и я тупо забил

попутно я попытался пару проектов без venv поставить, вдруг в этом проблема...опять начался ад с зависимостями, одному numpy не выше 2.1 давай, другом же не ниже 2.1.3, проекты к слову друг от друга зависят типа как "микросервисы"

в результате я скачал какой-то дамп с venv внутри на ДЕСЯТОК ГИГОВ БЛЯТЬ, а там даже моделей нет, попытался запустить и у меня почему-то завис gradio
дальше "--------" ничего не идет

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

вот вам и питон, удобство и простота, настоящий ад, любой компилируемый язык в десяток раз лучше, там хотя бы запустить что-то серьезное можно, а тут сотню гигов выкачаешь разного дерьма и оно не работает хер пойми почему
136 3332326
>>32313
Ты тупой просто, если у тебя с venv ничего не получилось. Иди дальше, мимо треда.
137 3332331
>>32326

>если у тебя с venv ничего не получилось.


ну у меня получилась папочка на 7+ гигов, в которой невозможно решить конфликт НИКАК, а если закинуть вручную оно тупо не запускается.
да да, я тупой надо же добавить (изначально его там нет) omegaconf правильный и все будет, НО...
а все потому что оказывается 2.0.5 версия вроде как требует питона меньше 3.10 так как что там в нем требует версию ниже, скажешь ставь ниже и будет счастье? ну да, только другая либа требует МИНИМУМ 3.10, ахуенные требования

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

лозунг питона:
сделал однажды - ебись с этим вечно, иначе сломается
138 3332346
>>32331
Нихуя не понял. У тебя модули внутри одного проекта конфликтовали? Так это не совсем проблема питона.
139 3332430
>>32331
А в докере есть готовое?
140 3332534
>>32313

>который не подходит не для чего, кроме как скриптинга


А для чего по твоему еще должен подходить скриптовый язык? Что ты на нем собрался делать?
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее