LINUX.ORG.RU

Как вы относитесь к GUI-программам, разработанным на Python + GUIToolkit


0

1

Слышал много разного. У меня на работе просят сделать простую графическую программу, которая должна работать на платёжных терминалах. С учётом того, что некоторые терминалы работают на базе arm(нвидиа тигра) по убунтой.
Возник вопрос как писать. Коллеги настаивают на использовании привычного многим питона с графическим тулкитом.
Но меня смущает то, что многие люди в интернете негативно отзываются о ГУИ-программах, написаных на питоне.

А в чём проблема-то? Берешь самую слабую конфигурацию терминала (если их несколько), пишешь прототип гуя, тестируешь производительность. Если тормозит, выкидываешь питон.

Но скорее всего ничего тормозить не будет.

geekless ★★
()

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

marvin_yorke ★★★
()

быстродействие и производительность явно не самые сильные стороны питона.

Deleted
()

негативно отзываются о ГУИ-программах, написаных на питоне.

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

lazyklimm ★★★★★
()

Сразу вспоминается Deluge, когда был молодой и маленький все было Ок, но как только перевалили через 1.0 все стало ехать, тормозить и глючить. Может сейчас и поправили, но уже ушелна qbittorrent.

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

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

actics
()

Отношусь с омерзением.

thesis ★★★★★
()

Если тебя устраивает что твой гуй будет валиться пожеланию левой пятки разработчика питона-то да так и делай.

Обширно имел дело с питоном,как гуями,так и серверными приложениями и безинтерфейсными службами/модулями.Коротко:

1.Тормоза не будут заметны,но простое окошко с парой сотен элементов и событий к ним-пол гигабайта оперативки(нативное жралоб 5-10мб)
2.События таймеров/обработка событий элементов-происходит со случайной задержкой,от 0 секунд до 5 секунд(лично тестил),задержка явно не зависит ни от чего-это следствие трансляции,во время выполнения,пиона-как скриптового языка.(т.е. если юзер привыкший к вебтехнологиям,и считающий номальным загрузки интерфейса(веб страниц) по минуте и тормоза на всех действиях-вот питон такойже)
3.Костыли/костыли*костыли...т.е. переносимость приложений(гуя) на питоне равна нулю,гдето иконки не будут работать,гдето текст иероглифами,гдето питон сегфолтится...
4.Однопоточный Гуй-какуюб магию ты не применял-многопоточный интерфейс(с потоками на уровне элементов интерфейса,т.е. по потоку на обработчик каждого элемента интерфейса) будет ацки тормозить по сравнению с однопоточным+потоки на уровне модулей.
5.Течет-все течет.За сутки +100мб просто от простоя приложения,при активном пользовании-за час гигабайт.

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

anonymous
()

Как вы относитесь к GUI-программам, разработанным на Python + GUIToolkit

Индифферентно. Если, конечно, работает и не тормозит.

многие люди в интернете негативно отзываются о ГУИ-программах, написаных на питоне.

Многие люди в Интернете негативно отзываются обо всём. Особенно на ЛОРе

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

А что что это - гуй на питоне? pyqt? pygtk? где питон только клей и бизнес логика.
Так что почти все мимо мисы.

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

pyqt? pygtk?

И то и то,и куча поделок с сурсфоржа,даже сам делал вин32/xorg вызовы из питона,так и бинарными либами-одинаково несравнимо с нативными версиями.Не говоря уже о мороке для этих костылей.(pygtk еще ладно-там ГТК можно в 2МБ запихнуть,а вот QT...это 150 мб мусора сверху к питону)

anonymous
()

Пиши на питоне только GUI — авось будет работать.

Eddy_Em ☆☆☆☆☆
()

Имхо, платёжная система на пистоне - то же самое что и паралоновый железнодорожный мост например. Хотя бы на йаве сделай что-ли.

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

Нет, не лучше. На C нужно будет написать 20% кода занимающего 80% времени, писать на нём остальные 80% - мастурбация.

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

Как интересно ~ 30 мб становятся 150. :)
Ладно, у меня опыт сугубо положительный... терминалы и кассы работают уже достаточно давно и в общем-то не плохо. С учетом времени написания и быстроты развертывания - профит очевидный.

zJes ★★
()

Но меня смущает то, что многие люди в интернете негативно отзываются о ГУИ-программах, написаных на питоне.

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

border-radius
()
Ответ на: комментарий от border-radius

GUI-программы на питоне - вполне нормальная практика

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

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Trieforce

Если не парить себе мозг, а сделать веб-морду, то усилий на интерфейс будет потрачено еще меньше.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous
$ du -h /usr/lib/libQt{Core,Gui}.so.4.8.4 
2,9M    /usr/lib/libQtCore.so.4.8.4
11M     /usr/lib/libQtGui.so.4.8.4
Kosyak ★★★★
()

Если честно, не могу вспомнить ни одну из них. Перечисли самые распространённые.

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

Вот этот матюк - и есть истинный недоязык. А питон - вполне эффективный инструмент. Или предлагаешь security-oriented браузер на сях писать? :D

border-radius
()
Ответ на: комментарий от border-radius

питон - вполне эффективный инструмент

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

Или предлагаешь security-oriented браузер на сях писать?

Зачем браузер? Браузер уже написан — ты только CGI пиши себе.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от border-radius

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

actics
()

GUIToolkit

Имелся в виду GTK? Эта аббревиатура расшифровывается как GIMP Toolkit

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

Ты не распарсил мой пассаж. Они оба форсят стиль. В случае с жабой необходимо писать в ООП-стиле, в случае с лиспом - в ФП-стиле. Иначе получится нечитаемая каша. Вменяемые ЯП (C, Python, JS) не создают неудобств в использовании любого стиля написания кода без потери читабельности (за исключением Си, наверное, но там своя специфика).

border-radius
()
Ответ на: комментарий от Eddy_Em

у которого синтаксис завязан на отступах

На питоне тоже можно писать однострочники, но зачем?

у которого нет нормальных типов данных

Каких типов данных тебе не хватает?

у которого вообще все через жопу делается!

Пример в студию.

Зачем браузер?

Чтоб точно быть уверенным в отсутствии зондов.

Браузер уже написан

4.2, он в альфа-стадии.

ты только CGI пиши себе.

CGI - устаревшее Г мамонта. Разве что FastCGI, но и это костыль.

border-radius
()
Ответ на: комментарий от border-radius

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

actics
()
Ответ на: комментарий от border-radius

в случае с лиспом - в ФП-стиле.

В каком месте?

olibjerd ★★★★★
()
Ответ на: комментарий от border-radius

Каких типов данных тебе не хватает?

Указателей, разных типов int и т.п. Чтобы я точно знал, какой тип возвращает функция. И точно знал, что объект передается ссылкой, а не копией (или наоборот).

Пример в студию.

Да любые питоноскрипты посмотри. Их же читать невозможно!

4.2, он в альфа-стадии.

Я про firefox какой-нибудь.

CGI - устаревшее Г мамонта

Работает зато. Не нравится — websockets пользуй.

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