Примеры программирования Tcl, учебные пособия и многое другое

Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальную плату за некоторые услуги, которые мы рекомендуем на этой странице.


Tcl, или «Tool Command Language» (произносится «Tickle»), представляет собой динамически типизированный язык сценариев, первоначально изобретенный в конце 1980-х годов. Он часто используется для создания прототипов и встраиваемых систем, но вполне достаточно для использования в полномасштабных приложениях. Это было под влиянием и имеет некоторые сходства с Лиспом.

Tk – тесно связанный набор инструментов GUI. Это расширение Tcl, но теперь доступно для использования с несколькими другими языками..

Tcl и Tk были созданы одним и тем же программистом и часто используются так, как если бы они были компонентами одного инструмента. Они даже делят номера версий. Вместе они обычно называются «Tcl / Tk», и они являются мощной технологией для быстрого развития.

О языке Tcl

Tcl – интересный язык; имеет ряд необычных функций по сравнению с другими языками программирования.

Tcl не имеет зарезервированных слов или структур управления. Управляющие структуры, такие как «for» и «if», на самом деле являются командами. Команды в Tcl могут быть переопределены или переопределены, поэтому программист может буквально изменить то, что «для» (или любой другой языковой конструкции) означает в программе. Хотя это обычно не рекомендуется, это очень мощный.

Все типы данных в Tcl могут быть обработаны как строки, потому что, что важно, они являются строками. Даже исходный код может быть обработан как строка. Целое число 2 и строка "2" одинаковое значение. Это не означает, что все переменные должны постоянно рассматриваться как строки. Значение 2 является целым числом при передаче в качестве аргумента команде, которая имеет значение для целых чисел. Если "Привет" передается команде, которая обрабатывает аргумент как целое число, результатом будет либо бессмысленность, либо ошибка. Программист должен убедиться, что правильные значения передаются в качестве аргументов..

Это означает, что значения Tcl являются в основном полиморфными. Кроме того, код можно генерировать, проверять и манипулировать, как и любые другие данные. Эти функции обеспечивают мощные методы самоанализа и метапрограммирования.

Синтаксис

Синтаксис языка очень прост и напоминает язык сценариев Bash: неукрашенная команда, за которой следует один или несколько аргументов, разделенных пробелами. Фигурные скобки используются для выделения аргументов, которые должны включать в себя пробелы (то есть внутри скобок пробелы не являются разделителями слов).

# Это комментарий. Комментарии начинаются со знака хеш.

# очень простая команда для печати слова "Привет"
привет

# но если мы хотим сказать "Привет мир"
ставит {привет мир}

Подобно сценарию оболочки, сценарий Tcl представляет собой просто серию однострочных команд. Интерпретатор всегда читает первую строку как имя команды и рассматривает каждый дополнительный элемент в строке как аргумент этой команды.

Даже, казалось бы, сложные управляющие структуры работают таким образом. Учтите следующее:

если {$ a == 1} {ставит {Привет, мир}} {ставит {Прощай, жестокий мир! }}

Вызываемая команда – это если. Первый аргумент – это выражение для оценки. Следующий аргумент – это скрипт, который нужно запустить, если первый аргумент равен true. Последний аргумент – это скрипт, который нужно запустить, если первый аргумент не был истинным.

Это, конечно, довольно простое программирование, но интересно, как интерпретатор обрабатывает этот синтаксис. Кроме того, если бы выражения и сценарии были отдельными словами, фигурные скобки были бы не нужны:

# создать две новые процедуры
proc hello {} {ставит {Привет, мир! }}
proc goodbye {} {кладет {Goodbye, жестокий мир!}

# условно без фигурных скобок
если $ привет до свидания

Наряду с фигурными скобками есть два дополнительных жетона «группировки»: двойные кавычки и квадратные скобки.

Двойные кавычки и фигурные скобки похожи (так как все является строкой) за исключением того, что двойные кавычки интерполируют переменные, тогда как фигурные скобки обрабатывают их содержимое как строковые литералы.

# назначить "Мир" к переменной а
установить мир

ставит
# Мир

ставит {привет $ a}
# привет $ а

путы "привет $ a"
# Привет мир

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

ставит [expr {1 + 1}]
№ 2

# Глупый процесс, который просто возвращает строку "путы"
proc return_puts {} {return put}

# Возвращаемое значение становится командой
[return_puts] [expr {1 + 1}]
№ 2

Кроме того, поскольку команды – это просто строки, значения переменных могут быть командами или целыми строками..

# Назначить строку "ставит {это строка}" foo
set foo {ставит {это строка}}

$ Foo
# это строка

ставит $ foo
# ставит {это строка}

Как видите, Tcl очень гибкий.

Учебники Tcl

  • Официальный Tcl Tutorial – лучшее место для начала;
  • Tcl Tutorial предназначен для начинающих;
  • Tcl / Tk Tutorial at Tutorials Point очень методичен и включает в себя онлайн-переводчика, поэтому вы можете сразу начать использовать Tcl;
  • TCLWISE – это первые девять глав книги о языке, свободно доступных в Интернете;
  • Программирование на Tcl – это видеокурс из 29 частей с чувством юмора;
  • Tcl Tutref – это учебное и справочное руководство, разработанное как «второе мнение» об официальной документации Tcl;
  • Tcl для подростков учит молодых и душевных детей использовать Tcl для создания компьютерных игр;
  • Если вы ищете в основном полный курс обучения по Tcl, попробуйте это на официальной вики Tcl:
    • Начало Tcl;
    • Средний Tcl;
    • Advanced Tcl.

Книги по Tcl / Tk

  • Практическое программирование в Tcl и Tk (2003) Уэлча и Джонса – авторитетный учебник по Tcl и Tk, с достаточным углубленным охватом, чтобы удовлетворить даже опытных программистов из других языков;
  • Tcl / Tk, второе издание: Руководство разработчика (2003 г.) от Клифа Флинта – очень практичная книга, охватывающая как язык, так и экосистему разработки, с особым вниманием к инструментам, часто используемым расширениям и методам разработки;
  • Tcl and Tk Toolkit (2009) от Oesterhout and Jones является окончательным руководством по языку, в соавторстве с его изобретателем;
  • Tcl / Tk 8.5 Programming Cookbook (2011) от Bert Wheeler предлагает ряд практических решений общих проблем в программировании Tcl / Tk..

Tk – GUI Tool Kit для Tcl

Существует множество причин, по которым Tcl стал популярным, но, вероятно, Tk – самая важная. Тк это сокращение от TоолКЭто. Это облегчает создание графических пользовательских интерфейсов (GUI) с Tcl.

Tk предоставляет относительно простой набор команд для создания графического интерфейса на основе форм со всеми обычными элементами рабочего стола, которые вы можете ожидать: кнопки, поля ввода, метки, различные типы селекторов, полосы прокрутки и т. Д. Эти элементы указываются в вашем исходном коде вместе с исполняемым кодом, который подключается к виджетам – например, какая функция должна запускаться при нажатии кнопки или откуда берется список параметров для меню выбора. Хотя синтаксис другой, вы будете знакомы с этим процессом, если когда-нибудь работали с приложениями или формами HTML / JS.

Изначально Tk был разработан как расширение Tcl тем же человеком, который изобрел Tcl. Но Tcl быстро стал кроссплатформенной библиотекой, доступной программистам на десятках языков. Tk был выпущен публично в 1991 году, а модуль Python Tkinter был выпущен в 1994 году. PerlTk вышел вскоре после этого..

До выпуска 8.5 Tcl / Tk был только один визуальный дизайн, управляющий тем, как эти элементы действительно выглядят. Теперь есть темы для основных операционных систем, поэтому встроенное в Tk приложение выглядит как платформа, на которой оно запущено..

Когда Tk впервые стал доступен, это был один из самых простых и быстрых способов запустить приложение GUI для настольных ПК. Хотя поначалу он был доступен только для Tcl и Unix, он взлетел, потому что его было так просто использовать. Сегодня вариантов гораздо больше, чем мы тогда, но Tk по-прежнему остается одним из наиболее эффективных способов быстрого прототипирования и разработки настольных приложений..

Tk Tutorials

Некоторые из упомянутых выше руководств по Tcl содержат информацию о Tk. Следующий акцент на это конкретно.

  • Официальное руководство по началу работы – отличное место для начала; каждый шаг включает примеры кода для Tcl, Ruby, Perl и Python;
  • Создание графического интерфейса пользователя Использование Tk с Tcl Language – несколько непочтительное учебное пособие, в первую очередь для аудитории с базовыми знаниями в области программирования; тот же автор написал учебник Tk для Perl, а также.
  • Ruby / Tk Tutorial от RubyLearning.com – хорошее место для начинающих Rubyists;
  • Реализация Tk в Python является частью стандартной библиотеки, а официальная документация по Python предоставляет полезное руководство;
  • Введение в Tcl / Tk для непрограммиста – это учебник по Tcl и Tk, но с базовым предположением, что вы не будете использовать Tcl без Tk.

Должен ли я учить Tcl?

Tcl – отличный язык. Он достиг своего пика популярности, но все еще существует очень активное сообщество разработчиков и множество Tcl-кода в мире, нуждающихся в уходе..

Что еще более важно, это действительно отличается. Если вы перешли с JavaScript на PHP на Ruby и Python, вы продолжаете читать очень похожую концептуальную основу. Вы изучаете новый синтаксис и новые ключевые слова, но не совсем новый способ мышления.

Tcl – это один из немногих языков (таких как Lisp и Erlang), который действительно заставляет вас задуматься о том, как разрабатывать программы. Даже если вы не используете его для каких-либо реальных проектов, все же стоит потратить некоторое время на изучение.

Дальнейшее чтение и ресурсы

У нас есть больше руководств, учебных пособий и инфографики, связанных с кодированием и разработкой:

  • Руководство и ресурсы по Perl: Perl – еще один мощный, но более традиционный язык. Узнать больше.
  • Введение в Python, ресурсы и часто задаваемые вопросы: получите всю необходимую информацию об этом мощном интерпретируемом языке.
  • Введение в Ruby on Rails: узнайте все об этом популярном языке программирования.

Какой код вы должны изучить?

Не знаете, на каком языке программирования вы должны научиться кодировать? Проверьте нашу инфографику, какой код вы должны изучить? Он не только обсуждает различные аспекты языков, но и отвечает на такие важные вопросы, как: «Сколько денег я заработаю на программировании на Java для жизни?»

Какой код вы должны изучить?
Какой код вы должны изучить?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me