LINUX.ORG.RU

Нужен Python с многопоточностью, гуем и графиками

 


2

3

Собираюсь писать на питоне проект с использованием matplotlib, gtk (или любого другого мощного гуи где можно рисовать свой элементы) и портов. + все для вывода текста, это pango, freetype, cairo.

Немного напрягает отсутствие человеческой многопоточности. Не уверен пока насколько критично, но напрягает. Альтернатива - PyPy, но он вроде gtk не поддерживает, ска.

Кто нить не подскажет нормальную альтернативу питону с многопоточностью, гуем и либой для графиков?

Deleted

Ответ на: комментарий от Deleted

нужна динамика, в каком веке живем то

/0

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

С каких пор динамика == прогресс?

с 2001-го, я думал очевидно выразился: «в каком веке живем то!»

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

А вот за это спасибо, выглядит многообещающе.

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

пятизвездочные не читают треды, это понятно, но три с половиной поста в начале то можно было бы

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

пятизвездочные не читают треды, это понятно, но три с половиной поста в начале то можно было бы

почитал

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

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

ЗЫ Закоренелый C++ кодер, сижу прямо сейчас и хреначу на php и js проект. Терпеть не могу php и не очень люблю js, но видел я свои же вкусовые предпочтения в гробу да в белых тапочках. Я профессионал и мне надо решить возникшую задачу и для эффективности я использую тот инструмент, который лучше всего на эту задачу заточен.

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

ах, ну да, я ж забыл, weeks of programming can save you hours of planning.

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

Не знаю когда переведутся.

выбирающие инструментарий по цвету, запаху, моде, глупости и еще чему угодно,

«нужен REPL» к какому пункту относится?

И ты так говоришь как-будто динамика это что-то плохое.

Deleted ()

C++, Qt. И нет - динамика это регресс, а REPL - не более чем игрушка для освоения языка.

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

нужна динамика, в каком веке живем то!

лол, неплохо, у трех уже бомбануло, вот четвертый подъехал

Deleted ()

Что не так с потоками в питоне??!!
Возьми wxpython, там и гуй с cairo и очередь ненапряжная потоков.

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

К моде, лени, инертности мышления и глупости. Обычно в разных пропорциях сочетание этих параметров. К задачам прикладного программирования REPL имеет такое же отношение как октановое число топлива заправленного в ТС перевозящее мебель. И правда какая разница какая там грузоподъемность, вместительность и сумма амортизационных расходов, главное как соотносится с модой марка топлива.

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

Ну давай с аргументами мне что лучше пыха для ваяния сильно кастомного веб приложения. Нужно обязательно БД, Ajax с JSON'ом и один фиг прикручивать html страницы (т.е. все равно использование какого-то cms, даже если в приложении его не использовать). Мой выбор пал на modx, php (с mysqli и prepared queryes), js, qooxdoo. Все не плохо интегрировалось. Если подскажешь что-то реально лучше в следующий раз (очень скоро) пущу в ход.

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

С тем что Global Interpreter Lock, все треды работают по-очереди, классно а?

multiprocessing не предлагать, процессы не шарят память

у wxpython тоже вроде есть GIL

Нету GIL у ironpython и Jpython но они для дотнета и питона, ненужно

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

Я в принципе представляю как ты пришел к выводу что репл не нужен в прикладухе, но покажи мне где я писал про прикладуху

Deleted ()

matplotlib

Тебе графики надо рисовать? Ты точно уверен что надо серьезную программу писать? Может прототипа в GNU Octave/Matlab хватит, вроде к Octave при желании можно внешнюю числодробилку присобачить, которая хоть на C и Cuda будет написана? Или у тебя программа, в которую входит дикая числодробилка, что тебе многопоточность потребовалась? Опиши задачу посерьезнее, иначе тебе бреда насоветуют.

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

А ты ща про питон и свой любимый «REPL» в контексте системного программирования имел ввиду?! К чему ща этот пустой понт?

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

python, ruby с одним из многочисленных фреймовков. java/c#, всякие языки на базе jvm тоже, там есть годные решения. даже javascript лучше.

я бы взял какую-нить django если тебе что-то вроде cms надо.

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

треды

Ты собрался многопоточные числодробилки писать на «динамическом языке с repl»?

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

Я писал

давай с аргументами

А ты мне паришь какую-то вкусовщину, как и ожидалось... печаль
Мне и правда было бы интересно иметь предметный разговор и возможно сделать из него выводы.

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

Вот классическая статья на тему. https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

Это всё обсуждалось миллиард раз.

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

Качество(и количество - для того же питона есть биндинги к чему угодно вообще, куча решений для ml и прочего) библиотек хромает. Чего-нить уровня sqlalchemy там просто нет и не может быть из-за ограничений выразительности языка. Просто сравни sqlalchemy и какой-нить doctrine.

Убогая модель умирания после каждого запроса. Асинхронщины и нормальной поддержки вебсокетов тоже нет соответственно.

pawnhearts ★★★★★ ()

К сожалению, у тебя вопрос по типу: Я слышал, что в резиновых сапогах ногам жарко. В какой обуви не жарко?

Поясню:

matplotlib, gtk (или любого другого мощного гуи где можно рисовать свой элементы) и портов. + все для вывода текста, это pango, freetype, cairo.

Тебе надо рисовать графики или инфографику, окей. С этим, в большинстве языков, проблем нет. Поэтому это требование фигня.

Ты говоришь, что не знаешь нужна ли тебе многопоточность или нет. Ты определись, а что тебе вообще надо?

Например, если тебе не нужно рисовать графику в реальном времени, то тебе вообще пофиг на чем писать свои рассчеты - сложил данные в базу/файлики и потом забацал визуализацию.

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

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

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

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

REPL это очень удобно. Можно попробовать какой-то код и сразу увидень результат. Писать на ходу, с автодополнением, подсказками. Благодаря docstring`ам язык сам себя документирует и ты можешь его изучать прямо из repl

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

сишным библиотеки вообще пофигу на gil, если пока они не работают с питон объектами.

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

Ну... У тебя все равно физически обычно не более 4-х потоков будет обрабатываться. Ты вообще тормоза в GUI от GIL видел?! Тормозит поток, когда ждет. Если поток не ждет, он и не тормозит. Если ждет один поток, другие не тормозят.

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

REPL это очень удобно. Можно попробовать какой-то код и сразу увидень результат. Писать на ходу, с автодополнением, подсказками. Благодаря docstring`ам язык сам себя документирует и ты можешь его изучать прямо из repl

У вас, батенька, серьезная проблема с логикой! Я не говорил что это не удобно. Я говорил что для перевозки мебели покупают дешевую, грузоподъёмную и вместительную газель, а не удобную бентли.

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

статья на тему

Бегло окинул взглядом статью. Я так понял там про то что пых уг... Я знаю что он уг и без маляв на буржуйском от капитанов очевидность и генералов ясенхрен. И даже без ссылок на это уныние от товарищей не владеющих банальной логикой.

Люди пишут на php - потому что этого хотят заказчики уровня сделай мне интернет магазин арбузов
потому что ничего другого не знают сами

Разрабы того же modx да, они такие! Кому как не тебе, высказывать подобное авторитетное мнение, о каких-то там быдлокодерах. Они же, чудики, не споры с дилетанской позицией и нарушенной логикой разводят на ЛОРе, а качественный продукт пилят, ясен перец арбузо-магазино ваятели и ничего не знают кроме пыха и тот плохо.

Качество ... библиотек хромает.

Да ты только что Америку открыл!

Чего-нить уровня sqlalchemy там просто нет...

На фейхоя мне оно? Prepared queryes решает мои задачи с головой.

...и не может быть из-за ограничений выразительности языка.

Спасибо, от души поржал.

Убогая модель умирания после каждого запроса.

Что ты имеешь ввиду? CGI?

Асинхронщины и нормальной поддержки вебсокетов тоже нет соответственно.

Мне это зачем?
Как я и говорил: я тебе про Фому, ты мне про Ерему. Где аргументы чем лучше твои варианты для решения стоящей передо мной задачи?!
Для одаренных парочка моих:
Используемая мной CMS написана на пыхе и код для нее я вынужден писать на том же пыхе. При том она шикарно, продуманно и лаконично спроектирована и (не лазил в код, но видимо) хорошо написана.
У mysqli (не безгрешного, но все же) есть годнота в виде prepared queryes.

Вот это (что чуть повыше) аргументы, а ты мне срешь потоком говна: «все говно, оно плохое, есть лучше». И навязываешь какие-то не нужные монструозные надстройки для работы с БД. Закидываешь ссылками на унылые статьи, набитые банальными очевидностями, да еще и не все из которых имеют место оставаться актуальными. Аргументов 0, только мнения, мне не интересные.

В общем пока школота спорит на форумах о том в чем не понимает и агитирует за своё модное болото, быдлокодеры поносят говнокодом на тех ЯП которые они даже в количестве 1 штука на лицо не могут освоить, профессионалы пишут годный код на любом ЯП (ибо качество ПО зависит прежде всего от того кто и как спроектировал и как это реализовал, а не какой ЯП плохой или хороший) и подбирают инструментарий под задачи (а не наоборот) и по критериям важным для реализации (а не по принципу модности и мнимой крутости). Собаки заливаются лаем, караван идёт.

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

ЗЫ твой любимый питон я использовал там где он был реально хорош для решения поставленных задач. Особенно он хорош в связке с BeautifulSoup там где нужно было парсить html, это сказка какая-то! Но мне совсем никаких весомых преимуществ не дает он в моем текущем проекте. А на каком ЯП писать мне как профессионалу в общем то пофигу, пофигу даже если он мне сильно не нравится. И уж тем более мне плевать насколько он крут в глазах школоты и моден. Будь я таким упоротым хипстером, ваял бы сейчас веб приложение на Qt: и модно и реально хороший, качественный продукт и владею я им очень не плохо и люблю сильно. Но пилить дерево вместо бензопилы болгаркой как-то не позволяет образование отличное от богатых знаний кроманьонца о современном инструменте и его навыков эксплуатации.

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

Не знаю про modx и какие перед вами задачи, но личн я для себя решил для веба использовать django, это мое личное предпочтение, из всех CMS и фреймворков с которыми я работал до этого нельзя было так удобно и просто работать с админкой, расширять ее как тебе вздумается итд, удобная система работы с формами, ajax (я обычно использую DRF), делать какие-то простые запросы к бд через ОРМ, шаблоны итд. А когда надо просто какой-то сайтек склепать или простой интернет магазин, обычно беру wordpress.

Int64 ★★★ ()
Последнее исправление: Int64 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.