Snit

SNIT
Тип Объектно=ориентированное расширение языка
Автор William H. Duquette
Написана на Tcl
Первый выпуск 31 августа 2002
Последняя версия 2.3.2 (13 декабря 2011)
Состояние развивается, включён в стандартную библиотеку Tcl
Лицензия BSDL

SNIT (Snit’s Not Incr Tcl) — объектно-ориентированное расширение языка TCL. Его название - аббревиатура, полученная популярным в мире Open Source рекурсивным способом, гласящая что SNIT — это не Incr Tcl. В настоящее время включено в стандартную библиотеку Tcl. Основана на делегировании, а не на наследовании[1].

Наряду с incr tcl и XOtcl — одно из трёх наиболее популярных объектно-ориентированных расширений Tcl[2].

Особенности

Будучи основанным на делегировании, SNIT работает не с объектами, но со всем, что ведёт себя как объект. Это очень удобно, когда нужно создать OO-оболочку для больших объёмов существующего Tcl кода, используя SNIT как «объектный клей».

Примеры применения

Одним из примеров применения библиотеки может служить JNEM (Joint Non-kinetic Effects Model) — программа для моделирования, используемая армией США для подготовки командиров[3].

Версии библиотеки

Существует в двух основных линейках версий Snit, нескольки несовместимых между собой версиях, Snit 1.3, работающий с Tcl 8.4 и Snit 2.2, работающий с современной версией Tcl 8.5.

Примечания

  1. Flynt, 2012, p. 241.
  2. Flynt, 2012, p. 263.
  3. William H. Duquette. Anatomy of a Large Application: Architectural Patterns and Solutions. — Калифорнийский технологический институт, Лаборатория реактивного движения. Архивировано 26 апреля 2014 года.

Литература

  • Clif Flynt. Ch. 9. Basic Object Oriented Programming in Tcl // Tcl/Tk: A Developer's Guide. — 3'rd edition. — Elsevier Science & Technology, 2012. — 816 p. — ISBN 978-0-12-384717-1.

Ссылки

  • www.wjduquette.com/snit/snit.html (англ.) — SNIT 1.0: документация.
  • aspn.activestate.com/ASPN/docs/ActiveTcl/8.4/tcllib/snit/snit.html (англ.) — Current Snit documentation
  • tcllib.sourceforge.net/doc/snitfaq.html (англ.) — Snit Frequently Asked Questions (может быть использован в качестве основной документации)
  • Snit’s Not Incr Tcl на Tcllers Wiki
  • www.tcl.tk/software/tcllib (англ.) — стандартная библиотека Tcl