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 ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.