Tcl/Tk

Tcl/Tk Tcl/Tk

このカテゴリは、プログラミング言語であるTcl/Tkに関連する情報を発信していきます。

 

Tclの特長を1つ上げると、Tclの構文は空白で区切られたリスト構造をしており、全てコマンドとして実装されています。

某プログラミング言語を紹介しているサイトのように、「初心者向きの言語」、「仕様が洗礼されている」、「これから始めるにはお勧め」などとは言いませんが、文法規則も比較的少ないので、プログラミングの初心者の方でも学習が容易であると思います。

もう1つ特長を上げると、Tkは豊富なGUI部品が実装されており、それらを組み合わせて、比較的簡単にGUIベースのアプリケーションを作成できます。

Perl/Tk, Ruby/Tk, Python/tkinterなどのTkはTcl/TkのTkを利用しています。このような事からTkに関しては、一定の評価がされているもののTclについては、「所詮はスクリプト言語でしょ」、「遅い」、「バイナリデータが扱えない」、「古い」などと言われる事があり、あまり印象が良くありません。

これらの評価の一部は、過去には事実でした。

しかし、1997年にリリースされた8.0以降は、これらの事実は過去のものとなっています。

例をあげると

  • 8.0からプログラム実行時にバイトコード(中間コード)へ変換するバイトコンパイラを採用し、実行速度が大幅に向上しました。
  • 8.0からバイナリデータを操作するbinaryコマンドが追加されました。
  • 8.1から内部コードにUnicodeを採用しており日本語の文字列操作も容易に扱えます。
  • Tclの正規表現は、8.1で新しく書き直されました。正規表現もUnicodeに対応しています。
  • 最新版数は、8.6.10 (Nov 21, 2019) で現在も開発が進められています。

 

Tcl/Tkに興味を持った方や、他のプログラミング言語で挫折した方がいらっしゃいましたら、ちょっとTcl/Tkを触ってみませんか?

現在Tclの記事をメインに書いている最中ですが、ほぼ一通り書き終えたら、Tkの記事も書いていきたいと思います。

 

スポンサーリンク

 


 

Tcl/Tk

tclshでBash(シェル)のようなコマンド履歴機能を使うには

Tclインタプリタにはコマンド履歴機能がありません。この記事ではtclshとrlwrapコマンドを組み合わせてヒストリ機能を使う方法を紹介します。
0
Tcl/Tk

Tcl – パイプラインの活用 -プロセス間通信-

この記事ではパイプを利用してTclスクリプト内から外部プログラムとデータの送信と受信を行う方法を紹介します。
0
Tcl/Tk

Tcl – 外部プログラムの実行について -exec-

この記事はTclで外部プログラムを実行する方法とexecコマンドの使い方を紹介しています。execコマンドを使えば、Tclスクリプト内で外部プログラムを実行させて、結果を変数に代入することができます。
2
Tcl/Tk

Tcl – evalコマンドと{*}構文について

evalコマンドと{*}構文はconcatコマンドと同じ方法で引数を展開します。この機能を使う事で展開したリストをさらに展開する事ができます。この記事はevalコマンドと{*}構文の使い方を紹介します。
0
Tcl/Tk

Tcl – バイナリデータの操作(3) -binary scan-

Tclでバイナリデータを取り扱うにはbinaryコマンドを使います。この記事ではbinary scanの引数 formatString に指定できる値と使い方について紹介します。
0
Tcl/Tk

Tcl – バイナリデータの操作(2) -binary format-

Tclでバイナリデータを取り扱うにはbinaryコマンドを使います。この記事ではbinary formatの引数 formatString に指定できる値と使い方について紹介します。
0
Tcl/Tk

Tcl – バイナリデータの操作(1)

Tclでバイナリデータを取り扱うにはbinaryコマンドを使います。binaryコマンドの操作を3回に分けて紹介します。この記事ではバイナリデータを読み書きする時の基本的な操作を紹介します。
0
Tcl/Tk

Tcl – ファイルの入出力(7) -seek,tell-

この記事ではファイルのアクセス位置を変更するseekコマンドと現在のアクセス位置を取得するtellコマンドの使い方を紹介します。
0
Tcl/Tk

Tcl – ファイルの入出力(6) ファイル操作中のエラーを捕捉する

この記事ではファイルを開く際に発生するエラー(ファイルの有無など)をcatchコマンドまたはfile existsコマンド使って捕捉し、エラー処理を行う方法を2つ紹介します。
0
Tcl/Tk

Tcl – ファイルの入出力(5) ファイルの文字コードと改行コードについて

この記事ではファイルのコピー、文字コードと改行コード、chanコマンドについて紹介しています。
0