Релиз Tcl/Tk 8.6.0

Материал из Викиновостей, свободного источника новостей

20 декабря 2012 года

После пяти лет разработки увидел свет релиз новой ветки 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";
  • Средства для контроля за курсором для виджетов ввода текста;
  • Поддержка дополнительных хинтов оконных менеджеров.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Релиз Tcl/Tk 8.6.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.