プログラミングにおいて数値型以外を扱う関数も「関数」と呼ばれる理由

サムネイル
1 : 2022/12/15(木) 00:09:34.726 ID:o2wzoyIVd
内部的には2進数だからか?
2 : 2022/12/15(木) 00:10:29.122 ID:o2wzoyIVd
数学では写像だろ?
3 : 2022/12/15(木) 00:12:25.170 ID:zhits8tqM
返り値が配列で長さが不定だったりvoidなのも関数っぽくないな
6 : 2022/12/15(木) 00:13:44.329 ID:o2wzoyIVd
>>3
確かに返り値無い関数って写像ですらないな
4 : 2022/12/15(木) 00:12:25.570 ID:r3hhdl4f0
何故なら数学ではないからですね
5 : 2022/12/15(木) 00:13:35.563 ID:ne7BG7gNd
英語はfunctionなのに
7 : 2022/12/15(木) 00:16:57.606 ID:52hXuw1z0
写像だったら、引数に対して特定の値が返ってこないとおかしくない?
ランダム数値返す関数だと写像になる?
8 : 2022/12/15(木) 00:17:56.491 ID:r3hhdl4f0
>>7
純粋関数型言語だとそう
9 : 2022/12/15(木) 00:20:13.962 ID:o2wzoyIVd
>>7
暗黙的に時刻データも引数にしてると解釈すれば写像だけど、そういう屁理屈が許されるなら2進数だから関数ってことでもよくなるか
12 : 2022/12/15(木) 00:27:05.588 ID:mPNOgVQg0
>>9
写像の解釈を広く取ることには違和感がないが
変数の解釈を低レベルにこじつけるのは高水準言語に相応しくない
13 : 2022/12/15(木) 00:28:44.256 ID:1Qsugujtd
>>12
まあ高級言語を扱うときに2進数とか意識する場面は少ないしな
17 : 2022/12/15(木) 00:31:51.854 ID:r3hhdl4f0
>>13
ビット演算はよく使うけどね
10 : 2022/12/15(木) 00:23:49.635 ID:mPNOgVQg0
作った側の人間が数学わかってなかったんだろうな
もうFunction/関数は定着してしまって覆せそうにない
一応戻り値がないものをActionとしている言語はある
11 : 2022/12/15(木) 00:26:01.574 ID:1Qsugujtd
>>10
ただ返り値のあるなしで呼び分けるというのも冗長だったりするのかな
14 : 2022/12/15(木) 00:29:09.926 ID:mPNOgVQg0
>>11
冗長ではない
コールバックを区別できるんで便利
15 : 2022/12/15(木) 00:29:20.854 ID:vqVwevkB0
値を返さない関数はない

函数は何かを入れるとなにかに変化させて(あるいは変化させないで)返すもの

以降の発展型の言語で
それを拡張していっただけ

19 : 2022/12/15(木) 00:34:15.948 ID:mPNOgVQg0
>>15
数学にも(関数の)きちんとした定義は無かったと認識しているが
「何かを入れるとなにかに変化」のは写像で
基本的に「数を入れると数に変化」させるのが関数
16 : 2022/12/15(木) 00:30:25.424 ID:pLSr/R4G0
納得できないならダミーの返り値を用意してもいいしあまり意味のある区別じゃないと思う
本来は計算手段だったのがその計算過程の動きに目的が移ってしまっただけの話で
18 : 2022/12/15(木) 00:32:50.271 ID:pLSr/R4G0
機能に区別があるんじゃなく呼び出す目的に区別がある
それは曖昧で区別が難しい状況もあるから全部関数でええやろって話でしょ
21 : 2022/12/15(木) 00:39:46.541 ID:mPNOgVQg0
>>18
全部写像としておけば何も問題なかった

まあこういう変な使われ方ってプログラミングに限らず色々な分野である気がするけど

20 : 2022/12/15(木) 00:35:29.223 ID:vqVwevkB0
函数の元はfunction=機能だろ
それだけで説明つくじゃん
22 : 2022/12/15(木) 00:44:08.960 ID:A8zVJ4wi0
写像は論理集合で関数は代数学だろ
23 : 2022/12/15(木) 00:45:04.328 ID:KLT3IqCA0
値返しとポインタ返し
24 : 2022/12/15(木) 00:46:02.937 ID:A8zVJ4wi0
そもそも代数学においても変数が数値でなきゃならないなんて決まってないぞ
25 : 2022/12/15(木) 00:46:39.272 ID:BK0Ic0780
「コマンド」とかの方がプログラミングっぽい感じはするな
26 : 2022/12/15(木) 00:46:39.489 ID:A8zVJ4wi0
このスレ全部無意味でワロタ
28 : 2022/12/15(木) 00:47:38.028 ID:r3hhdl4f0
>>26
意味のない雑談をするのがこの板んだ
27 : 2022/12/15(木) 00:47:12.500 ID:A8zVJ4wi0
問題提起も議論もすべて見当違いの無為の具現でワロタ
29 : 2022/12/15(木) 00:47:43.268 ID:KLT3IqCA0
だって文字型とか言っても8ビットの数値型と同じだし
31 : 2022/12/15(木) 00:48:17.872 ID:A8zVJ4wi0
>>29
それはそういう実装が多いというだけ既定はされてないぞ
30 : 2022/12/15(木) 00:48:15.922 ID:Aq9IobGcM
水を差すバカが一番いらねえぞVIPには
32 : 2022/12/15(木) 00:49:03.433 ID:pLSr/R4G0
プログラムは値を返して終わる計算ツールのはずなのにループさせてゲームとか作ってんだからもう本来の意味とかどうでもいい
34 : 2022/12/15(木) 00:52:32.516 ID:mPNOgVQg0
言葉の使い方が怪しいせいで命名に困ることが割とあるんだよね

引用元:https://mi.5ch.net/test/read.cgi/news4vip/1671030574

コメント

タイトルとURLをコピーしました