Если я использую Perl/Tk, Tcl:: Tk или Tkx для Perl GUI?

Я думаю, что фраза "преждевременная оптимизация является корнем всего зла", путь, путь по используемому. Для многих проектов это стало оправданием не принять производительность во внимание до поздно в проекте.

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

я видел намного более "смешные" примеры немых проблем производительности, чем примеры проблем, представленных из-за "pessimization"

  • , Читая тот же ключ реестра тысячи (или 10-е тысяч) времен во время запуска программы.
  • Загрузка того же DLL сотни или тысячи времен
  • Пропадающие впустую мега байты памяти путем хранения полных путей в файлы напрасно
  • Не структуры данных организации, таким образом, они поднимают путь больше памяти, чем, им нужно
  • Калибровка всех строк, которые хранят имена файлов или пути к MAX_PATH
  • Бесплатный опрос для вещи, которые имеют события, обратные вызовы или другие механизмы уведомления

, Что я думаю, лучший оператор, это: "оптимизация, не имея размеры и понимая не является оптимизацией вообще - ее справедливое случайное изменение".

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

16
задан serenesat 17 April 2015 в 13:52
поделиться

2 ответа

Под капотом оба Tcl :: Tk и Tkx используют модуль Tcl в качестве моста к Tcl / Tk. Разница в API, который они представляют для Perl.

Tkx был разработан ActiveState, который использует его в графическом интерфейсе для своих инструментов. (например, PPM) Он активно используется, хотя трудно сказать, насколько широко. Он также поддерживается, но, поскольку это такой тонкий слой над Tcl, поддерживать нечего. В каком-то смысле это хорошо - мало что можно изменить или сломать, но это действительно производит впечатление брошенного программного обеспечения.

Tcl :: Tk начинался как побочный проект, чтобы продемонстрировать, что совместимость API с Perl / Tk возможна. Мне нравится эта идея - было бы замечательно, если бы нужно было только изменить использовать Tk на использовать Tcl :: Tk и пользуйтесь преимуществами новых версий Tcl / Tk, таких как поддержка плитки (темы). К сожалению, этого еще нет. Похоже, что кое-что делается, но не очень. Это действительно могло бы использовать больше разработчиков.

Лично я использую Tkx. Если у вас есть опыт разработки на Perl / Tk, переход не будет слишком болезненным, но я думаю, что начать с него будет сложно. Хуже всего то, что вам нужно обратиться к документации Tcl / Tk , чтобы использовать его. Замечательно, если вы знаете Tcl, поскольку мост к Perl привносит очень мало сюрпризов, но если вы не знаете, переводить с незнакомого языка неудобно.

Это действительно могло бы использовать больше разработчиков.

Лично я использую Tkx. Если у вас есть опыт разработки на Perl / Tk, переход не будет слишком болезненным, но я думаю, что начать с него будет сложно. Хуже всего то, что вам нужно обратиться к документации Tcl / Tk , чтобы использовать его. Замечательно, если вы знаете Tcl, поскольку мост к Perl привносит очень мало сюрпризов, но если вы не знаете, переводить с незнакомого языка неудобно.

Это действительно могло бы использовать больше разработчиков.

Лично я использую Tkx. Если у вас есть опыт разработки на Perl / Tk, переход не будет слишком болезненным, но я думаю, что начать с него будет сложно. Хуже всего то, что вам нужно обратиться к документации Tcl / Tk , чтобы использовать его. Это здорово, если вы знаете Tcl, поскольку мост к Perl привносит очень мало сюрпризов, но если вы не знаете, переводить с незнакомого языка неудобно.

16
ответ дан 30 November 2019 в 21:29
поделиться

У меня был хороший результат с wxPerl , вот короткая статья об O'Reilly

Примечание: Я нацелился на win32, а это было около 5 лет назад.

8
ответ дан 30 November 2019 в 21:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: