04:26:48 @mandel59@pleroma.ryusei.dev
icon

例の件、コンプライアンスはちゃんとしろと思う一方で、関係ないけど、ソースコードをプロプライエタリ化するのはクソ、サービス提供者はユーザーにソースコード見せろやとも思う……

04:28:25 @mandel59@pleroma.ryusei.dev
icon

いや、自分の転職のために流出させるのはあんまり擁護しようがないし、全然関係ない話なんですけどね

04:29:41 @mandel59@pleroma.ryusei.dev
2021-01-29 02:34:31 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

そういえば大昔にジャッヴァで型とかフィールドにアノテーション付けまくると DB スキーマが生えてくる感じのフレームワーク使ったことがある気がするな。まあ私そのフレームワーク嫌いだったんだけど、DB との統合としては筋は悪くなかったと思っている

04:29:48 @mandel59@pleroma.ryusei.dev
2021-01-29 02:35:17 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

とりあえず "stringly typed" という概念だけ今日は覚えて帰ってもらいましょ

Stringly Typed
wiki.c2.com/?StringlyTyped

04:33:07 @mandel59@pleroma.ryusei.dev
icon

リプや空リプが嫌いな人、なんでツイッターを使ってるの

04:33:42 @mandel59@pleroma.ryusei.dev
icon

目にしたツイートには、コメント付けさせてほしい

04:34:56 @mandel59@pleroma.ryusei.dev
icon

リプが不快な人間と空リプが不快な人間がいるのでツイッターはつらすぎる

04:35:30 @mandel59@pleroma.ryusei.dev
icon

なんらかの超能力を発揮して、リプと空リプを使い分けるか、そもそもコメントを付けないか、といったことをする必要がある

04:35:58 @mandel59@pleroma.ryusei.dev
icon

引用リツイートでも通知が行くので、リプと同じになってしまった

04:36:52 @mandel59@pleroma.ryusei.dev
2021-01-29 04:28:39 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

たとえばですが、
「jsonファイルがフィールド a と b を持っている」
という想定があったとして、「a や b がなかったり余計な c があったりするファイルを読んだ」は「想定可能なエラー」なんですよ。この場合クラッシュすべきでない。

で、じゃあどういう場合にクラッシュすべきかというと、
「json ファイルがフィールド a と b を持っていてそれを読んだのに、返すオブジェクトで a の値を設定し忘れた」とかそういう「デシリアライザが仕様違反を犯している場合」です。
この場合「デシリアライザが『こういうデータを読みますよ』と (仕様で暗黙に) 表明したデータ以外を返す」というのは仕様外動作なので、そこから復帰しようとすべきでない。

04:37:25 @mandel59@pleroma.ryusei.dev
2021-01-29 04:32:48 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

私の中では明確で整合した理解が確立されているんだけど、それをダンプするのが難しい

04:39:26 @mandel59@pleroma.ryusei.dev
icon

なんというか、分割したコンポーネントを、どうやって整合性のある形で合成するかという問題への対処法としてあるものだという観点が、エラー処理やパニックの話をする上で大事なのかなって気がした

04:39:37 @mandel59@pleroma.ryusei.dev
icon

完全にフィーリングで喋ってるけど

04:41:02 @mandel59@pleroma.ryusei.dev
icon

ソフトウェア開発、自我(自分と他人の区別)が重要みたいな

04:42:17 @mandel59@pleroma.ryusei.dev
icon

my fault と your fault の区別が重要で、他人の失敗は穏やかに指摘するべきだが、自分が失敗するときはまず正気でないのでクラッシュする必要がある

04:45:24 @mandel59@pleroma.ryusei.dev
icon

あとは、通信が絡む場合は、外部のコンポーネントはたとえ自分が作ったものだとしても他人とみなす、みたいな作法があるとか……

04:46:16 @mandel59@pleroma.ryusei.dev
icon

エラーのセマンティクスって、実際難しいよ

04:47:01 @mandel59@pleroma.ryusei.dev
2021-01-29 04:16:18 orangeの投稿 orange_in_space@mstdn.nere9.help
icon

オレンジ的には不整合を見つけた場合にはユーザーに知らせるべきではある一方でクラッシュするべきでは無いと考えるかも><
たぶんそのアプリの実行してる時間の差で意識が違うんだと思う><
CLI中心の人にとってはUNIX哲学の通りひとつの事しかさせないのでクラッシュ自体を重大とは捉えないかも><
GUI中心の発想や失敗したら人が死ぬ分野の発想では、クラッシュして止まること自体を重大に考えるので、クラッシュさせるのは最後の最後の手段と考えるかも><
(失敗したら人が死ぬ分野の場合は、なんらかの(例えば物理的な)更なるバックアップがない状況ではそもそもクラッシュさせるという選択肢はとらないかも><)

04:47:43 @mandel59@pleroma.ryusei.dev
icon

Unix的にはエラーは黙って1を返すのでは(エラー出力になにか吐き出してもいいけど)

04:49:04 @mandel59@pleroma.ryusei.dev
icon

プログラムは、他のプログラムとも通信するし、人間ともコミュニケーションをとる必要があって、その通信・コミュニケーションをどう制御し組み上げるかという話ですよね

04:50:12 @mandel59@pleroma.ryusei.dev
icon

「黙ってクラッシュ」って言ったとき、その黙る対象はふつうは出力したデータに依拠して動く他のプログラムであって、人間に対して黙っているとは限らないわけです。

04:56:21 @mandel59@pleroma.ryusei.dev
icon

黙ってクラッシュ、人間に対しても黙っているときはふつうにあるというか、リトライで解消できるエラーを人間にいちいち報告してきたら人間がパンクしちゃいますからね

04:56:56 @mandel59@pleroma.ryusei.dev
icon

通信の関係するエラーは、リトライで解消できる場合があるので、試行中は黙っている

04:58:24 @mandel59@pleroma.ryusei.dev
icon

「UNIXという考え方」における「沈黙は金」は常に正しいか https://songmu.jp/riji/entry/2018-08-15-unix-silence-is-golden.html

Web site image
「UNIXという考え方」における「沈黙は金」は常に正しいか | おそらくはそれさえも平凡な日々
Web site image
「UNIXという考え方」における「沈黙は金」は常に正しいか | おそらくはそれさえも平凡な日々
04:59:04 @mandel59@pleroma.ryusei.dev
icon

エラーのセマンティクス、プログラムが動く領域それぞれで違ってくるのは当たり前で、一般化するのはけっこう難しい

05:03:56 @mandel59@pleroma.ryusei.dev
2021-01-29 05:03:06 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

実用的なプログラムは必ずそういう「そこは信用します」というレベルを程度の差こそあれ持っていて、「そこは信用しますレベル」は invariant がどれだけあるか、どれだけ強い条件かで決まってくる。
で、その信用を裏切られたときクラッシュ以外の行為に意味がない、という話です

05:04:24 @mandel59@pleroma.ryusei.dev
icon

自分の正気さに疑問を感じないタイプなのでassert文を書かない

05:07:24 @mandel59@pleroma.ryusei.dev
icon

単純に、自分は不変条件が破られた時にクラッシュしないと危ない領域でプログラミングしないってだけだけど

05:09:08 @mandel59@pleroma.ryusei.dev
icon

不変条件が破られるかもしれない、その破られたときのフェイルセーフとしてのクラッシュが要求されるの、まあシステムプログラミングとか、広くデプロイされるシステムとか、危険なマシンを動かすシステムとか、そういう領域になってくるのかなって気はする(雑なアプリケーションでは気にしなくて良いのでは?)

05:13:05 @mandel59@pleroma.ryusei.dev
2021-01-29 05:11:03 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

まあそういう考え方もあるけど、私は単に思想ゆえそのように作ってるだけですね (不変条件が破られた狂ったコードが動き続けることに意義を感じられないので) (正しく動く可能性はあるが、同時に傷口を広げる可能性も高い)

05:13:43 @mandel59@pleroma.ryusei.dev
icon

自分のコードはマシンが故障したりビットが反転したりしない限り壊れていないのでパニックしません

05:14:14 @mandel59@pleroma.ryusei.dev
2021-01-29 05:13:52 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

バグったまま動き続けるより、「バグです!」と叫んで死んでくれた方が嬉しくない? というお気持ちですね

05:16:15 @mandel59@pleroma.ryusei.dev
icon

まあ、今言ったのは普通に嘘で、自分もプログラム書くときはこういうパニック的な例外送出のコードを書いてます

Attach image
05:17:38 @mandel59@pleroma.ryusei.dev
icon

ただ、ここで throw new RangeError() を書く必要があるのは、JavaScriptだからってのがあって、代数的データ型で網羅性検査があるときは、こういうthrowって要らないですよね

05:18:35 @mandel59@pleroma.ryusei.dev
2021-01-29 05:17:25 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

「狂っていると判断することに期待する」はたぶん捉え方が逆で、「狂っていないことを期待する場所で何かがおかしかったら全てを諦める」というのが私の考えに近い表現ですね。

let a = 42;
let b = a + 1;
assert!(a == 42);

みたいなのがあったとして、この assert で a が 43 になってたらエラーとして復帰したいですか?
私はそんなのナンセンスだと思うので a == 42 でなかったらさっさとクラッシュしてほしいです

05:21:30 @mandel59@pleroma.ryusei.dev
icon

そもそも

let a = 42;
let b = a + 1;
assert!(a == 42);

って例だと、assert文が近すぎて成立することが自明だけど、間にfor文があるとか、関数呼び出しがあるとかだと自明じゃなくなって、そういう時にassertは重要だし、そういう例じゃないと必要性がわからないですよね

05:21:48 @mandel59@pleroma.ryusei.dev
icon

文章能力が一時的に落ちている……

05:23:29 @mandel59@pleroma.ryusei.dev
icon

assert文が投げるパニックと、配列の範囲外アクセスが投げるパニックとで、意味が同じなのか確証がない

05:27:04 @mandel59@pleroma.ryusei.dev
2021-01-29 05:25:12 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

pleroma.ryusei.dev/objects/47d

そういうところ、「ユーザにとっては (間に挟まる for 文などで a が変更されないことが) 明らかだとしてもコンパイラやレビュアーや将来の自分にとってそうだとは限らない」みたいなところで整合性の検査が生きる

05:27:09 @mandel59@pleroma.ryusei.dev
2021-01-29 05:25:51 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

blog.cardina1.red/2019/12/19/d

> また、開発初期にそのような条件が持続することが自明に見えても、コードが膨らんでいくにつれ、間に多くの処理が挟まるかもしれない。 そのとき、追加・変更された全てのコードがまだ先に確認した条件を壊さないと、本当に確信できるだろうか?

05:30:02 @mandel59@pleroma.ryusei.dev
icon

コードを書く時に、将来この部分に追加の記述が入って自明じゃなくなるよなって時にはもちろん書くかもしれないけど、記述が変更されることはなく自明でなくなるかもしれないという不安が生じるまでは書かれることはない

05:30:39 @mandel59@pleroma.ryusei.dev
icon

「記述が変更されることはないことが分かっていて、自明でなくなるかもしれないという不安が生じないのであれば、書かれることはない」

05:33:09 @mandel59@pleroma.ryusei.dev
icon

http://www.taikaisyu.com/00roc/roc-012/11.html

この身に起こる あらゆる事態を想定し その対応策を「設定」した 聡明なる頃の「ワシ」だ

「ワシ」よ! この「ワシ」の声を聴け

聡明なる頃の「ワシ」だ
聡明なる頃の「ワシ」だ
05:34:03 @mandel59@pleroma.ryusei.dev
2021-01-29 05:26:04 orangeの投稿 orange_in_space@mstdn.nere9.help
icon

その例で言うと、狂ってるのは42に1を足す処理の部分か計算機そのもののどちらが狂ってるわけであろうから、その部分をスキップさせてエラーを通知して出来る限り穏便に済ませる処理を書くか、計算機をシャットダウンさせる処理を書くべきかも><
単位がアプリケーションというかプロセスって発想ってモノリシック的かも><

05:34:12 @mandel59@pleroma.ryusei.dev
2021-01-29 05:29:41 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

On Error Resume Next
の話してます?

05:34:15 @mandel59@pleroma.ryusei.dev
2021-01-29 05:32:39 kb10uyの投稿 kb10uy@mstdn.maud.io
icon

ハナっから信用してない部分で裏切られる分にはまあエラーログなりデフォルト値で対処すれば良くて、信用を裏切られたらそれ以上続けようとしたところでろくなことにならないんだからさっさと死のうやという以上の説明を思いつかない

05:37:13 @mandel59@pleroma.ryusei.dev
icon

フェイルセーフ的に到達不可能なpanicを入れるのはともかく、関数をトータルに作ろうとする分には、パニックがないからなー

05:37:44 @mandel59@pleroma.ryusei.dev
icon

プログラムを信頼をしているので、「信頼を裏切られたら」なんてことを考えないし、コードも書かない

05:38:16 @mandel59@pleroma.ryusei.dev
icon

信頼を裏切られることを考えるのと、最初から信頼しないのって、どう違うの

05:41:38 @mandel59@pleroma.ryusei.dev
2021-01-29 05:37:54 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

Panic on semantic error, instead of returning error by lo48576 · Pull Request #31 · saschagrunert/indextree
github.com/saschagrunert/index

というか実例見た方が早いな、これとかが「実装ミスで内部的な整合性が破綻したときエラーを返してユーザに復帰を試みさせるな」のプルリコです

Web site image
Panic on semantic error, instead of returning error by lo48576 · Pull Request #31 · saschagrunert/indextree
05:42:35 @mandel59@pleroma.ryusei.dev
icon

アルゴリズムを書くとき、インバリアントに依存した処理を書くことはよくあることで、それを明示的にコードに書くのは行儀が良いことだといえる

05:43:45 @mandel59@pleroma.ryusei.dev
icon

行儀というか、社会性というか、コミュニケーションの問題というか

05:58:45 @mandel59@pleroma.ryusei.dev
2021-01-29 05:56:11 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

例外は「想定されたエラー (明示的に throw されるもの)」と「本当に誰も想定していなかったエラー (意図せぬ場所から propagate されてきたもの)」が混ざるので、失敗や不整合の表現としてはあまり優れた手段ではないという感覚がある

06:00:52 @mandel59@pleroma.ryusei.dev
icon

例外なんてのは正常系だけざっと書いて動かしたいって時に使うものだってのはあると思う

06:02:24 @mandel59@pleroma.ryusei.dev
icon

一回だけ動かしたいスクリプトで厳密な仕様とか異常系とかあんまり考えないしな(しかしその使い捨てのつもりのスクリプトが本番環境に組み込まれて使われることになる……)

06:03:52 @mandel59@pleroma.ryusei.dev
icon

プログラムを最初からトータルに作ることは考えていない領域というか、パーシャルなプログラムを動かしながら作っていく領域では例外は有用だと思いますよ システムプログラミングはそういう領域ではないけど

06:04:46 @mandel59@pleroma.ryusei.dev
icon

いやまあパニックで十分なんですけど

06:05:01 @mandel59@pleroma.ryusei.dev
icon

本当に必要だった例外としてのパニック

06:07:48 @mandel59@pleroma.ryusei.dev
2021-01-29 06:06:44 tateisu​ :force::r_9a:の投稿 tateisu@mastodon.juggler.jp
icon

Kotlinは検査例外を捨てたよ

06:08:46 @mandel59@pleroma.ryusei.dev
icon

検査例外を使うのかResult型を使うのかというのは理論上は些細な問題のような気がするが……

06:10:52 @mandel59@pleroma.ryusei.dev
2021-01-29 06:09:03 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

C++ の中では仕方なかったと思うけど、 C++ 以外の世界を含めて考えたとき、「起きうるエラーの指定がひたすら面倒」というのは言語デザインとして弱点

06:10:59 @mandel59@pleroma.ryusei.dev
2021-01-29 06:09:46 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

これはそうで、起きうるエラーを (継承以外のヒエラルキーで) どうまとめるかの表現に成功しましたか、失敗しましたか、というのが既存言語の例外の使いづらさの本質だと思う

06:13:55 @mandel59@pleroma.ryusei.dev
2021-01-29 06:12:14 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

噛み合ってない……
私はいつも「(仕様上) 起きえないエラー」をどうするかの話をしていて、例外ハンドリングや「起きうるエラー」からの復帰の話をしているわけではないです

06:15:45 @mandel59@pleroma.ryusei.dev
icon

セマンティクスのすりあわせをしてもらって

06:16:54 @mandel59@pleroma.ryusei.dev
2021-01-29 06:15:48 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

mastodon.cardina1.red/@lo48576

それについてはこれなので……

Web site image
らりお・ザ・何らかの🈗然㊌ソムリエ (@lo48576@mastodon.cardina1.red)
06:17:17 @mandel59@pleroma.ryusei.dev
icon

その論法が認められるなら例外キャッチして復帰してもよくない? みたいにならない?

06:18:09 @mandel59@pleroma.ryusei.dev
icon

整合性がオブジェクトで閉じてるなら、オブジェクトレベルでクラッシュして、他のオブジェクトにクラッシュが波及しないみたいな仕組みでもいいわけじゃん?

06:19:23 @mandel59@pleroma.ryusei.dev
icon

まあ今の技術上は、整合性の境界としてプロセスを考えるのが自然だからプロセス単位でクラッシュさせてるわけだけど

06:19:51 @mandel59@pleroma.ryusei.dev
icon

オブジェクトとプロセスが自然に対応する真のオブジェクト指向が存在しないことが問題

06:28:10 @mandel59@pleroma.ryusei.dev
2021-01-29 06:26:56 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

不整合や仕様外動作に汚染された領域を破棄する手段として通常は文脈の破棄しか用意されていないという話と、仕様外動作を仕様に含んでいるかのように振る舞うことは根本的におかしいというデザインの話が混ざっていたか

06:29:16 @mandel59@pleroma.ryusei.dev
2021-01-29 06:25:15 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

もちろんプロセスより細かく分割することもできて、その場合何か起きたら Result<_, _> なりで実行時エラーとして通知することになるんですが、それって「信用していない」ということなので、信用していないコードのクラッシュに巻き込まれるべきであるという話はしてないです…… (やっぱり「クラッシュ」という言葉がアカン気がしてきた)

06:29:39 @mandel59@pleroma.ryusei.dev
icon

だからやっぱり自他の境界の話なんだよ、これは(雑)

06:38:48 @mandel59@pleroma.ryusei.dev
2021-01-29 06:37:11 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

はい、適切に分割してください。

ただ、その「汚染範囲を小さくする」を誰が行うかの話で、「この変数は、こことここと、この部分に影響してます!」とかいうオプトインな列挙方式でうまく汚染を隔離できると思うなよという思想の話ですね

07:07:26 @mandel59@pleroma.ryusei.dev
2021-01-29 06:57:25 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

なんだよ根本から噛み合ってねえじゃねえか!!!w

07:08:09 @mandel59@pleroma.ryusei.dev
icon

大変そう

07:08:28 @mandel59@pleroma.ryusei.dev
icon

言葉が通じるのに話が通じないってやつ

07:08:50 @mandel59@pleroma.ryusei.dev
icon

人類はみんなコミュ障だし話が通じないのはまあふつうのことだよ

07:22:58 @mandel59@pleroma.ryusei.dev
2021-01-29 07:03:58 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

“実は谷口住職の趣味はプログラミング。約20年前にはインターネット統合アプリケーション「SeaMonkey」の開発プロジェクトに参画していたという。「Mozilla」の日本語パックをほぼ1人で作ったこともある。”

「リモート初詣」で参拝客が130倍に、住職のこだわりと技術力に驚いた(2ページ目) | 日経クロステック(xTECH) xtech.nikkei.com/atcl/nxt/colu

Web site image
「リモート初詣」で参拝客が130倍に、住職のこだわりと技術力に驚いた
07:27:17 @mandel59@pleroma.ryusei.dev
2021-01-29 07:25:58 概念スライサーの投稿 hanage999@mastodon.crazynewworld.net
icon

このアカウントは、notestockで公開設定になっていません。

07:31:23 @mandel59@pleroma.ryusei.dev
2021-01-29 04:55:38 ハンスの投稿 hans@mastodon.crazynewworld.net
icon

このアカウントは、notestockで公開設定になっていません。

07:31:57 @mandel59@pleroma.ryusei.dev
2021-01-29 07:22:09 概念スライサーの投稿 hanage999@mastodon.crazynewworld.net
icon

このアカウントは、notestockで公開設定になっていません。

07:34:32 @mandel59@pleroma.ryusei.dev
icon

うーん

07:45:05 @mandel59@pleroma.ryusei.dev
icon

「意味論って何?」って話、前提が多すぎてうまく説明しづらい 自分もブログに書いてみたことはあるけど、出来にあんまり納得いっていない https://mandel59.hateblo.jp/entry/2016/05/11/002356

Web site image
プログラム意味論の分かりやすい紹介
Web site image
プログラム意味論の分かりやすい紹介
07:45:12 @mandel59@pleroma.ryusei.dev
2019-07-08 02:17:45 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

とにかく、プログラミング言語におけるコードの動作や解釈を規定するのが意味論なわけですが、これが明確に示されていない言語は言ってみれば妄想みたいなものというか、「みんななんとなく常識的に解釈したり自然言語の文書を読んでわかった気になっているけど、数学的な証明とかに使えるような明確な定義が実は存在しない」という若干危うい状態なわけです。
あるいは「唯一の公式処理系である俺が意味論だ!! (意味論だとは言ってない)」みたいな。

07:45:36 @mandel59@pleroma.ryusei.dev
2021-01-29 07:43:51 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

結構意味論の話しててワロてる

07:48:52 @mandel59@pleroma.ryusei.dev
icon

分かりやすく紹介したいってあるけど、分かりやすいか、これ?

07:50:19 @mandel59@pleroma.ryusei.dev
icon

機械語であっても、それが言語である以上、表現に対してその意味するところを考える必要性がある

07:51:01 @mandel59@pleroma.ryusei.dev
icon

「言語である以上」って言ったけど、実際のところは意味を直接考えることに向かず、語用論的に考えるしかない言語というものもあるかもしれないが

07:51:59 @mandel59@pleroma.ryusei.dev
icon

語用論と意味論の境界は、人間の自然言語ならともかく、形式言語とか一般化された記号体系まで含めると、ちょっと微妙かなって思う

07:53:26 @mandel59@pleroma.ryusei.dev
icon

まあ、具体的には、信号機の色が何を意味しているのかと、実際の運転士が信号に応じてどう振る舞っているのかというのは別の話なので、そこが意味論と語用論の違いになるんだろうけど

07:55:42 @mandel59@pleroma.ryusei.dev
2021-01-29 07:55:18 まちカドおるみん御嬢様の投稿 orumin@mstdn.maud.io
icon

床井先生の GLUT のページ、いつのまにか GitHub Pages になっててわろた

08:32:57 @mandel59@pleroma.ryusei.dev
2021-01-29 08:28:44 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

そういえばプログラミング言語の文脈だとそもそも意味論 (semantics) という用語自体が多義的でアレな面は確かにあるなぁ。
特定のプログラムについて定義される挙動や解釈自体も「意味論」と呼ばれるし、それら個々のプログラムの挙動や解釈を規定する一連のルール群 (つまりプログラミング言語の仕様の一部) もまた「意味論」と呼ばれる