🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.tcl
Article #46

Re: perl? tcl?

#46
From: KUMANO, Tadashi
Date: Thu, 16 Apr 1998 00:00
67 lines
4191 bytes
「迷ったときは両方覚える」というのが絶対よいと思いますが,
それはさておき,

Newsgroup "fj.lang.tcl,fj.lang.perl"
In article <SAMEJIMA.98Apr15101047@melon.vgl.cs.musashi-tech.ac.jp>
samejima@vgl.cs.musashi-tech.ac.jp writes:

いろんな人が「Tcl はいやよ」と書くだろうから,
がんばって違う方向で書いてみます :)

私自身も,スクリプト言語としての Tcl には頭が痛くなるものを感じます.
まぁ慣れれば麻痺してしまうので頭痛を起こさずにスクリプトを書けますが,
でもなかなか「これで正しい」という確信を持って書き進めることができない...

私は,サンプルとして tclsh や wish が同梱されてしまったことが,
Tcl/Tk はただのスクリプト言語である,という誤解を生んでしまったのでは
ないかと思います.
単なるスクリプト言語としては,確かに Tcl は使いやすいとは言えないですから.

今や内容的には少々古くなってしまいましたが,
いまだに Tcl/Tk を使うにあたって私が参考にしている,Tcl/Tk 作者の本
「Tcl/Tk ツールキット」
(J.K. Ousterhout 著,西中芳幸/石曽根信 訳; ISBN4-89052-819-9; 4,800円)
の「はじめに」から引用します.

(p.2)
「2つ目の利点は,Tcl を用いることによって強力なスクリプト言語を持つ
アプリケーションを容易に構築することができるということである.
新しいアプリケーションを構築するためには,そのアプリケーションに必要な
基本機能を新しい Tcl のライブラリとリンクすれば,Tcl によって提供される
コマンド(Tcl コアと呼ぶ)と,新たに追加したコマンドの両方の機能を持った
スクリプト言語を構築することができる.」

私は,C で開発したプログラムにユーザカスタマイズ機能や GUI 機能を
追加するのに Tcl/Tk を使っています.
アプリケーションのメインとなるルーチンを C で書き,
Tcl/Tk のライブラリをリンクして,適宜 Tcl/Tk スクリプトを呼び出して
設定の変更やら GUI の実現やらをしています.
スクリプトを解析・実行するルーチンは全てリンクしたライブラリの中にあり,
そのライブラリはあまり大きくないので,
(あまり大きくしたくないためにあんなとっつきにくい言語仕様になったんだろう)
少しスクリプトいじりをしたいような場合にとてもバランスがよいと思います.
ただ,この本が書かれたあとに Perl は version 5 になって,
ダイナミックロードできるモジュールなどが実現したので,
スクリプト処理と C のルーチンの結合は Tcl だけのセールスポイントでは
なくなってしまいました.
ただ,どちらかというと,Perl は Perl インタプリタという
スクリプトをさばく大きなまな板の上にいろいろなモジュールも
一緒にのせてさばく,といった感じですが,
Tcl はアプリケーションの上に小さなまな板を出してきて
スクリプトをさばく感じですね.
どちらがスマートかはスクリプト処理が全体の処理の中で
主であるかどうかによって変わってくるでしょう


両方ともスクリプト言語だ,ということで比較対象にしたのでしょうが,
Tcl のコアのコマンドだけで済んでしまうようなプログラムを Tcl で書く
(つまり tclsh のスクリプトを書く)のは意味がないのでお勧めしません.
Tcl/Tk のコアコマンドだけでスクリプトを書く(つまり wish のスクリプトを書く)
のは,現時点での GUI 構築用スクリプト言語の選択肢が他にいいのがないので
悪くない選択肢だと思います.
Perl/Tk は使ってみたけどもう少しこなれないとちょっと...
やっぱり Tcl/Tk のおもしろさは C のプログラムとの連結にあると思います.
# というわけでやっぱり `Tcl/Tk Toolkit' は必読 :)
-- 
 くまの ただし
Technical Details
Message-ID: <980416200858.M0112634@g-alphas1.strl.nhk.or.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <SAMEJIMA.98Apr15101047@melon.vgl.cs.musashi-tech.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 15a83d,6ba2ce7922459fac
X-Google-Attributes: gid15a83d,public
From: "KUMANO, Tadashi" <kumano@strl.nhk.or.jp>
Subject: Re: perl? tcl?
Date: 1998/04/16
Message-ID: <980416200858.M0112634@g-alphas1.strl.nhk.or.jp>
X-Deja-AN: 344622853
References: <SAMEJIMA.98Apr15101047@melon.vgl.cs.musashi-tech.ac.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Organization: NHK Science and Technical Research Laboratories, Tokyo, Japan.
Newsgroups: fj.lang.tcl