X



tcl/tkは何故メジャーになれなかったのか?
0001デフォルトの名無しさん垢版2017/12/18(月) 19:16:57.78ID:3CIRnvx7
デプロイ早くて使いやすいのに
0004デフォルトの名無しさん垢版2017/12/21(木) 04:33:14.63ID:FYclZgqn
>>3
どこら辺がダサいか具体的に言ってくれると助かる(・´з`・)
0005デフォルトの名無しさん垢版2017/12/22(金) 22:06:35.36ID:NgWkt9+7
なんか妙に取っ付きづらかった印象がある。

関数型言語の皮を被った手続き型言語だよね。
0007デフォルトの名無しさん垢版2017/12/23(土) 11:55:12.28ID:zCitPEVo
TkのGUIは使いづらい感じがしてたけど、簡単に作れるところはメリットだと思う
Ruby/TkとかTkinterで使ってる人も多いだろうし
ただしTcl、テメーはダメだ
Tkのために覚えようと思う言語ではない
0008デフォルトの名無しさん垢版2017/12/24(日) 11:42:46.45ID:RhTtaVz5
>>5
>>6
>>7
tclの変数の値は全て文字列ってところと文字列の展開に関わるあれこれが足引っ張ってんのかな…
0009デフォルトの名無しさん垢版2018/01/08(月) 10:49:37.25ID:szpKYJOz
半導体のデバイス設計ツールのスクリプトがTclなんだからメジャー
一般に普及する必要はない
0010デフォルトの名無しさん垢版2018/01/08(月) 10:50:25.68ID:szpKYJOz
デプロイ早くて使いやすいから 半導体のデバイス設計ツールのスクリプトがTclなんだよ。
それで十分だろ
0011デフォルトの名無しさん垢版2018/01/08(月) 10:53:40.57ID:szpKYJOz
Cとの親和性高いからRで使われてるんだよRがメジャーな限りtcl/tkもメジャー
0012デフォルトの名無しさん垢版2018/01/08(月) 21:18:31.80ID:r3NCGPm5
SQLiteもTclの副産物だろ。
0013デフォルトの名無しさん垢版2018/01/20(土) 13:35:33.32ID:5zEZap2N
test
0014デフォルトの名無しさん垢版2018/02/14(水) 04:15:11.10ID:HSmvmYSu
普及として考えられるのが (IMHO)、
- 未だに Android ネイティブで動作しない。
- ライブラリのインデックスが国内にない。
- 資料どこにあるかわからない。
- WSH や DOS バッチの完全な代替にならない (エスケープシーケンスとキャンバスでは手軽さが違う)
Curses TK, tcl/ck あるが古くなりすぎ。

かつて Ocaml+ Tk で mmm (も〜) なんてウェブブラウザ書いていた人もいたんだけどねえ……。この没落ブリーフ。
0015デフォルトの名無しさん垢版2018/02/16(金) 06:40:41.34ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0016デフォルトの名無しさん垢版2018/03/25(日) 18:04:34.11ID:qleen6XJ
せっかく C から生のまま使えるんだから
tcl じゃなくて tk の部分だけ別の文法で wrap 出来ないかな
0017デフォルトの名無しさん垢版2018/05/23(水) 20:03:28.19ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

L00YT
0018デフォルトの名無しさん垢版2018/05/28(月) 23:19:29.64ID:jz5JC+Y6
>>16
Ring 言語を使えばキーワードの再定義もお好みで可能だな。まだクセがあるから万人向けではないが。

つか UTF-8 に対応していない海外製の処理系を手っ取り早く UTF-8 対応にするためには Tcl 使えそうだが、そんな使いかたがあるなんて聞いてないな。
Qt など GPL/LGPL の採用できない現場でライセンスの緩くて枯れている便利な文字列処理ライブラリとしてなら、まだまたま活路は残っているか。
0019デフォルトの名無しさん垢版2018/05/29(火) 11:36:13.83ID:QKhV4oKb
>>16
pythonとCとpythonモジュールでいいやん
0020デフォルトの名無しさん垢版2018/07/04(水) 22:44:22.50ID:gFgZc5FG
OXU
0021デフォルトの名無しさん垢版2018/12/06(木) 11:03:51.57ID:ZtWhQkAF
>>18
0022デフォルトの名無しさん垢版2018/12/06(木) 11:06:48.11ID:ZtWhQkAF
>>18
OSS ライセンス適用されるの無料版たけでじゃないの?
0023デフォルトの名無しさん垢版2019/01/25(金) 09:38:01.69ID:nTExwXep
ガベコレまわりがPythonに比べてルーズな気がするが
緩いから使いやすいってことで良いのかな?
0024デフォルトの名無しさん垢版2019/01/25(金) 14:35:22.51ID:EnRgcOgq
>> arrayName = Tcl_NewStringObj( "RivetDirConf", -1 );
>> Tcl_DecrRefCount(arrayName); /* when done */
>> return;
>> Explanation: there is no way for Tcl to know about the scope of
>> visibility for arrayName. It's your job as a Tcl C extension writer
>> to manage the lifetime of Tcl_Obj objects.

> According to the man page:

> Tcl_NewStringObj and Tcl_NewUnicodeObj return a pointer to a
> newly created object with reference count zero.

True, but there's no garbage collector in Tcl looking for Tcl_Objs's
with refcount == 0 for freeing. You need to call Tcl_DecrRefCount
on the object to bring it to the attention of the releasing mechanism.
0025デフォルトの名無しさん垢版2019/01/25(金) 16:48:08.46ID:5BmC9EYX
>>16
これずっと言われてるけど結局メンテが続かないんだよなあ
多分メンテの大変さと使われ具合が割に合わない
tcltkもあんまバージョンアップしないにもかかわらずだ

tkinterは安定して使えてるようだけど
やっぱあんま使われてないみたいだしいつ分離してもおかしくない
0026デフォルトの名無しさん垢版2019/01/25(金) 16:53:22.95ID:EnRgcOgq
pythonコードをC/C++で描いてtkinter使えば医院で内科医?
0027デフォルトの名無しさん垢版2019/02/07(木) 11:47:42.07ID:wnXC6Stz
set abc {ABC}
after 1000 {puts $abc}
set abc {AAA}
puts {DEF}

これだと

DEF
AAA

って出力になるから $abc が遅延評価されてるのは判るんだけど

set abc {ABC}
pack [button .hoge -text hoge -command {puts $abc}]
set abc {AAA}

だとボタン押したときに実行されるのが
ABC
の方なんだよね
0028デフォルトの名無しさん垢版2019/03/04(月) 18:21:58.01ID:uc0eUeRV
>>1
そもそも言語からして、普及していた言語とはかけ離れた独自言語であった
時点でメジャーになるわけ無いのに、>>1 の感覚が分からない。
0029デフォルトの名無しさん垢版2019/03/05(火) 03:36:05.49ID:VDry4yCP
るbyディスるのは止めれ
0030デフォルトの名無しさん垢版2019/03/05(火) 16:21:21.04ID:01ls3eLR
>>29
Rubyは、BATファイルよりは強力だったので、Better BAT として使ってきた。
それは TCL/TK にはあてはまらない。
0031デフォルトの名無しさん垢版2019/03/06(水) 18:56:42.08ID:nP+qIuYQ
Luaの方がマシかな
0032デフォルトの名無しさん垢版2019/03/07(木) 11:55:02.62ID:MOWN2E6p
まず、CGIを動かすための無料の言語としてperlがあって、perlには関数定義
の仮引数の書き方や参照渡しの書き方に問題があった。Rubyは、
perlのリストやハッシュなどの便利さはそのままに、それらの不具合を修正し、
ブロック関数などの新しいアイデアも導入した。また書き方やライブラリ
の感覚が perl に似ていたため perl を覚えた人には以降が簡単だった。

ところが、Tclにはそういうものがなかったのではないか。全く新しい言語を
覚えるのは意味がなく苦痛。
0033デフォルトの名無しさん垢版2019/03/07(木) 12:19:36.46ID:kyyLy5en
PerlってCGIのために造られた訳じゃないやん
0035デフォルトの名無しさん垢版2019/05/03(金) 14:32:04.51ID:3Vz/qKoh
変態度で言えばperlも相当なもんだが
なぜこんなに差が付いたのか
90年代初頭ではtclの方が勝ってたろ
0036デフォルトの名無しさん垢版2019/05/03(金) 16:56:51.57ID:H4kt2X4Y
変数がテキストとして処理されるというのが使いにくいからだろ
使いにくさは認めざるを得ない

それでも既存のコマンドを繋ぎ合わせるのには便利だし
Expectはネットワークじゃまだまだバリバリ使われてるんだろ?
0037本田垢版2019/06/19(水) 06:46:00.21ID:7+Fihow6
[PDF]Exploring Expect V413HAV - Busindre
h ttps://www.busindre.com/_media/exploring_expect.pdf
0039デフォルトの名無しさん垢版2022/01/11(火) 05:50:10.49ID:lOPVWP/4
原理主義な言語はマニアを産むけど流行らない宿命
原理というのは単純なものだから、十年おきくらいにそれ名前変わっただけだろみたいのや再発明がまた流行るけど
lisp系、forth系しかり
0040デフォルトの名無しさん垢版2022/02/24(木) 16:50:42.42ID:CpM4JwWB
>>27

>set abc {ABC}
>pack [button .hoge -text hoge -command {puts $abc}]
>set abc {AAA}
>
>だとボタン押したときに実行されるのが
>ABC
>の方なんだよね

そんなはずないと思う

-commandの {puts $abc} はglobalなコンテキストで評価されるから、
abcがglobalならputs $abcはAAAになる

そうじゃなくて -command "puts $abc" であれば、
buttonコマンド実行時に$abcが置換されるからABCになる

慣れないうちは混乱する
こんなところが嫌われる
0041デフォルトの名無しさん垢版2022/05/05(木) 10:39:52.04ID:t+UFBZGG
man tcl
を読めばわかる話
変に日本語の解説を読むと混乱する。
コマンド 引数 …
という形態であるということと置換の意味がわかればどうということはない。
0043デフォルトの名無しさん垢版2023/01/04(水) 21:53:03.12ID:56xeELVH
>>40
>そんなはずないと思う

それがハマりどころ

set abc {ABC}
button .hoge -text hoge -command {puts $abc}
pack .hoge
set abc {AAA}

ならAAAがでてくるけど

set abc {ABC}
pack [button .hoge -text hoge -command {puts $abc}]
set abc {AAA}

ならABCが出てくる
はず

後者は[]で$abcが展開されちゃうんだよね
0044デフォルトの名無しさん垢版2023/01/07(土) 20:54:41.89ID:nmYYllE/
全てが文字列
変数名に$をつけると中身と置換
1行1コマンドで最初のフィールドがコマンド名、残りのフィールドが引数
フィールド内に空白文字を含む場合は""か{}で括る
""で括られると変数置換
{}だと置換なし
[]で括るとコマンドとして実行結果と置換される
ifもforもwhileもprocも全てコマンド、コメントもコマンド

これがTclの全てです。知らんけど
0046デフォルトの名無しさん垢版2023/09/23(土) 12:52:40.09ID:i9fpyxKg
tclのスクリプトは似てないけど
tclをCでモジュール描いたりリンクしてみると
pythonとそっくりだよ
レスを投稿する


ニューススポーツなんでも実況