Tcl/Tkクイック入門

6,112 views
5,941 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,112
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
12
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Tcl/Tkクイック入門

  1. 1. 平成24年3月31日土曜日 や 明日から使える 闇 鍋 プ話 ロ者 グ ラ Tcl/Tk クイック入門に ミゃ ンお グき 勉ゃ 強っ 会と なラをウ他 れ的な ら名環フロすな非ロ化ド Python Tcl 動 Macintosh) Windows 種あテなるキ ク Tcl Tcl/Tk どグ動ザに てにど ずで境ォスる文常ー文行は 作 OS(Unix るィ 非ッとリ GUI がイ作上も い か 、、とープ。法にし法の、 Tk す 。ンス常ト プ GUI あンさで るがら、 発 Perl Tcl しムラ をシてをみコ Tk る 、 現グクにかツトは Tk Web る せ Tcl/Tk 。利も Ruby てなッ 特ンしフで 。 在環リ強 言、 用一 、にも トは徴プまォ構マ 表 Tclet 。 る ブ 上 、、境プ力らー語ス GUI 限有 クとルう 造ン プ ラ さ般 で 各で なル 資 料 使用書体 HGP創英角ポップ
  2. 2. 自己紹介%whoami
  3. 3. にゃおきゃっと twitter: @nyaocat
  4. 4. 学生
  5. 5. アルバイトエンジニア
  6. 6. 趣味でゲーム 作ってます(雑誌乗りま した)
  7. 7. 趣味で色々な言語とかやっ てます
  8. 8. Xtal C++ html D gcc C Java Javascript css SDLvim OpenGL SIMD OpenMPScheme CUDA CommonLisp tcl/tk Emacs Haskell Linux ChickenScheme Ruby
  9. 9. で、今日はTcl/Tk
  10. 10. 今日話すこと
  11. 11. Tcl/Tkとは?
  12. 12. Tcl/Tkの利点は?
  13. 13. インストールは?
  14. 14. 使い方は?
  15. 15. C言語と連携(時間あれば)
  16. 16. 宜しくお願いし ます
  17. 17. Tcl/Tkとは
  18. 18. まずそもそもTclとTkはセットで1つの言語 ではない
  19. 19. Tclは組み込み用言語として作られた1988年、J.K.Ousterhout博士
  20. 20. Tkは90年にTclの拡張とし て公開
  21. 21. かなり人気出た (らしい)
  22. 22. いつの間にか両者がセットとして扱われるように なってしまった (みたい)(推測)
  23. 23. まぁ歴史とかどうでもいい
  24. 24. 現代から見るTcl/Tkの特徴
  25. 25. 言語仕様が古い
  26. 26. 遅い
  27. 27. 人気が無い
  28. 28. というか使ってる人知らない
  29. 29. そもそも知らない人も 多い
  30. 30. (´・ω・`)
  31. 31. git gui とか gitk とかTcl/Tk 製なのに…
  32. 32. あっでも他の有名なTcl/Tk製の ソフト知らない
  33. 33. でも利点も多いよ!(`・ω・´)
  34. 34. Shell-Likeな言語仕様
  35. 35. というか シェルとしても使える
  36. 36. コマンドの順次実行形式な言語
  37. 37. 首尾一貫したリスト構造
  38. 38. “a b c”←リスト{a b c} ←リスト[a b c] ←リスト
  39. 39. “a b c”変数の展開がされるリスト
  40. 40. {a b c} 変数の展開がされないリスト
  41. 41. [a b c]リスト内の結果で 置き換えられる バッククオートみたいな `(,(a b c)) みたいな
  42. 42. やりやすいそこそこC言語との連携
  43. 43. 標準で正規表現
  44. 44. バックグラウンド 実行
  45. 45. ガベコレ!(ガベージコレクション)
  46. 46. 有志の拡張が 豊富
  47. 47. 豊富なGUIパーツ
  48. 48. マルチプラット フォーム(OSネイティブのGUIをな るべく使ってくれる)
  49. 49. 学習コストが低い (多分)
  50. 50. manが充実してる マン
  51. 51. インストール
  52. 52. 基本はビルド
  53. 53. Mac,Linuxなら パッケージ
  54. 54. Winなら ActiveTcl ?(使った事ないので紹介できない)
  55. 55. Winなら Starkit (こっちのがオススメ) (単一exeファイル)(ただしC組み込みは出来ない)
  56. 56. (ここから実物を見せる)
  57. 57. C言語組み込み
  58. 58. Tclの変数を直 接操作したり
  59. 59. バイナリ値を操 作出来たり
  60. 60. Tkのイメージオブジェクトのピクセルデータを 直接弄れたり
  61. 61. コマンドを作成 したり
  62. 62. 色々なAPIが揃ってる
  63. 63. 基本めんどい 
  64. 64. 全部EvalでOK
  65. 65. 最低限覚えるべ きもの
  66. 66. Tcl_CreateInterp Tclインタプリタの作成
  67. 67. Tcl_FindExecutable 何故か必須指定 ちょっと前までは必須ではなかった 実装見ても大した事してない
  68. 68. Tcl_CreateCommand(…) tclのコマンドを作成する コールバックに使える
  69. 69. Tcl_Eval(char *) 文字列を解釈して実行 何故か char const* じゃない
  70. 70. Tcl_GetStringResult 直前のコマンドの結果を得る
  71. 71. ちょちょいとGUI組み込むの に便利
  72. 72. GUIを付けるのに普段してる手順と しては
  73. 73. 1まずプログラム を組む
  74. 74. 2 Tcl/Tk 用のコールバックコマ ンド作って登録
  75. 75. 3 Tcl/Tk でGUIデザイン作 る
  76. 76. 4完成
  77. 77. まぁ
  78. 78. わざわざC APIの紹介のために書きまし たが
  79. 79. 先にCUIアプリとして作って
  80. 80. Tcl/Tkで ラップ
  81. 81. この方が良い
  82. 82. まとめ
  83. 83. 面白いし楽
  84. 84. 誰も知らない
  85. 85. やりましょう
  86. 86. 今回紹介出来な かったこと
  87. 87. 様々な拡張(Expect とか)
  88. 88. 他言語Tkバインド
  89. 89. マルチスレッド(ほんとにある) (びびった)
  90. 90. 最近のVerの機能
  91. 91. 推奨されてるC API の使い方
  92. 92. バイナリデータ の扱い方
  93. 93. 派手なデモ
  94. 94. 調べて(Tcl/Tkやって)
  95. 95. 皆さんで調べたり作ったりしてみて ください
  96. 96. 質問とか
  97. 97. ありがとうございました

×