Successfully reported this slideshow.
Your SlideShare is downloading. ×

Tcl/Tkクイック入門

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Tfug#4
Tfug#4
Loading in …3
×

Check these out next

1 of 99 Ad
Advertisement

More Related Content

Recently uploaded (20)

Advertisement

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 SDL vim OpenGL SIMD OpenMP Scheme 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. ありがとう ございました

×