スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
探検
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2022/04/17(日) 17:52:35.38ID:KG26dcth985デフォルトの名無しさん
2022/06/20(月) 21:50:35.85ID:lr2wAV+c 引数の型が違うだけならジェネリクスでいいし、ジェネリクスで表現できないような
引数の違いがあるような場合はそもそも同じ関数名にすべきじゃないような気がする。
オーバーロードいらないよな。
引数の違いがあるような場合はそもそも同じ関数名にすべきじゃないような気がする。
オーバーロードいらないよな。
986デフォルトの名無しさん
2022/06/20(月) 22:04:20.07ID:j7veV6LL せいぜい意味不明なワードがくっついた似たり寄ったりの関数を大量に作ってくれよ
987デフォルトの名無しさん
2022/06/20(月) 22:09:55.02ID:xRbFgwNB >>984
なるほどそういう意味か
イミュータブルとムーブがデフォルトだとシャドーイングNGだと命名負荷が高くなりすぎるのよ
オーバーロードやデフォルト引数/オプション引数ないとメソッドの命名負荷が高くなるのと似てる
なるほどそういう意味か
イミュータブルとムーブがデフォルトだとシャドーイングNGだと命名負荷が高くなりすぎるのよ
オーバーロードやデフォルト引数/オプション引数ないとメソッドの命名負荷が高くなるのと似てる
988デフォルトの名無しさん
2022/06/20(月) 22:17:07.52ID:G0GSIi1k989デフォルトの名無しさん
2022/06/20(月) 22:26:34.16ID:GOjINbNj >>982
効果が真逆という結論のようです
> シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果
> オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果
確かにシャドーイングが出来ない言語では例えば
price_str = "398"
price_int = int(price_str)
とするかミスを生みやすい動的型付けで同じ変数名priceに入れるようです
シャドーイングがいかに優れているかよくわかりますね
効果が真逆という結論のようです
> シャドーイングは同時に存在できるのが一つだけで曖昧さがなくプログラミングにおいてプラス効果
> オーバーロードは同時に異なるものが存在できるため可読性を下げたりミスを起こす機会を生じさせてマイナス効果
確かにシャドーイングが出来ない言語では例えば
price_str = "398"
price_int = int(price_str)
とするかミスを生みやすい動的型付けで同じ変数名priceに入れるようです
シャドーイングがいかに優れているかよくわかりますね
990デフォルトの名無しさん
2022/06/20(月) 22:30:15.50ID:j7veV6LL 書き込みする前に読み返したか?
ふわっふわしてるぞ
ふわっふわしてるぞ
991デフォルトの名無しさん
2022/06/20(月) 22:36:51.94ID:j7veV6LL Rsutは関数オーバーロードがないから
int(price_str)できない
int(price_str)できない
992デフォルトの名無しさん
2022/06/20(月) 22:44:52.02ID:d/VymnYf993デフォルトの名無しさん
2022/06/20(月) 22:52:38.23ID:j7veV6LL Rustは同様に abs(x)ができない
他の言語ではmath.abs()とかにある
x.abs()と言う不思議な感じになる
-1_i32.abs()
は -1になる変な言語
他の言語ではmath.abs()とかにある
x.abs()と言う不思議な感じになる
-1_i32.abs()
は -1になる変な言語
994デフォルトの名無しさん
2022/06/20(月) 22:54:18.35ID:GOjINbNj >>991
Rustではintが多数あるため
let s = "98765";
let a: i32 = s.parse()?;
let b: u64 = s.parse()?;
となります
どちらも同じメソッドparse()で大丈夫です
あなたが使っている言語では多数のint毎に別々の変換用の関数があるのですか?
Rustではintが多数あるため
let s = "98765";
let a: i32 = s.parse()?;
let b: u64 = s.parse()?;
となります
どちらも同じメソッドparse()で大丈夫です
あなたが使っている言語では多数のint毎に別々の変換用の関数があるのですか?
995デフォルトの名無しさん
2022/06/20(月) 22:55:48.87ID:j7veV6LL996デフォルトの名無しさん
2022/06/20(月) 22:59:31.50ID:bmv2finQ997デフォルトの名無しさん
2022/06/20(月) 22:59:45.45ID:4VWLMq9p >>993
i32::abs(-1)
i32::abs(-1)
998デフォルトの名無しさん
2022/06/20(月) 23:01:03.11ID:j7veV6LL parseは多分ジェネリック実装されてて戻り値の推定からジェネリック型決めてるんだろ?
そっちのほうが不気味
そのparseだってどうせトレイトで実装してんだろ?
そっちのほうが不気味
そのparseだってどうせトレイトで実装してんだろ?
999デフォルトの名無しさん
2022/06/20(月) 23:02:42.38ID:MklghZCY >>985
ジェネリクスはまた別物だろ。
ライブラリ無いからシステムコール利用する機能を提供しようとする。
例えば socket(2)でいいわ。
第3引数なんて使うことないからと第2引数までを取るAPIとして公開、後になって第3引数必要になった(例えばSCTP利用)ってなった場合、オーバーロードできないとAPI変える必要あるじゃん。
ジェネリクスはまた別物だろ。
ライブラリ無いからシステムコール利用する機能を提供しようとする。
例えば socket(2)でいいわ。
第3引数なんて使うことないからと第2引数までを取るAPIとして公開、後になって第3引数必要になった(例えばSCTP利用)ってなった場合、オーバーロードできないとAPI変える必要あるじゃん。
1000デフォルトの名無しさん
2022/06/20(月) 23:03:17.12ID:j7veV6LL10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 64日 5時間 10分 42秒
新しいスレッドを立ててください。
life time: 64日 5時間 10分 42秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- コメ「余っている」年明けに下落も? 大量の在庫が倉庫を圧迫、赤字の恐れ…業者「値下げするしか…」 ★2 [Hitzeschleier★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論逆ギレ、ごめんなさいと言えない国情 [七波羅探題★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 村上佳菜子『ネプリーグ』で“放送事故級”の言い間違い [ひかり★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 [鉄チーズ烏★]
- 上野動物園のパンダのために22億円で作った『パンダの森』たった5年でゴミへwwwwwwwwwwww [271912485]
- 【緊急】朝倉未来のブレイキングダウンで不意打ち食らって失神した選手、くも膜下出血で死亡 [455031798]
- 大企業「俺たちパワポ作ってるから派遣くん全部作っておいて」俺「はい」俺「定年です」大企業「製造のノウハウがなくなったのだが」高市 [517791167]
- 【速報】「ハゲ」、来月から放送禁止用語へ。代替表現は「ナチュラル」で統一 [347751896]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 日本、ガチで終焉。資材高騰と人手不足で全国各地で再開発ストップwwwwwwwwwwwwwwwww [271912485]
