The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз Tcl/Tk 8.6.0

20.12.2012 21:45

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

Основные новшества Tcl 8.6:

  • В базовую поставку включены две реализации расширений для объектно-ориентированной разработки:
    • TclOO - написанная на языке Си встраиваемая в Tcl система объектно-ориентированного программирования, полностью динамическая (может использоваться для создания иных объектных расширений), основанная на использовании классов и поддерживающая такие расширенные возможности, как мета-классы, фильтры и примеси.
    • Itcl 4 (incr Tcl) - построенный с использованием TclOO пакет, предоставляющий некоторые элементы традиционного объектно-ориентированного программирования (в стиле C++);
  • Переход на модель вычислений без использования стека (Stackless Evaluation), которая позволяет обеспечить высокий уровень вложенности вызовов процедур без сохранения в стеке набора вложенных вызовов подпрограмм. Итогом внедрения новой бесстековой модели является обеспечение поддержки глубокой рекурсии в Tcl-скриптах. Кроме того, представлен набор новых команд coroutine, tailcall, yield и yieldto, предоставляющих поддержку сопрограмм и новые возможности по обеспечению параллелизма в Tcl-скриптах;
  • Для обработки исключений добавлены новые команды try и throw, а также дополнительные средства для учёта кодов ошибок;
  • Поставка коллекции сторонних модулей, собранных и установленных в поддиректорию pkgs;
  • Готовность для создания и выполнения многопоточных программ. По умолчанию Tcl собран с поддержкой многопоточности и включает в поставку пакет Thread, а также реализацию новой команды interp cancel;
  • В поставку добавлен пакет с интерфейсом Tcl DataBase Connectivity (tdbc), позволяющим использовать в скриптах SQL без учёта специфики конкретных СУБД. Для работы с базами в формате SQLite добавлены модули sqlite3 и tdbc::sqlite3;
  • Обеспечена поддержка IPv6, функция socket теперь в штатном режиме распознаёт IPv6-адреса;
  • Встроенная поддержка сжатия с использованием Zlib, для работы со сжатыми потоками и данными представлена новая команда zlib;
  • Добавлены новые команды для обработки именованных списков (хэшей): lmap и dict map;
  • Поддержка работы со стековыми каналами (Stacked Channels) без написания кода на языке Си при помощи новых команд chan push и chan pop;
  • Дополнительные возможности: создание временных файлов, улучшенные методы сортировки, фильтрация словарей, поддержка закрытия одного из направлений двунаправленных каналов, средства для кодирования и декодирования бинарных последовательностей, более точный контроль выполнения команды load и многое другое.

Основные новшества Tk 8.6:

  • Встроенная поддержка чтения и записи изображений в формате PNG, в том числе с возможностью установки альфа-канала для прозрачных областей;
  • Новая команда "tk busy", представляющая собой вариант blt::busy для временного замораживания интерактивных операций в окне;
  • Новый интерфейс "tk fontchooser" для реализаций диалоговых окон выбора шрифтов;
  • Поддержка вывода текста с наклоном (вращением). Угол наклона определяется через опцию "-angle $degrees" в $canvas;
  • Поддержка перемещения элементов на холсте через использование новых команд "$canvas moveto", "$canvas imove" и "$canvas rchars";
  • Средства для контроля за курсором для виджетов ввода текста;
  • Поддержка дополнительных хинтов оконных менеджеров.


  1. Главная ссылка к новости (http://www.tcl.tk/software/tcl...)
  2. OpenNews: Релиз Tcl/Tk 8.5.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/35661-tcl
Ключевые слова: tcl, tk, tcltk, script
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:18, 20/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Самый главный вопрос: Tk перестал уже выглядеть, как "привет из 80х"? В остальном, изменения радуют.
     
     
  • 2.5, GentooBoy (ok), 00:05, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Как захотите так и будет выглядит, привет из 80x это без gui
     
     
  • 3.11, Аноним (-), 04:04, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну ок, уболтали, выглядит как привет из конца 80-х - начала 90-х. Т.е. страшный что пи...!
     
     
  • 4.26, видящий (?), 22:48, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Самый главный вопрос: Tk перестал уже выглядеть, как "привет из 80х"? В остальном, изменения радуют.
    > Ну ок, уболтали, выглядит как привет из конца 80-х - начала 90-х. Т.е. страшный что пи...!

    Что тот, что другой - одного поля ягоды.
    Один думает, что все знает о времени, полагаясь только на свои глаза.

    > Как захотите так и будет выглядит, привет из 80x это без gui

    Другой ушел лишь чуть чуть дальше, но на самом деле лишь в обратную сторону. Он думает, что если что-то нельзя увидеть глазами, то это типа вконец устарело.

    Компьютерные системы нужно _видеть_ разумом, а не глазами _смотреть_.
    А время - это вообще вещь нелинейная.

     
  • 3.20, Аноним (-), 11:53, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Хочу чтобы в линуксе UI был не аля мотиф, а с текущей темой GTK(KDE) и стюардессами.
    У TK на маке есть кокоа и поэтессы, на виндовсе -- аэро и феи.

    А на линкусе -- мотиф и доярки.

     
  • 3.23, Grammar Nazi (?), 15:44, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    будет выглядеть
     
  • 3.27, arisu (ok), 22:55, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > привет из 80x это без gui

    ага, Smalltalk'а, значит — где современные принципы GUI и зародились, — не было.

     
  • 2.28, Michael Shigorin (ok), 01:46, 22/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Самый главный вопрос: Tk перестал уже выглядеть, как "привет из 80х"?

    Здрасьте, ещё б лет через пять спросили. :)

     

  • 1.2, Аноним (-), 23:19, 20/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Подскажите какие причины могут заставить не использовать python+tk для написания GUI и отдать предпочтение C++/Qt под Mac OS X и Windows?
     
     
  • 2.6, Аноним (-), 00:32, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Причина не использовать python+tk - использовать PyQt
     
  • 2.9, Led (ok), 02:09, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >какие причины могут заставить не использовать python+tk для написания GUI

    Такие же, как и "не есть жёлтый снег"

     
  • 2.12, Аноним (-), 04:05, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > отдать предпочтение C++/Qt под Mac OS X и Windows?

    На кутях нет гемора с версиями питона. И программа не выглядит как г-но. И не тормозит как г-но.

     
  • 2.25, ... (?), 20:49, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1. Питон и tk необходимо устанавливать в систему пользователя. Иногда такой возможности может не быть. С Qt можно ничего не устанавливать в систему.
    2. GIL я отношу к минусам питона.
    3. Документация, субъективно, у Qt лучше(все собрано в одном месте).
    4. Юзер установил другую версию библиотек и появилась вероятность того что особенности питона пересекутся с особенностями tk.
    5. Компилятор лучше детектит ошибки в коде чем интерпретатор.
    6. Qt пытается ползти на мобильные платформы - возможный плюс.

    Да и для многоплатформенного gui-я лучше испольщовать web.

     

  • 1.3, Аноним (-), 23:34, 20/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Посмотрел на сайте Tcl/Tk, там в примерах Tk подхватывает нативный дизайн виджетов, а линуксе всё какое-то нескладное.
     
     
  • 2.4, GentooBoy (ok), 00:00, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    небось опять на сайт wxWidgets зашли и народ баламутите
     
  • 2.15, Аноним (-), 08:49, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Как вышла версия 8.5 (4 года назад), с кривым дизайном у Tk ни разу не сталкивался, в линуксе тоже все в порядке.
     

  • 1.7, Пользователь Debian (?), 01:00, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ура!
     
  • 1.8, Loooooker (ok), 01:40, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Переход на модель вычислений без использования стека (Stackless Evaluation)

    Теперь можно не бояться использвать goto ))))

     
     
  • 2.13, Аноним (-), 04:06, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Теперь можно не бояться использвать goto ))))

    Так goto и на сях не боятся использовать. Просто оно ломает структуру программы. За что его и не любят. Наглядность страдает. А так JMP <label> было еще в ассемблере.

     
     
  • 3.14, Аноним (-), 08:18, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А так JMP <label> было еще в ассемблере

    Было? А куда делось?

    И да - switch/case по сути тот же самый goto

     
     
  • 4.18, CPP (??), 11:13, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> А так JMP <label> было еще в ассемблере
    > Было? А куда делось?
    > И да - switch/case по сути тот же самый goto

    Ну да, похоже, но только в отличие от goto переход с условием как и  у if

     
     
  • 5.29, Jorra (?), 05:07, 24/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А где вы видели goto БЕЗ УСЛОВИЯ?! :)
     
     
  • 6.30, Led (ok), 07:24, 25/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А где вы видели goto БЕЗ УСЛОВИЯ?! :)

    В GCC

     

  • 1.10, alx (??), 02:25, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Для обработки исключений добавлены новые команды try и throw, а также дополнительные средства для учёта кодов ошибок;

    Про catch уже можно забыть? Или эти команды идут в дополнение?

     
  • 1.16, anonymous (??), 09:11, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лучшая новость за последние n месяцев!
    *убежал переписывать кучу кода на использование coroutine*
     
  • 1.17, stupid (?), 10:41, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Переход на модель вычислений без использования стека (Stackless Evaluation)

    Это как? Заменили в рекурсии стек на список?

     
     
  • 2.19, anonymous (??), 11:22, 21/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Переход на модель вычислений без использования стека (Stackless Evaluation)
    > Это как? Заменили в рекурсии стек на список?

    http://wiki.tcl.tk/20861

     

  • 1.21, anonymous (??), 12:36, 21/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, можно ли использовать coroutines как аналог threads? Либо это все происходит в рамках одного потока и одного процесса?
    Кто использует какие техники для распределения "тяжелых" задач по процессорам (ядрам) в тикле?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру