LINUX.ORG.RU
Ответ на: комментарий от anonymous

mypy это имхо приговор питону. Всё, вокруг чего водили хороводы годами, в одночасье оказалось ненужным и вредным. Стоило только написать кривенький чекер. Ну сцуко, нельзя было сразу вкурить, что питон не годен для продакшна. Нет, надо было похайповать, навернуть горы говна, обделаться с ног до головы, и только спустя годы запилить убогий чекер, множащий на ноль все динамические достижения. Но и этот чекер идет на ура. А знаешь, что самое смешное: для рубей тоже недавно выкатили похожий чекер. То есть динамика обделалась по полной (или говнокодеры, которые не шмагли с нею совладать).

Всё нормально, просто ввиду дико возрошей популярности питона и жабоскрипта на них поползли говнокодеры, ранее сидевшие на всякой жабе. По скольку они – говнокодеры, а компилятор их по рукам больше не бьёт, то на выходе получается дерьмо. mypy, typescript и это всё – тупо попытка спасти положение.

anonymous
()
Ответ на: комментарий от anonymous

Про TypeScript не забывай. Это сейчас в сущности те же аннотации для питона, только иначе реализованные. Нужен Python 4, где ситему типов переработают и запретят к чертям динамику без явного указания на проверку типов в рантайме. Если осилят, то будет годнота. Побочным эффектом может быть ещё и заметное ускорение.

А вообще, есть же Cython и RPython. CPyhon можно слить с первым, либо вообще выбросить в пользу второго.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

возрошей популярности питона и жабоскрипта на них поползли говнокодеры, ранее сидевшие на всякой жабе

Я тебя умоляю. Макакичи на этих языках были задолго до того, как в Python и JavaScript стали на сопли прикручивать статическую типизацию «сбоку». И нужно быть очень интересным человеком, чтобы считать что Java-говнокодер пойдёт писать на Python или JavaScript, где ему будут платить меньше. Исключение – всякие там ML и прочее.

EXL ★★★★★
()
Ответ на: комментарий от slovazap

они теперь куда не плюнь

Миллионы мух не могут ошибаться. Демагогия.

Ложная дихотомия к тому же. Тот факт, что все едят этот катсус никак не противоречит тому, что оно хуже настоящей статики.

а mypy сам Гвидо пилит

Аппеляция к авторитету. Демагогия.

я уже даже не назову стороннего модуля где их нет

Потому, что вообще не понимаешь о чём говоришь. pyramid, django, flask — исторически самые популярные веб-фреймворки на питоне. Берёшь любую библиотеку, которая поддерживает 2.7 или хотябы версии до 3.5, внезапнейше окажется, что там ничерта хинтов нет.

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

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от EXL

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

Я тебя умоляю. Макакичи на этих языках были задолго до того, как в Python и JavaScript стали на сопли прикручивать статическую типизацию «сбоку». То были свои, родные макакичи. Типизацию прикручивают для залётных со статики.

И нужно быть очень интересным человеком, чтобы считать что Java-говнокодер пойдёт писать на Python или JavaScript, где ему будут платить меньше. Исключение – всякие там ML и прочее. Я вас хз.

anonymous
()
Ответ на: комментарий от anonymous

То были свои, родные макакичи. Типизацию прикручивают для залётных со статики.

Разве её не прикручивают для того, чтобы популярный ныне статический анализ в IDE и в других инструментах хоть как-то работал у ваших родных макакичей и они перестали писать код средним пальцем правой ноги?

EXL ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Осторожно. Такие речи могут триггернуть биологический реактор и беседу дальше вести здесь будет уже невозможно.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Разве её не прикручивают для того, чтобы популярный ныне статический анализ в IDE и в других инструментах хоть как-то работал у ваших родных макакичей и они перестали писать код средним пальцем правой ноги?

Нет. Нафига им, они так привыкшие.

Её прикручивают для новых макакичей, чтобы они смогли писать хотя бы средним пальцем правой ноги.

anonymous
()
Ответ на: комментарий от WitcherGeralt

Ложная дихотомия к тому же

Аппеляция к авторитету

Заучил, молодец. Теперь научись применять к месту - я не доказываю что mypy хорош, а просто опровергаю твоё заявление о том что он нигде не используется.

Берёшь любую библиотеку, которая поддерживает 2.7 или хотябы версии до 3.5, внезапнейше окажется, что там ничерта хинтов нет.

Это эквивалентно тому чтобы взять любую библиотеку без аннотаций и внезапнейше окажется что их там нет. На это могу предложить только взять любую библиотеку с аннотациями и внезапно их там обнаружить. Так-то https://github.com/search?l=&q=filename%3Apy.typed&type=Code - 14 тыщ репозиториев. Начиная с весьма популярного aiohttp. Из того чем я непосредственно пользуюсь как минимум yarl, dnspython, cairo.

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

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

slovazap ★★★★★
()

Достаточно самому попользоваться и станет ясно.

andalevor ★★★
()
Ответ на: комментарий от slovazap

На твой лепет я отвечать не буду. Одна лишь ремарка: никакого перехода на личности не было. Я по факту игнора тобой реальности заключил, что ты фанатик, использование этого слова не было обусловлено целью тебя оскорбить.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от EXL

Это не делает их менее десктопными. Приложений без gui в списке не так уж много вышло.

В смысле заменил SCons? Если он уже используется в чужом проекте и мне нужно там внести небольшую правку, то зачем мне тратить время и что-то менять?

Ещё раньше была читалка книг с автопрокруткой текста и игра riichi mahjong.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от anonymous

Всё нормально, просто ввиду дико возрошей популярности питона и жабоскрипта на них поползли говнокодеры, ранее сидевшие на всякой жабе. Да не, жаба тут не при чем. Это лезут бывшие формошлепы на дельфи/кюте/шинформс. Рынок десктопного софта схлопнулся, а этим инвалидам тоже хочется кушать. Вот для них сделали typescript и mypy (и go еще). И сделали не ради мифической безопасности, а исключительно для ассиста в IDE, без чего формошлепы беспомощны как малые дети. Т.е. это новая градация макак, против которой вебельщики смотрятся еще вполне себе. Так что в ближайшее время популярные языки будут курочить в угоду этой публике подгоняя под некое усредненное го.

anonymous
()
Ответ на: комментарий от grem

В смысле заменил SCons?

В своём посте. Пример древнего и редкого SCons’а, который сегодня редко где встретишь заменил на пример Meson’а и Ninja’и, шагающих на передовой.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Мне повезло и я встретил, так как опакечиваю в gentoo приложение, которое его использует как систему сборки. Применение его в рамках portage (т.е. внутри sandbox) имеет свои «прелести». Но переписывать скрипты сборки на что-то другое и пропихивают их в апстрим (с дальнейшей их поддержкой, иначе никто из не возмёт) нет никакого желания. Быстрее разобраться с тем, как передать нужные параметры внутрь.

И почему древнего? Вполне себе новые версии регулярно выходят и обновления существующих.

Ладно, meson ещё куда ни шло, но какая часть ninja написана на python не знаю.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

И почему древнего? Вполне себе новые версии регулярно выходят и обновления существующих.

Никогда просто не видел, чтобы его сейчас использовали. А раньше сталкивался с ним кажется в исходном коде Descent и Descent 2.

Ладно, meson ещё куда ни шло, но какая часть ninja написана на python не знаю.

Да, ты прав, я тоже всё перепутал. Думал ninja на Python, а оно на C++. А смутил меня видимо гугловский GYP на Python: https://github.com/chromium/gyp

EXL ★★★★★
()
Ответ на: комментарий от anonymous

Это Markdown. Теперь тебе нужно цитировать нормально. То есть вставлять пустую строку после цитаты.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Блджад! Я уже десяток раз обделался с этой новомодной гомосятиной. Работало же все хорошо, зачем было ломать?

anonymous
()
Ответ на: комментарий от EXL

Это Markdown. Теперь тебе нужно цитировать нормально. То есть вставлять пустую строку после цитаты.

В каком месте это нормально? Десятки лет не нужно было никаких лишних строк.

anonymous
()
Ответ на: комментарий от EXL

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

anonymous
()
Ответ на: комментарий от anonymous

Да ваще, сломали цитирование ради того, чтобы маркдаунам было уютней. Лоркод кстати более человечный как по мне. В маркдауне нужно запоминать всякие закорючки и порядок скобок. Как вот ссылку вставить? Я должен гуглить каждый раз штоле где там какие скобки?

anonymous
()
Ответ на: комментарий от WitcherGeralt

А вообще, есть же Cython и RPython. CPyhon можно слить с первым, либо вообще выбросить в пользу второго.

Охохо. Номинирую тебя в анонимные аналитики года.

t184256 ★★★★★
()
Ответ на: комментарий от WitcherGeralt

RPython хорош многим, но вовсе не тем, что на нем удобно писать людям. Он даже создавался для того, чтобы дать людям в итоге производительный интерпретатор Python.

А Cython и CPython слить вместе нельзя, они даже по размерности не сходятся: один - язык, а второй - реализация другого языка. Это как слить C++ и tcc.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

RPython хорош многим, но вовсе не тем, что на нем удобно писать людям

На сях или расте удобней писать, надо полагать?

А Cython и CPython слить вместе нельзя, они даже по размерности не сходятся: один - язык, а второй - реализация другого языка

Отсыпь мне немного.

Где ты проблему-то увидел? Весь слив должен заключаться в том, что cpython должен зауметь в pyx.

Выбрасываем аннотации курильщика и делаем синтаксис как в Cython (или что-то между), тут тебе и динамика, когда интерпретатор просто игнорирует типы, и статический анализ без фанатизма, и стрикт режим при необходимости, а ещё и возможность это компилять. Красота же ну.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Си и раст хотя бы на это рассчитаны.

А насчёт Cython так и не понятно, че ты хочешь. Проверку типов? Есть mypy. Компиляцию? Cython умеет компилировать и pyx, и очень многие py. Толку с этого на не-числодробительных задачах нутыпонялсколько.

t184256 ★★★★★
()
Ответ на: Наткнулся на несколько постов от KRex

Многие пишут что для гуя питон плох

Так у Python’а и НЕТ своего GUI! Python — это CLI, а не GUI.

  • Tkinter - Python-биндинг в Tk (дефолтный)
  • PyQt - Python-биндинг в Qt
  • PyGTK - Python-биндинг в GTK
  • и т.д.
atsym ★★★★★
()
Ответ на: комментарий от t184256

Есть mypy

Лучше бы не было.

Компиляцию?

Как бонус.

толку с этого на не-числодробительных задачах

Когда данных много, то предостаточно толку.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Ну скомпиль свои любимые приложения Cython’ом, тебя никто не держит.

t184256 ★★★★★
()
Ответ на: комментарий от anonymous

Лоркод кстати более человечный как по мне. В маркдауне нужно запоминать всякие закорючки и порядок скобок. Как вот ссылку вставить?

Это

[url=http://www.example.com/]Сюда![/url]

действительно было удобнее и человечнее (особенно на смартфонах), чем то, что сейчас?

[Сюда](http://www.example.com/)

Для тех, кому лень гуглить, внизу блока для набора текста и внизу страницы есть ссылка на https://www.linux.org.ru/help/markdown.md

grem ★★★★★
()

Частично обсуждалось здесь: Многопоточный питон, PEP 554

Есть Tcl, на котором написан тот же IDLE, который позволяет реализовывать истинную многопоточность, которая не будет завешивать намертво интерфейс при каждом длительном вычислении или сборке мусора. Ну, может и будет вешать, но не так люто, как это происходит в Python+C. У меня все вопросы по поводу того, почему на питоне не пишут GUI, снялись, когда я попользовался первой же тулзой, написанной на питоне. Даже жава на этом фоне смотрится вполне шустренько, а ведь жаву считали эталоном тормознутости.

Tcl мог бы взлететь, но взлетел Qt как кроссплатформа и GTK как nix-only решение. Сами-то вы можете писать на тикле приложухи, но приготовьтесь к тому, что старт у вас будет менее приятный, чем в интенсивно поддерживаемых фреймворках, и много чего придется делать почти с нуля.

byko3y ★★★★
()
Ответ на: комментарий от EXL

Не нужно на скриптовый язык навешивать то, для чего он не делался, иначе получится очередной электрон.

VSCode, Atom - неужели плохие?

С тормознутостью самого питона соглашусь, но «выглядит как говно» - оно же будет выглядеть ровно так, как его отобразят GUI-фреймворки.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от pekmop1024

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

Лет десять пользуюсь гаджимом, когда-то хотел участвовать в его разработке, но не сложилось. Я заставл зависающий намертво клиент из-за упавшего одного сервера, я застал падающий с сегфолтом клиент при открытии истории, я увидел gtk 3.0, у которого под оффтопом просто катастрофа по шрифтам. А довольно сложный функционал, который я хотел реализовать в гаджиме, стопудов создал бы большущие проблемы при поддержке.

byko3y ★★★★
()
Ответ на: комментарий от menangen

У фотошопа и лайтрума гуи на lua сделан. И вполне работает.

Только лайтрум:
https://ru.wikipedia.org/wiki/Adobe_Photoshop_Lightroom

У фотошопа есть скрипты на Lua. К слову, скрипты на Lua - это популярная тема, в том числе в игорях, потому что Lua намного быстрее питона.

byko3y ★★★★
()
Ответ на: комментарий от bread

Нигде не видел столько стектрейсов. Питон это же вернейший детектор ламера за рулем. Если перед вами скрипт на питоне и это не одноразовый расчет, сотрите это немедленно.

Жаваскрипт срет ошибками налево и направо - это норма для скриптовых языков. И игры на Lua тоже отличаются падучестью. По этой причине тот же близард сделал свой статически типизированный диалект Lua.

byko3y ★★★★
()
Ответ на: комментарий от pekmop1024

Красивее Pidgin'а, например, который С/Glib/GTK. И намного функциональнее в области XMPP.

Дело в том, что среднее приложение на C-GTK писать дольше, чем на Python-GTK или на Qt-C++. Я это в свое время очень хорошо прочувтвовал на своей шкуре. По этой причине создателям Pidgin не до интерфейса - лишь бы не падал. По этой причине придумали Vala, который должен был забирать часть сложности письма в С на себя.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

Правда, на С(++) пишут точно такое же жырное тормозное говно. Потому на деле этот аргумент, к сожалению, не очень работает.

Давай все-таки заметим, что на C++ таки пишут очень жирное говно, и это жирное говно довольно шустро бегает при этом. Вон, сколько IDE написано на крестах?

byko3y ★★★★
()
Ответ на: комментарий от EXL

Если макаки сидят на скриптах, и, как Вы изволили утверждать, люди, пишущие на ЯП со строгой типизацией, аккуратнее, тогда откуда в православном прототипном JS привезли классы, геттеры, сеттеры и функции-стрелочкой?

Просто так выходит, что макака – этот тот или та, кто, в том числе и, использует инвазивные приёмы в ЯП, вместо того, чтобы его выучить и понять. Т.е. персонажи, с напрочь заскорузлыми мозгами. Вот и всё. Это и есть основа говнокодерства. И вебмакаки тут не в первых рядах, а как раз-таки остальные все, со своим ЧСВ – проталкивают это дерьмо в ЯП, где они никому в член не тарахтело.

И это элементарная логика, братан. Элементарная логика, до которой ты допереть не смог. Так что поумерь своё ЧСВ, ибо, кто шарит, тот знает – настоящий мастер не знает гордыни (ты просто никто, имею ввиду).

Слава Императору, слава Северному Вьетнаму. Аллоха!

anonymous
()
Ответ на: комментарий от xaizek

Падает в рантайме из-за ошибок в именах переменных. Аналогичные случаи в скриптах в консоли менее неожиданны. А тут кнопку нажал и всё ушло.

Я смотрю, ты на питоне не писал. Падает обычно в совершенно другом месте, а ошибку выдает в другом месте. Как бы, всё это крутится вокруг скорости разработки и простоты поддержки, и хз, что лучше: получить segfault в сях, или стэктрэйс в питоне.

Работает медленно. Время запуска приложения и даже время открытия новых окон заметно

Предпомпиляция заметно сокращает это время.

Потребляет сравнительно много памяти даже для чего-то примитивного.

Да. Жаве привет.

Отлаживать неудобно, особенно в связке с нативными библиотеками.

?? Для GDB есть поддержка питона: можно выполнять питоновые команды, печатать стэки, значения питоновых переменных.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

после оглушительного провала третьего гнома/гтк на их мнение о гуйне лучше не ориентироваться

Я догадывался, но все же пропустил: в чем провал третьего гнома/гтк?

byko3y ★★★★
()
Ответ на: комментарий от fsb4000

QML
UWP
JavaFX
Electron
другие декларативные тулкиты

Что из этого живо на данный момент? QML - да, потому что Qt. UWP? На нем кто-то пишет? JavaFX дропнута ораклом. Electron дал нам адовых прожор, вроде Discord и Slack.

byko3y ★★★★
()
Ответ на: комментарий от WitcherGeralt

За полгода, которые я этим пользуюсь, я продолбал гораздо больше времени на борьбу с отвратительно ложащейся на динамический язык системой аннотаций и mypy, чем получил профита. Если бы я потратил это время на пристальное вычитывание кода (как всегда и делал ранее) в несколько проходов и рефакторинг, пользы вышло бы гораздо больше.

У меня сложилось двоякое впечатление от общения с тобой, но вот в этой цитате ты звучишь как трезвомыслящий человек, которому не нужно десять лет биться об стенку, чтобы понять, что это есть стена.

По крайней мере те аннотации, которые существовали до 3.7, были ни к селу, ни к городу, потому что несли чуждые языку системы типизации. Например, можно взять тот же JS для сравнения - там у каждого объекта есть скрытый класс. Вот этот скрытый класс и является настоящим типом, по нему можно ставить ограничения типов, по ним делается оптимизация кода.

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

И плюс к этому всему я бы добавил принципиальную невозможность аннотации стандартной библиотеки по PEP 3107/484, что лишает всю задумку солидной доли смысла.

byko3y ★★★★
()
Ответ на: комментарий от gedisdone

Много каких языков не подходят для настольных приложений. Поэтому настольные приложения писать перестали, остались браузеры с веб-приложениями в обёртке десктопных приложений.

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

byko3y ★★★★
()
Ответ на: комментарий от WitcherGeralt

Про TypeScript не забывай. Это сейчас в сущности те же аннотации для питона, только иначе реализованные

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

Я сейчас посмотрел в проекте статистику по использованию JS/TS в либах: 12 Мб исходников тайпскрипта, 100 Мб исходников жавоскрипта. Даже несмотря на то, что языку уже 7 лет и многие либы писались уже при нем - все равно не рвутся разрабы переходить на тайпскрипт. А всё потому, что привязанность к жавоскрипту не даст вам толком никуда уйти, а уходить нужно, потому что жавоскрипт - ужасный инструмент для больших приложений.

А вообще, есть же Cython и RPython. CPyhon можно слить с первым, либо вообще выбросить в пользу второго.

Мне вспомнилось, как где-то так полгода назад я втирал одному челу о том, как перспективен Cython, а он смотрел на меня и пальцем у виска крутил. Сейчас я понял, почему он это делал. А дело в том, что простая компиляция кода Cython-ом обычно не дает практически никакого прироста производительности. Прирост получается, когда вводится истинная статическая типизация с низкоуровневыми типами через cdef. Но тогда это уже получается не питон, а просто расширение на Си (которое и получится на выходе), в которое можно просто встроить код на питоне.

Вот на RPython возлагают надежды, да, но где результат? Да, какие-то отдельные приложение RPython выполняет быстрее. А какие-то - медленнее. В сухом остатке имеем усложненный CPython с непонятным смыслом существования. Причем, проект начинался еще очень давно и назывался по другому, но обрести смысл бытия так и не смог.

byko3y ★★★★
()
25 августа 2021 г.
Ответ на: комментарий от EXL

Deluge на python написан, годнота... но все таки я привык к ktorrent

XoFfiCEr ★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.