1 名前:デフォルトの名無しさん [2022/04/17(日) 17:52:35.38 ID:KG26dcth.net] スレタイ(順番はRedMonk準拠)以外の言語もok 前スレ 次世代言語24 Go Nim Rust Swift Kotlin TypeScript https://mevius.5ch.net/test/read.cgi/tech/1647887021/
906 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 10:59:53.21 ID:W1b6m0i9.net] デフォルト引数はあったほうがいい 究極的にはPythonみたいに書けるC言語が欲しい それを目指したのがおそらくGoだと思うが
907 名前:デフォルトの名無しさん [2022/06/18(土) 11:19:30.38 ID:56BPbiHd.net] cpythonでええやん
908 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 11:24:27.43 ID:ZQWHh7s0.net] >>891 あのゴミみたいなsyntaxで目指してるとか鼻で笑うで
909 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:11:06.20 ID:i5hxcodT.net] >>891 Goには当然デフォルト引数は無い あと、GoはPythonとは真逆の思想
910 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:28:29.18 ID:1P56+GFt.net] Kotlinみたいにサポートしてほしい
911 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:37:40.53 ID:n5ZvcUIJ.net] RustもGoも標準ライブラリが良くない 気持ち悪い
912 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:41:20.81 ID:n5ZvcUIJ.net] >>889 欠陥言語なんてものはそもそもほとんどない デフォルト引数は新言語に人気が出てくると確実に要望が出てくる いつかは実装される 実装できる余地がある言語はいいけど言語仕様上実装不可な場合はどうしようもない
913 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:46:26.67 ID:pOm9NLXW.net] >>889 ある言語が他の言語に比べて劣っている部分があるということと その言語が欠陥言語かどうかは全く別の問題 もう少し論理的に物事を考えよう
914 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 12:52:00.37 ID:n5ZvcUIJ.net] Rsutは意味不明なんだよな struct初期化で名前指定して初期値入れてるのにデフォルト実装や名前付き引数がない 不思議
915 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:00:28.27 ID:7x85yRDf.net] Rustはソースコード上の情報多くしたい感じだからデフォルト引数は入らなさそう ソースコードの見た目をすっきりさせたいなら素直にPythonとか使うのがいいかと
916 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:08:33.19 ID:n5ZvcUIJ.net] デフォルト引数もなく関数オーバーロードがないから謎の関数がぼこぼこ増えるんだろうな ○○ ○○_with_XX ○○_by_YY みたいに
917 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:15:01.13 ID:n5ZvcUIJ.net] 言語を作った人間がデフォルト引数絶対に入れない!って言ってても その人が一線から引いて他の開発メンバーに任されたら速攻で入る
918 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:42:57.17 ID:7x85yRDf.net] Rustはすでに作った人は居なくなってるし 仕様決めるのも多数決とかじゃなく意見が割れるようなのは入らないからな コミュニティ全体が入れる空気にならない限り無理
919 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 13:44:38.50 ID:n5ZvcUIJ.net] 新しい元老院の出来上がりか
920 名前:デフォルトの名無しさん [2022/06/18(土) 13:57:51.20 ID:0HZmI7WS.net] Rustは複雑な引数はstructで渡しなさいという考えだから その方法の一つがビルダーパターンだけど、structとDefaultを組み合わせたほうが個人的には好き
921 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:03:46.44 ID:1P56+GFt.net] ..Default::default() にシンタックスシュガーあって短く書ければいいんだけど
922 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:46:02.16 ID:W1b6m0i9.net] 引数爆発の解決のアプローチはいろいろあるわな だがキーワード引数があったほうが爆発したときに楽なんだがな GoやRust的には構造体使えってことか
923 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:55:32.45 ID:vtBUlFGw.net] >>899 デフォルトは作ればあるよ オプション引数の代替策の一つとしても使える
924 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 14:56:30.79 ID:vtBUlFGw.net] あ、ガイシュツだった
925 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 17:55:33.35 ID:+lle12+G.net] >>903 >>902 Rustでは不可欠な機能が着実に次々と実現されていっており それら全て状況も議論も全てオープンに行われている 互換性、安全性、関連する影響がないことなど全て満たす必要があるためどの案件も時間がかかるが信頼できて安心できる 関数の引数の諸々の件も長くオープンに議論され続けているが様々な諸問題がでておりそれらを解決しうる仕様がまだ出来上がらずかなり先になるだろう そして色々な代替手段があるためこれを必須として現実に困っている人がいない問題でもある
926 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 18:43:27.93 ID:ZQWHh7s0.net] >>903 なんや、既に崩壊してる言語なのか ざまあねえな
927 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:21:21.77 ID:W1b6m0i9.net] Rustって創始者いないのなんでなの?
928 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:27:03.11 ID:1ZLmOyHM.net] >>912 創始者が抜けたのはバーンアウトしたかららしい
929 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:56:43.48 ID:ZQWHh7s0.net] >>912 修復不可能なデザインバグを見つけてしまったから逃げたんだろう
930 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:01:24.70 ID:9K3tt+Ez.net] Mozilla関係の組織っておんも歩けないような人が多いよね まともな人から辞めていくんだろうか
931 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:14:49.20 ID:ApP/hHwA.net] 燃え尽きて去ったRustの創造者はいまはどこで何をしているんだ? まさか、googleでGoしているってことないよな
932 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:18:43.54 ID:1P56+GFt.net] AppleでSwiftの開発をしてるらしいぞ
933 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:30:46.91 ID:aTjkq+5e.net] >>910 Rustコミュニティがオープンだとは全然思えない。async-stdとtokioなんか正にそう
934 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:40:14.11 ID:ZQWHh7s0.net] >>917 やっぱゴミはゴミに惹かれるんやね XウンコードとかいうゴミゴミのゴミIDEバンドルのゴミに惹かれるなんて やっぱゴミ
935 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:40:52.91 ID:n5ZvcUIJ.net] c++の規格団体がクソだったのと大して変わらない
936 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:46:04.24 ID:n5ZvcUIJ.net] >>910 apple信者の人たちと大して変わらんなw androidにしかない機能があっても必要ない、問題ない、困ってないと言い放つが実装されると大騒ぎして喜び 誇らしげに自慢する 何週遅れてんだよと
937 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:07:12.04 ID:G0PSkUdv.net] 全て状況も議論も全てオープンに行われていればまあこんな事になる
938 名前:けがないよなww 「The entire moderation team resigns, effective immediately. This resignation is done in protest of the Core Team placing themselves unaccountable to anyone but themselves.」 https://github.com/rust-lang/team/pull/671 [] [ここ壊れてます]
939 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:10:24.45 ID:FdDF61RI.net] >>921 気持ち悪いRust信者はこの板に1人いるだけだぞ 通称複オジこと、はちみつオジ
940 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:20:50.21 ID:ApP/hHwA.net] >>917 おいおい、ほんとなのか。 優秀な奴だろうからどっかが雇っているだろうと思っていたが。 appleならMozillaより激好待遇だろうな
941 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 21:36:02.59 ID:ZQWHh7s0.net] >>923 Qiitaで若者に嫉妬したりエアプRust信者したり大変だな
942 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:53:12 ID:WzwwMm2M.net] コミュニティの意見に向き合うのは難しい問題で、どの言語でも同じ Rust Foundationとか、Kotlin Foundationとか、コミュニティ向けに組織体制をちゃんとする努力があるだけマシだといつも思う
943 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:56:08 ID:eg6b2Ems.net] スタバマックくんw
944 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 23:36:58.06 ID:WzwwMm2M.net] そして批判の声が見当たらないコミュニティは逆に危険 ユーザーは意見を述べるモチベーションがなかったり、意見を聞き届ける環境すら整えられていない 言い換えるとカルト。
945 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:20:26.22 ID:Mk9KDawR.net] >>926 なんちゃらファウンデーションなんてそれはコミュニティに向き合うとか組織体制がちゃんとする努力をしているとは違う。後ろにスポンサーがいるかどうかが違うだけ 得てしてプラス面もあるが多くは大企業の意見がよく通る
946 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 00:58:59.69 ID:61bWOpc5.net] >>929 どの言語のコミュニティが理想だと思う?
947 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 02:05:01.40 ID:kfPGjv4I.net] なんだその質問ww
948 名前:デフォルトの名無しさん [2022/06/19(日) 02:09:16.77 ID:6XdwO9QI.net] ジャップは10年遅れでPython受け入れだしたからな Juliaも10年は遅れるよ バカなジャップだから
949 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 05:40:31.85 ID:SdXdUMni.net] Julia流行の隆盛とともに死すナムー(-人-) 今はJuliaとか言って、もう少し経ったらの言語マンセーするくせにさ
950 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 07:28:14.73 ID:YnIsF6Qk.net] 10年後にジャップランド土人村が残ってるかも疑わしい
951 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:42:08.66 ID:+2WAsQm8.net] 何で突然ジャップとか言い出した?選挙が近いから?
952 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:57:40.03 ID:KAsrUTco.net] >>934 ってどこの国の人なんやろな なんかウンコのにおいしてるけどw
953 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:15:25.21 ID:YnIsF6Qk.net] 今の日本の体たらくはジャップランド土人村と呼ぶにふさわしいよ 未だに「日本サイコー!」とか言ってる奴らの方がどうかしてる
954 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:30:27.88 ID:2cctUuao.net] 声の大きいクソユーザーのせいで言語がどんどん変わっていくC#
955 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 10:55:12.05 ID:KAsrUTco.net] >>938 具体的にはどういうとこ? 俺は最初からC#ダサいと思ってたけど
956 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:04:07.37 ID:PZvlYDex.net] >>939 具体的にダサいところあげてくれ ついでにダサくない言語も教えてくれ
957 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:07:05.21 ID:C4wP3ian.net] 単純にMicrosoftのソフトウェア開発能力がめちゃくちゃ高いからどんどん変わっていけてるだけだぞ 昔から巨大ソフトウェアをずっとたくさん作り続けてるだけあるよ 他の言語だってリソースさえあればあれもこれもやりたい、って言ってるのたくさんあるじゃん
958 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:11:04.94 ID:2cctUuao.net] 言語仕様が使いもしないパターンマッチよりにどんどん変わってる 学習コストが上がるだけなのに if (x is { Name.Length: 1 }) { Console.WriteLine("single-char Name"); }
959 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:13:34.22 ID:KAsrUTco.net] >>942 へーそうなん サンクスコ
960 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:15:07.77 ID:2cctUuao.net] x is { Name.Length: 1 } これが何を指しているか直観的にわかるように思えて実際は違っている
961 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:07:02.40 ID:Mk9KDawR.net] MicrosoftはTeamsのアップデートしすぎ、ほぼ毎日バージョンが変わる。マジで勘弁してほしい
962 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:32:37.74 ID:YdsUdLcR.net] C#は場当たり的に糖衣構文追加するもんだから BNFがとんでもない長さになってるな ここまで言語仕様汚くなった言語他に無いんじゃね?
963 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 13:39:49.73 ID:MGBoiv+i.net] さすがに C++ Perl Ruby には敵わないだろ
964 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:13:50.73 ID:vUT9u2r3.net] >>944 具体的に他の言語で書くとどういう記述に相当するもの?
965 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:16:23.55 ID:61bWOpc5.net] BNFで構文表現できてる時点で綺麗だよね
966 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:21:29.08 ID:Db+21BxG.net] BNFで表現できない文法はやめてくれ
967 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 14:37:30.12 ID:XPOA14Ne.net] >>947 Rubyは意外にシンプル
968 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:16:16.80 ID:YnIsF6Qk.net] >>951 シンプルでなくイージー 型無し糞言語代表だろ
969 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:23:17.11 ID:T+HLe5Kk.net] rubyに型がないとかw 恥を知れ恥を
970 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:07:15.35 ID:SjAidwyp.net] 恥を知れ恥をって一番恥ずかしい煽りだよな
971 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:08:50.63 ID:2cctUuao.net] 他の言語の定型文をそのまま日本語に持ってくるからそうなる 富士山は日本で一番高い山の一つですは誤訳
972 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:06:45.19 ID:VFAsiM2X.net] Rubyはスクリプト言語にしてはPythonに比べ型は厳格だが、なんにでもなれるメソッドなかったっけ?
973 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:28:00.46 ID:8/kH/R2d.net] #method_missing
974 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:03:09.79 ID:7+wjkIp4.net] >>952 型無し言語って何?
975 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:17:32.20 ID:G0GSIi1k.net] シェルスクリプトやアセンブリのことです
976 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 12:59:21.71 ID:EbOcYieG.net] シェルスクリプトにも変数の型はあるしアセンブリもレジストリの種類は意識しないといけない
977 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:09:02.41 ID:rr2OcjMu.net] 型なし言語って、誤用でしか用例を聞いた覚えがないけど、型なし言語とかいう用語はあるの? 文脈からして何を言いたいかはわかるんだけど
978 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:09:53.23 ID:rr2OcjMu.net] 値に型がない言語のことを型なし言語、って呼ぶのは正しいの?
979 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:52:48.64 ID:6L0FdSjR.net] 型無し言語じゃない 型無し糞言語だ 間違えるな痴れ者が 型無し糞言語3兄弟といえばRuby、PHP、Perl 業界の常識 未だこれ使ってる時代遅れのバカ老害どもは首吊って死んでええぞ
980 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 13:55:02.11 ID:4VWLMq9p.net] >>961 https://ja.wikipedia.org/wiki/%E5%9E%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0#%E5%9E%8B%E3%81%AA%E3%81%97 型付けを更に厳密に定義した区分として型なし(英: untyped)という区分が存在する。 代表的な言語としてはSmalltalk[7]、BCPL、B言語、アセンブリ言語などがある。 Smalltalkでは高速化のため処理系依存で実行時に型検査することがあるものの言語的には型検査がなく、 動的型付け言語のように文字列に割り算をするといった不正な操作をしても処理系が型検査して停止する事は無い。 BCPL、B言語、アセンブリ言語などオブジェクト指向とは関係なく型を持たない言語では、 ハードウェアのワード長に依存した1種類の型のみを持つか、 言語を使う側でデータを参照するときにデータ幅や種類の解釈を決定することとなる。
981 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:10:59.58 ID:G0GSIi1k.net] >>960 bashのdeclareについては一旦忘れていただく方向でお願いします
982 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:23:54.46 ID:rr2OcjMu.net] >>964 ほんまや Brainfuckとかみたいな難解言語もだいたいuntypedかな
983 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 14:32:59.17 ID:njNeMAGl.net] >>963 が言っている型無し言語とは、一つの変数がいろいろな型の値を束縛できるってこと?
984 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:16:39.40 ID:gnE/PDYV.net] untypedは基本的にdynamically typedのこと アカデミック用語で実務者用語ではない 実務者が型なし言語と呼ぶのはtypeless languagesのこと 現代において動的型付け言語を型なし言語と呼ぶのは明らかな間違い
985 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:39:41.45 ID:rr2OcjMu.net] >>968 > untypedは基本的にdynamically typedのこと 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。
986 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 15:54:46.01 ID:4VWLMq9p.net] 型付けなんてプログラマにとっては基本の基本で おろそかにしていいものではないから > 型無し糞言語3兄弟といえばRuby、PHP、Perl これがいかにド素人で無教養で恥知らずな発言かは お分かりいただけてると思う
987 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 16:28:03.20 ID:G0GSIi1k.net] 複おじ怒りのマジレス
988 名前:デフォルトの名無しさん [2022/06/20(月) 18:29:27.28 ID:1agQsnkM.net] >>901 これがちょっと辛いんだよな。
989 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 18:53:41.48 ID:BnXOM/sm.net] 型無し言語と言えば型無しラムダ計算だろ。
990 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:04:42.99 ID:hXDnNrPc.net] 次スレ(リニューアル) Era 26 コンセプトは、現状の漠然とした実質未来最強言語決定戦という誰も得しない未来トレンドの断定を避けて、 次世代言語はまだ存在しない仮説を使って建設的な言語仕様の検討を促すことです。
991 名前:デフォルトの名無しさん [2022/06/20(月) 19:05:46.77 ID:hXDnNrPc.net] https://mevius.5ch.net/test/read.cgi/tech/1655719441/l50 ↑次スレのリンクです。もし興味があればどうぞ。 (一定数いる最強言語決定戦を続けたい層には不向きかもしれないので、 棲み分けなどに、もし良いアイデアがあればどうぞご自由になさいませ。)
992 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:24:15.90 ID:cgMFd80D.net] そういうのGitHubでやったほうがいいよ
993 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 19:52:16.37 ID:E2oosySA.net] >>972 今どきの言語ならそんなことは起きないんじゃないかな 例えばRustの標準ライブラリには同名のreplace()という関数が10個もあるけど (1) まず名前空間が分かれている 例えば str::replace() や Option::replace() など (2) 次にメソッドの場合は名前空間を明示する必要がない 例えば let s = "価格: 123円"; という文字列に対してはstr::を付けずに s.replace("価格", "値段"); // → "値段: 123円" (3) 更にジェネリックな引数も取れる 例えば文字列""ではなく文字''も指定可能 s.replace('円', "万円"); // → "価格: 123万円", 文字判定関数を指定することも可能 s.replace(char::is_numeric, "*"); // → "価格: ***円" このように様々な対象に対して様々な引数で用いられていても 同名のreplace()で曖昧になることもなくそれぞれを使うことができる 昔のように長い関数名を付けずに済むようになっている
994 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:07:59.34 ID:8GsqMDfw.net] 次スレ立てるのはもうそろそろかな
995 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 20:46:13.10 ID:6L0FdSjR.net] >>975 アスペっぽい ガイジ
996 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:02:14.54 ID:Hg6hQLhP.net] >>963 ガイジ乙!
997 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:08:22.86 ID:mSfgS0Wr.net] >>977 3つともオーバーロードやデフォルト引数はほぼ関係ない話じゃん 3つめがかろうじてオーバーロードに引っかかってはいるが論点が違う
998 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:24:31.48 ID:j7veV6LL.net] シャドーイングがOKで関数オーバーロードがNGって普通は逆じゃね?
999 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:29:29.90 ID:ofPdKV5n.net] >>982 その2つがどう関係あるのか説明してくれ
1000 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:39:32.57 ID:j7veV6LL.net] シャドーイング 同じ変数名で実際は完全に別物 関数オーバーロード 同じ関数名で引数が違う でも普通は同じ働き
1001 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 21:50:35.85 ID:lr2wAV+c.net] 引数の型が違うだけならジェネリクスでいいし、ジェネリクスで表現できないような 引数の違いがあるような場合はそもそも同じ関数名にすべきじゃないような気がする。 オーバーロードいらないよな。
1002 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:04:20.07 ID:j7veV6LL.net] せいぜい意味不明なワードがくっついた似たり寄ったりの関数を大量に作ってくれよ
1003 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:09:55.02 ID:xRbFgwNB.net] >>984 なるほどそういう意味か イミュータブルとムーブがデフォルトだとシャドーイングNGだと命名負荷が高くなりすぎるのよ オーバーロードやデフォルト引数/オプション引数ないとメソッドの命名負荷が高くなるのと似てる
1004 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:17:07.52 ID:G0GSIi1k.net] >>982 C++/Java/C#書いてる脳だとまあすんなり同意するけど OCamlだのHaskellだの書いてる脳で読むと「お前の普通なんか知らねーよ」って感じだな
1005 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:26:34.16 ID:GOjINbNj.net] >>982 効果が真逆という結論のようです > シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果 > オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果 確かにシャドーイングが出来ない言語では例えば price_str = "398" price_int = int(price_str) とするかミスを生みやすい動的型付けで同じ変数名priceに入れるようです シャドーイングがいかに優れているかよくわかりますね
1006 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:30:15.50 ID:j7veV6LL.net] 書き込みする前に読み返したか? ふわっふわしてるぞ
1007 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:36:51.94 ID:j7veV6LL.net] Rsutは関数オーバーロードがないから int(price_str)できない
1008 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:44:52.02 ID:d/VymnYf.net] >>991 そういう時にメソッドではない不要なグローバル関数を設けるプログラミング言語は時代遅れ もしstrに対してintに変換する関数int()を用意するならばstrのメソッドとして用意する 君には>>977 を読み直すことを勧める
1009 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:52:38.23 ID:j7veV6LL.net] Rustは同様に abs(x)ができない 他の言語ではmath.abs()とかにある x.abs()と言う不思議な感じになる -1_i32.abs() は -1になる変な言語
1010 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:54:18.35 ID:GOjINbNj.net] >>991 Rustではintが多数あるため let s = "98765"; let a: i32 = s.parse()?; let b: u64 = s.parse()?; となります どちらも同じメソッドparse()で大丈夫です あなたが使っている言語では多数のint毎に別々の変換用の関数があるのですか?
1011 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:55:48.87 ID:j7veV6LL.net] >>994 出た 愚者の?
1012 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:59:31.50 ID:bmv2finQ.net] >>993 >int(price_str)できない >Rustは同様に abs(x)ができない それはどっちもできるよ
1013 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 22:59:45.45 ID:4VWLMq9p.net] >>993 i32::abs(-1)
1014 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 23:01:03.11 ID:j7veV6LL.net] parseは多分ジェネリック実装されてて戻り値の推定からジェネリック型決めてるんだろ? そっちのほうが不気味 そのparseだってどうせトレイトで実装してんだろ?
1015 名前:デフォルトの名無しさん [2022/06/20(月) 23:02:42.38 ID:MklghZCY.net] >>985 ジェネリクスはまた別物だろ。 ライブラリ無いからシステムコール利用する機能を提供しようとする。 例えば socket(2)でいいわ。 第3引数なんて使うことないからと第2引数までを取るAPIとして公開、後になって第3引数必要になった(例えばSCTP利用)ってなった場合、オーバーロードできないとAPI変える必要あるじゃん。
1016 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 23:03:17.12 ID:j7veV6LL.net] >>996-997 それは実質fabs()と変わらない
1017 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 64日 5時間 10分 42秒
1018 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています