URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 119074
[ Назад ]

Исходное сообщение
"Выпуск Tcl/Tk 8.6.10"

Отправлено opennews , 22-Ноя-19 16:00 
Представлен релиз Tcl/Tk 8.6.10, динамического языка программирования, распространяемого совместно с кроссплатформенной библиотекой базовых элементов графического интерфейса. Несмотря на то, что основное распространение Tcl получил для создания интерфейсов пользователя и как встраиваемый язык, Tcl также подходит для других задач, таких как web-разработка, создание сетевых приложений, администрирование систем и тестирование...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=51916


Содержание

Сообщения в этом обсуждении
"Выпуск Tcl/Tk 8.6.10"
Отправлено Albertio , 22-Ноя-19 16:07 
А новой версии Tkabber'a уж не предвещается?

"Выпуск Tcl/Tk 8.6.10"
Отправлено анан , 22-Ноя-19 17:07 
нет
https://chiselapp.com/user/sgolovan/repository/tkabber/timeline

"Выпуск Tcl/Tk 8.6.10"
Отправлено Albertio , 22-Ноя-19 18:30 
> нет
> https://chiselapp.com/user/sgolovan/repository/tkabber/timeline

Ух. Может стоит собрать ребят да подтянуть до, хотя бы, нового релиза


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 16:36 
Любимая библиотека построения гуя, хоть и малофункциональная. Главный плюс — гуевое приложение не требует кучи отдельных файлов и компиляции, как в случае с Qt, а может быть хоть однострочной частью шелл-скрипта:
wish <(echo 'button .b -text "Hello world!" -command exit; pack .b')

"Выпуск Tcl/Tk 8.6.10"
Отправлено фывфывфыв , 22-Ноя-19 16:53 
> гуевое приложение не требует кучи отдельных файлов

Соберите Qt / GTK (любой другой тулкит) в static.
И да, интересно как TkTcl не требует кучи других либ? Через что он по вашему это все отрисовывает?


"Выпуск Tcl/Tk 8.6.10"
Отправлено Онаним , 22-Ноя-19 17:02 
Я бы посмотрел на тебя как ты в статик пакуешь GTK для винды. Там как минимум 500 файлов значков Adwaita. Хуже наверное только приложения на PyGTK, к файлам значкам добавляется пару тысяч файлов дистрибутива пистон.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 17:44 
>Я бы посмотрел на тебя как ты в статик пакуешь GTK для винды. Там как минимум 500 файлов значков Adwaita. Хуже наверное только приложения на PyGTK, к файлам значкам добавляется пару тысяч файлов дистрибутива пистон.

Куда уж другим фреймворкам до Electron с его ~1Gb барахла.


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 19:45 
>Electron с его ~1Gb барахла.

Брехня


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 07:13 
70-150МБ. А ещё учти лёгкость переноса и упаковки приложений на электроне.

"Выпуск Tcl/Tk 8.6.10"
Отправлено SOska , 23-Ноя-19 19:39 
И пожирание памяти под 2 4 6 гб

"Выпуск Tcl/Tk 8.6.10"
Отправлено SOska , 23-Ноя-19 19:40 
А также пожирание процесора даже при простом клике мыши внутри окна

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 17:04 
> Соберите Qt / GTK (любой другой тулкит) в static.

Тогда получится огромный бинарный блоб, который невозможно ни посмотреть, ни отредактировать, и на котором придётся писать всё. Фу.

> И да, интересно как TkTcl не требует кучи других либ?

Они все ставятся из репозитория одной командой вроде
apt install tk


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 17:19 
И да, прошу предъявить пример подобного однострочника на шелле с хелловорлдом средствами Qt / GTK.

К выбору Tk на эту роль я не сразу пришёл, а сначала исследовал Qt с его новомодным QtQuick. Целью было найти средство построения гуя, которое позволяет запихнуть программу полностью в короткий человекочитаемый скрипт, для чего Qt не подошёл совсем, а Tk оказался практически идеален.

Вдобавок, написанное на Qt / GTK приложение придётся через 10 лет либо выкидывать, либо переписывать на новой версии фреймворка, в то время как Tk чуть ли не с 80-х совместимость не дропает.


"Выпуск Tcl/Tk 8.6.10"
Отправлено pin , 22-Ноя-19 17:41 
>  в то время как Tk чуть ли не с 80-х совместимость не дропает.

За что и респект.


"Выпуск Tcl/Tk 8.6.10"
Отправлено Попугай Кеша , 25-Ноя-19 10:33 
Мне Clojure поэтому зашел. 12 лет языку, а совместимость не сломали.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 17:27 
> огромный бинарный блоб

Ещё и для каждой платформы на каждой архитектуре свой, в то время как скрипт на Tcl/Tk кроссплатформен (в т.ч. на windows можно поставить интерпретатор, к нему привяжется расширение .wish и программы на нём станут исполнимы даблкликом).


"Выпуск Tcl/Tk 8.6.10"
Отправлено имя_ , 22-Ноя-19 18:44 
>на windows можно поставить интерпретатор

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 21:54 
DirectX ставили, Visual C++ Redistributable ставили, дотнет ставили, так же и Tk ставят. В этом куда меньше телодвижений, чем для огранизации кросс-компиляции под их платформу мне, да и поддерживать этот огромный статический бинарь с периодически вылезающими уязвимостями не надо — пользователь сам может обновить библиотеку.

"Выпуск Tcl/Tk 8.6.10"
Отправлено svk28 , 23-Ноя-19 10:35 
На tcl/tk вполне себе можно сделать тот самый "бинарный блоб" со всем чем надо внутре, включая библиотеки и интерпретатор.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Unnamme , 23-Ноя-19 18:49 
Наверное, просто достаточно запаковать прогамму в архив вместе с wish.exe (или что там у него) и маленьким эксешником (runme.exe). Всё кроме экзешника, и чего ещё там надо - спрятать по подподпапкам, чтобы не запускали wish и т.п.
Ну и runme.exe будет запускать .\runtime\tcl\wish.exe (или не wish) с параметром .\coll_program\runme.tcl

"Выпуск Tcl/Tk 8.6.10"
Отправлено svk28 , 23-Ноя-19 20:08 
> Наверное, просто достаточно запаковать прогамму в архив вместе с wish.exe (или что
> там у него) и маленьким эксешником (runme.exe). Всё кроме экзешника, и
> чего ещё там надо - спрятать по подподпапкам, чтобы не запускали
> wish и т.п.
> Ну и runme.exe будет запускать .\runtime\tcl\wish.exe (или не wish) с параметром .\coll_program\runme.tcl

https://wiki.tcl-lang.org/page/How+to+compile+a+TCL+script+i...


"Выпуск Tcl/Tk 8.6.10"
Отправлено asdasdas , 22-Ноя-19 17:46 
> Они все ставятся из репозитория одной командой вроде

А когда это Gtk / Qt начали ставится не одной командой? У Tk (FreeType, пачка X'овых либ, zlib и т.д.) тоже зависимости есть и у зависимостей есть зависимости.


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 17:56 
А толку от установленных GTK/Qt? Устанавливай — не устанавливай, а возможности писать однострочники всё равно не будет.

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено foo , 22-Ноя-19 18:38 
>но накидать в окно произвольных виджетов с их помощью не получится

Да легко: https://sanana.kiev.ua/index.php/yad


"Выпуск Tcl/Tk 8.6.10"
Отправлено pin , 22-Ноя-19 21:17 
Это как надо упороться, что бы на баше писать такое. Нечитабельно от слова сосвем.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 21:45 
> yad

Спасибо, эти ущербные zenity и kdialog теперь даже не вспомню. Но Tk оно не заменит, т.к. не позволяет программировать интерактив.


"Выпуск Tcl/Tk 8.6.10"
Отправлено foo , 22-Ноя-19 23:46 
У вас требования растут по часам :)

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 01:51 
Ну так я ищу инструменты для широкого круга задач, а не для рисования хелловордов из разных виджетов. Yad — штука полезная, но область её применения ограничена созданием отдельных диалоговых окон, действия с содержимым которых программа может произвести только по факту их закрытия, что несколько не дотягивает до указанного в первом посте ветки понятия «гуевое приложение».

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 04:11 
> Да легко: https://sanana.kiev.ua/index.php/yad

YAD, потому что слово AD было уже занято.


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 02:30 
Как правило, гуевые приложения ставят между пользователем и программистом огромную стену, чаще всего непреодолимую: чтобы пользователь смог что-то изменить в гуевом приложении на распространённых фреймворках (будь то хоть GTK+, хоть Qt, хоть win32 api, хоть Electron), ему нужно где-то взять исходники, установить и настроить среду для сборки и зависимости и научиться всё это компилировать. Причём некоторые из этих шагов могут быть как неочевидны, так и вообще невозможны (закрытые исходники).

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено пох. , 23-Ноя-19 13:28 
жаль что он не знает tcl, поэтому на самом деле - из вашего списка может только первое - открыть.

На то он и "пользователь".

А разработчики или админы, умеющие tcl, давно вымерли как мамонты.


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 14:36 
Когда я был молодым и зелёным, то тоже не знал Tcl, но это не мешало мне править существующие и писать по аналогии новые скрипты на irc-бота eggdrop. Главное чтобы возможность была на поверхности, а пытливый ум, который её обнаружит и реализует, найдётся.

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено Михрютка , 23-Ноя-19 18:40 
Да ладно? Самое странное место, где я встретил TCL, было редактор сейвов для котора. Вполне себе редактировался пользователем, то есть мной.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 20:34 
>Фреймворк Tk позволяет обойтись без этой стены. Программы на нём в готовом виде представляют из себя исходный код

QML


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 26-Ноя-19 08:43 
Спасибо, это именно то, что я тогда искал. Но теперь мне кажется, что это даже к лучшему, что тогда я его не нашёл и приспособил сабж.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 16:40 
У Столлмана, говорят, жутко бомбило с Tcl вообще и с господина Остераута в частности

"Выпуск Tcl/Tk 8.6.10"
Отправлено xm , 22-Ноя-19 16:44 
"Значит хорошие сапоги. Надо брать".

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 16:49 
Это когда Столлман топил за консольку? Столлман известный флюгер, только вращается в след за своими сектантами, а не общественным мнением.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 18:12 
Путь пользователей усеян злодеяниями проприетарщиков. Блажен тот, кто именем доброй воли показывает, как пастырь, несчастным и слабым путь к свободному ПО, ибо он и есть истинный пастырь.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 14:20 
Столлману не нравилось, что Tcl продвигали в качестве стандартного языка расширений, потому что расширения сами могут быть большими и сложными программами, и для их разработки нужен полноценный язык программирования (Столлман предложил Лисп), а не ограниченный скриптовый язык (Столлман указал на конкретные ограничения Tcl): https://groups.google.com/forum/#!msg/comp.lang.tcl/7JXGt-Ux...

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено Михрютка , 23-Ноя-19 18:44 
Вы этот срач читали? Там ОП наклали полную панамку уже в первом десятке ответов. Обоснованно.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 24-Ноя-19 18:32 
Читал, и вы дальше этого десятка прочитайте.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Michael Shigorin , 23-Ноя-19 20:48 
Ричарду бы понять, что лисп -- это не всегда гвоздь от _этой_ стены...

// если что, начинал с того финского двухтомника;
// Остерхута себе тоже на матричнике ещё распечатывал


"Выпуск Tcl/Tk 8.6.10"
Отправлено user90 , 22-Ноя-19 18:13 
У меня всегда лицо дергается, когда я вижу что-то на Tk.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 22-Ноя-19 18:29 
Из-за отсутствия градиентов на кнопках?

"Выпуск Tcl/Tk 8.6.10"
Отправлено user90 , 22-Ноя-19 19:04 
Гуй изначально имитирует физические объекты (кнопки, вкладки), Tk тут не особо старается. Про градиенты - к кдешникам))

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 23-Ноя-19 01:41 
> Гуй изначально имитирует физические объекты

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

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

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено ayu3Yah0 , 23-Ноя-19 12:44 
Смежный проект Androwish (http://www.androwish.org/) ставит целью запуск скриптов без изменений, либо с минимальными изменениями на android. Вполне рабочий вариант, если нет желания или возможности устанавливать интерпретатор с библиотеками, т.к. уже включает батарейки.
Помимо того, что tcl сам по себе весьма портабельный, так теперь сделать еще проще в том числе и для погремушек. Как для приложений может и под вопросом, а в качестве изоленты -- вполне себе.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Мдфвшьшк , 20-Мрт-20 18:45 
Да, я прошерстил AndroWish. Замечательная штука. Даже бинарники позволяет запускать. Мой проект на Android с Androwish можно посмотреть здесь https://habr.com/ru/post/492110/

"Выпуск Tcl/Tk 8.6.10"
Отправлено Stax , 24-Ноя-19 12:15 
Как там с полноценной поддержкой hidpi, пилят аль нет?

В 8.6.8 приложения в hidpi окружении выглядят так, что просто туши свет.

Замечу, даже gimp на древнем gtk2 (пусть и с пачкой хаков) абсолютно юзабелен в hidpi .

Я понимаю, что поддержка emoji, улучшать отрисовку на macOS и добавлять нескучные обои это весело, модно и молодежно, а hidpi это скучно и никто над этим работать не хочет (тем более что судя по https://wiki.tcl-lang.org/page/High+Resolution+Displays и предложениям добавлять хаки типа "установить шрифт в два раза крупнее" в конечные приложения, работы там вагон, а еще и конь не валялся). Но, может, если они хотят, чтобы этим кто-то продолжал пользоваться, они что-нибудь сделают насчет hidpi на линуксе? А не только темную тему для мак оси???


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 25-Ноя-19 02:24 
> Как там с полноценной поддержкой hidpi

Всегда была нативная, Xlib же. С восьмидесятых годов, вероятно.
for dpi in 48 75 96 120 160 320; do xrandr --output LVDS1 --dpi $dpi && wish <(echo "button .b -text {$dpi dpi}; pack .b") &; sleep 0.1; done
https://imgur.com/a/YHpHCkl


"Выпуск Tcl/Tk 8.6.10"
Отправлено Анонимленьлогиниться , 26-Ноя-19 07:36 
Вы, пожалуйста, не кнопку так покажите, а, к примеру, tkabber. Применить scale к кнопке изнутри приложения можно даже в Gtk+ 1 20-ти летней давности.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 26-Ноя-19 08:39 
> tkabber

Отлично скейлит интерфейс, разве что кроме пиктограмм на тулбаре. Проблем не обнаружил.

> изнутри приложения

Не изнутри приложения, а в параметрах монитора сессии X11 (которые управляются посредством xrandr). Изнутри приложения в этом примере меняется только текст кнопки.

> можно даже в Gtk+ 1

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


"Выпуск Tcl/Tk 8.6.10"
Отправлено annual slayer , 21-Дек-19 18:26 
я давно эту тк-ашную парашу вычистил дустом, но всё-таки обнаружил gitk (который прилетает внутри пакета с самим гитом)

пруфы заскейленого gitk и git gui -- или балабол


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 25-Ноя-19 11:22 
лучший тулкит, ящитаю - легковесный и с логичным синтаксисом. Жаль только что не завезли возможность мимикрировать внешний вид под темы других тулкитов (как с qt через kvantum, например)

"Выпуск Tcl/Tk 8.6.10"
Отправлено antares0 , 25-Ноя-19 12:14 
>Жаль только что  не завезли возможность мимикрировать внешний вид под темы других тулкитов (как с qt через kvantum, например)

Было. Никто не заметил и ушло в историю.



"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 25-Ноя-19 22:29 
Попсовые тулкиты слишком быстро дропают совместимость со старыми версиями, чтобы на них что-то могло остаться.

"Выпуск Tcl/Tk 8.6.10"
Отправлено Anonymoustus , 26-Ноя-19 00:17 
> Попсовые тулкиты слишком быстро дропают совместимость со старыми версиями, чтобы на них
> что-то могло остаться.

На WinAPI надо писать. У ней вся Винда тулкитом.


"Выпуск Tcl/Tk 8.6.10"
Отправлено Аноним , 26-Ноя-19 08:44 
Tk имеет на нём бэкенд, и выглядит он вполне себе нативно.

"Выпуск Tcl/Tk 8.6.10"
Отправлено annual slayer , 21-Дек-19 18:28 
значит, если запускать через wine-staging -- можно получить интеграцию с GTK3 темами ^__^

"Выпуск Tcl/Tk 8.6.10"
Отправлено annual slayer , 21-Дек-19 18:40 
ничего там не мимикрирует, там тупо захардкожена Adwaita, может еще пара тем

в основном причина в заднепроходных гномодизайнерах, которые принципиально против документирование StyleContext-а в GTK3, как часть их внутренней кампании против тем -- чтобы больше людей были вынуждены наслаждаться их state of art дизайном

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

если открыть код фуррифокса или хрома по интеграции с ГТК3 -- там просто полный пи³дец, мне кажется писать его -- было наказанием для часто-опаздывающих в офис работников или за какие другие трудовые провинности


"Выпуск Tcl/Tk 8.6.10"
Отправлено Владимир , 20-Мрт-20 18:49 
Приложение на Android - https://habr.com/ru/post/482574/