<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tcl/Tkの紹介 | ITドカタ</title>
	<atom:link href="https://blog.it-see.net/it-dokata/tag/tcl-tk-introduction/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.it-see.net/it-dokata</link>
	<description>ICT関連の役立つかもしれない情報を発信するブログ。</description>
	<lastBuildDate>Tue, 01 Oct 2019 14:48:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/cropped-job_it_dokata2-32x32.png</url>
	<title>Tcl/Tkの紹介 | ITドカタ</title>
	<link>https://blog.it-see.net/it-dokata</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>プログラミング言語 Tcl/Tkの紹介</title>
		<link>https://blog.it-see.net/it-dokata/tcl-tk/tcl-tk-introduction/</link>
		
		<dc:creator><![CDATA[いっしー]]></dc:creator>
		<pubDate>Fri, 17 May 2019 08:13:34 +0000</pubDate>
				<category><![CDATA[Tcl/Tk]]></category>
		<category><![CDATA[Tcl/Tkの紹介]]></category>
		<guid isPermaLink="false">https://blog.it-see.net/it-dokata/?p=119</guid>

					<description><![CDATA[Tcl/TkはRubyやPythonより前からあるプログラミング言語です。RubyやPythonと比べると、人気がありません。 RubyやPythonのことを紹介しているWebサイトを見ると、「言語仕様が非常に洗練されて [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Tcl/TkはRubyやPythonより前からあるプログラミング言語です。RubyやPythonと比べると、人気がありません。<br><br>RubyやPythonのことを紹介しているWebサイトを見ると、「言語仕様が非常に洗練されている」、「エレガント」などと説明されています。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box lb-cyan block-box"><div class="label-box-label block-box-label"><span class="label-box-label-text block-box-label-text">エレガントとは</span></div><div class="label-box-content">
<p>優雅な、上品な、気品の高い、すっきりしているなどの意味がある。</p>
</div></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Tcl/Tkは「エレガントさ」よりもシンプルで実用的なツールを作るように設計されています。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Tcl/Tkについて</h4>



<p>Tcl/Tkは、John K. Ousterhout 博士によって1988年にカルフォルニア大学バークレー校で作成されたスクリプト言語です。Tcl/Tkは、Tool Command Language/Toolkitの略で、ティックル・ティーケーと呼ばれています。</p>



<p>Tcl/Tkのロゴは「quill (毛の長い堅い羽、鳥の羽柄)」です。「葉っぱ」ではないですよ。(^_^)</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-detail">






<p> </p>

<a rel="noopener" href="https://wiki.tcl-lang.org/page/Tcl%2FTk+Logos" title="Tcl/Tk Logos" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwiki.tcl-lang.org%2Fpage%2FTcl%252FTk%2BLogos?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Tcl/Tk Logos</div><div class="blogcard-snippet external-blogcard-snippet">Tclers wiki</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://wiki.tcl-lang.org/page/Tcl%2FTk+Logos" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">wiki.tcl-lang.org</div></div></div></div></a>
<p></p>






</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Tclの基本的な文法は、スペースで区切られたリスト構造をもつコマンドで構成されています。条件分岐や繰り返しなどの制御構造もコマンドとして実装されています。Tclでは、このコマンドを記述してプログラミングしていきます。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p><span class="fz-18px"><span class="fz-20px"><strong>コマンド名 引数１ 引数２ 引数３ …</strong></span></span><br><br>　　例．画面に文字を出力するコマンド。<br>　　　　puts &#8220;hello, world!&#8221;</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>TkはGUI(Graphical User Interface)に必要な部品(ボタン、メニューなど) をTclで簡単に扱えるようにする目的で作成されました。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-icon-box information-box common-icon-box block-box">
<p>ボタン、メニューなど、GUIに必要な部品のことを、Widget(ウィジェット)といいます。</p>
</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>サンプル</p>



<pre class="wp-block-code"><code># ウィンドウにメッセージを表示する

message .msg -width 200 -text "hello, world!"
button .btn -text 終了 -command exit
pack .msg .btn</code></pre>



<p>サンプルを実行した時の表示。</p>



<p style="text-align:center">[Windows8.1]</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="144" height="88" src="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/hello-w.png" alt="" class="wp-image-136"/></figure></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p style="text-align:center">[CentOS(Linux)]</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="315" height="228" src="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/hello-w2.png" alt="" class="wp-image-137" srcset="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/hello-w2.png 315w, https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/hello-w2-300x217.png 300w" sizes="(max-width: 315px) 100vw, 315px" /></figure></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Tcl/Tkの特徴</h4>



<p>Tcl/Tkは以下のような特徴をもっています。</p>


<p>・GUIベースののアプリケーションを簡単に作成できる</p>
<p style="padding-left: 40px;">Tkは豊富なGUI部品を持ち、それらを組み合わせて簡単にGUIベースのアプリケーションを作成できる。&nbsp;</p>
<p>・クロスプラットフォーム上で動作する</p>
<p style="padding-left: 40px;">Tcl/TkはUNIX, MS-Windows, MacOS 上で動かすことができます。</p>
<p>・国際化サポート</p>
<p style="padding-left: 40px;">Tcl8.1から内部コードにUnicode(UTF-8)を採用しており日本語の文字列操作も容易に扱えます。</p>
<p>・迅速な開発</p>
<p style="padding-left: 40px;">スクリプト言語なので、コンパイル作業は不要です。</p>
<p>・容易な拡張</p>
<p style="padding-left: 40px;">Ｃ言語で新たな機能の実装を書くことにより、TclやTkを簡単に拡張できる。</p>
<p>・組み込みが可能</p>
<p style="padding-left: 40px;">Ｃ言語で作成されたアプリケーションにTclインタプリタを追加することにより、Tclスクリプトでアプリケーションの設定や制御を行うことができる。</p>
<p>・バイトコンパイラの採用</p>
<p style="padding-left: 40px;">Ver:8.0からプログラム実行時にバイトコード(中間コード)へ変換するバイトコンパイラを採用しています。Tclインタプリタは、読み込んだソースコードをバイトコードに変換したものを実行しているため実行速度が大幅に向上しました。</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p> バイトコード について</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-detail">







<a rel="noopener" href="https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89" title="https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E3%2583%2590%25E3%2582%25A4%25E3%2583%2588%25E3%2582%25B3%25E3%2583%25BC%25E3%2583%2589?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ja.wikipedia.org</div></div></div></div></a>






</div>



<div class="wp-block-cocoon-blocks-icon-box information-box common-icon-box block-box">
<p>インタプリタとは作成したソースコードを解釈しながら実行するプログラムのことをいいます。解釈しながら実行するため実行速度は遅いです。<br>また、ソースコードを解釈して機械語、中間コードに変換のみ行うことをコンパイルといい、コンパイルするプログラムをコンパイラとといいます。(C言語のcc, Javaのjavacなど)</p>
</div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">Tcl/Tkに興味を持つ人はどんな理由で？</h4>



<p>恐らく、こんな理由ではないでしょうか。</p>



<ul class="wp-block-list"><li>GUIのプログラムを簡単に作れるらしい。</li><li>Ruby/TkやPythonのTkinterはTcl/TkのTkだ。</li><li> Cisco IOS で利用されているスクリプト言語はTclだ。*</li><li>他の言語で挫折した人。</li></ul>



<p>*最近はPythonもサポートされている模様。 </p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">参考になるサイト</h4>



<p>[英語]</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-official">







<a rel="noopener" href="http://www.tcl.tk/" title="Tcl Developer Site" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.tcl.tk%2F?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Tcl Developer Site</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://www.tcl.tk/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.tcl.tk</div></div></div></div></a>

<a rel="noopener" href="https://wiki.tcl-lang.org/" title="Welcome to the Tcler&#039;s Wiki!" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwiki.tcl-lang.org%2F?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Welcome to the Tcler&#39;s Wiki!</div><div class="blogcard-snippet external-blogcard-snippet">Tclers wiki</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://wiki.tcl-lang.org/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">wiki.tcl-lang.org</div></div></div></div></a>






</div>



<p>[日本語]</p>




<a rel="noopener" href="https://ja.wikipedia.org/wiki/Tcl/Tk" title="https://ja.wikipedia.org/wiki/Tcl/Tk" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fja.wikipedia.org%2Fwiki%2FTcl%2FTk?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">https://ja.wikipedia.org/wiki/Tcl/Tk</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ja.wikipedia.org/wiki/Tcl/Tk" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ja.wikipedia.org</div></div></div></div></a>




<a rel="noopener" href="http://www.interq.or.jp/japan/s-imai/tcltk/" title="&#12418;&#12387;&#12392;Tcl/Tk" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.interq.or.jp%2Fjapan%2Fs-imai%2Ftcltk%2F?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">&#12418;&#12387;&#12392;Tcl/Tk</div><div class="blogcard-snippet external-blogcard-snippet">Tcl/Tk言語プログラミングのための入門ページです。初心者から中級者ための情報が満載です。</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://www.interq.or.jp/japan/s-imai/tcltk/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.interq.or.jp</div></div></div></div></a>




<a rel="noopener" href="http://www.freesoftnet.co.jp/webfiles/tclkits/doc/tcl.html" title="Tcl" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.freesoftnet.co.jp%2Fwebfiles%2Ftclkits%2Fdoc%2Ftcl.html?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Tcl</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://www.freesoftnet.co.jp/webfiles/tclkits/doc/tcl.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.freesoftnet.co.jp</div></div></div></div></a>




<a rel="noopener" href="http://www.nct9.ne.jp/m_hiroi/tcl_tk.html" title="M.Hiroi&#039;s Home Page / Tcl/Tk GUI Programming" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.nct9.ne.jp%2Fm_hiroi%2Ftcl_tk.html?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">M.Hiroi's Home Page / Tcl/Tk GUI Programming</div><div class="blogcard-snippet external-blogcard-snippet">Tcl/Tk,Tcl/Tk入門,GUI,プログラミング</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://www.nct9.ne.jp/m_hiroi/tcl_tk.html" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.nct9.ne.jp</div></div></div></div></a>




<a rel="noopener" href="http://bitwalk.sitemix.jp/tcltk.php" title="http://bitwalk.sitemix.jp/tcltk.php" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fbitwalk.sitemix.jp%2Ftcltk.php?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">http://bitwalk.sitemix.jp/tcltk.php</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://bitwalk.sitemix.jp/tcltk.php" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">bitwalk.sitemix.jp</div></div></div></div></a>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
