スレタイ(順番は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
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/04/17(日) 17:52:35.38ID:KG26dcth541デフォルトの名無しさん
2022/05/15(日) 09:50:12.91ID:C1KM65Ry 自分がすごくプログラミングが出来る自負があるから、コンパイラに怒られるとプライドが傷つくから嫌だって言ってるようにも見える
542デフォルトの名無しさん
2022/05/15(日) 09:52:43.88ID:lixSo2ZB ひろゆきは賢いからコンパイラは余計なことを小うるさく言わんでいいって感じ?
543デフォルトの名無しさん
2022/05/15(日) 09:52:58.51ID:WKOj7Eq4 自意識過剰で被害妄想だな
コンパイラは怒ってるのではなくて指摘してるだけ
コンパイラは怒ってるのではなくて指摘してるだけ
544デフォルトの名無しさん
2022/05/15(日) 10:06:42.86ID:6dsDjrbs The compiler is your friend
545デフォルトの名無しさん
2022/05/15(日) 10:31:50.86ID:C1KM65Ry Rustのコンパイラに怒られるってことは所有権のシステムとかが全然理解できてないんだと思う
前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな
前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな
546デフォルトの名無しさん
2022/05/15(日) 10:45:11.53ID:duXfvT8B >>542
「ゆき ひろ」なw
「ゆき ひろ」なw
547デフォルトの名無しさん
2022/05/15(日) 11:08:18.85ID:68DnPwxB 人間の理解を超えたところから怒られるのは違うかなと
それってプログラムなのか?
それってプログラムなのか?
548デフォルトの名無しさん
2022/05/15(日) 11:12:52.72ID:68DnPwxB 囲碁や将棋はもうAIの方がかなり上に行っちゃって誰もAIに勝てない
プロも含めてAIの手を研究してるけど理解できないのがかなりある
それを意味も分からずただなぞって指してる人もいる
プログラムはそのレベルじゃないけどそういうものに近づいてる
プロも含めてAIの手を研究してるけど理解できないのがかなりある
それを意味も分からずただなぞって指してる人もいる
プログラムはそのレベルじゃないけどそういうものに近づいてる
549デフォルトの名無しさん
2022/05/15(日) 11:25:25.72ID:+6kSxcdv デバッグ含めた開発効率の良さを考えると可能な限りコンパイル時に怒って欲しいかな
コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない
コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない
550デフォルトの名無しさん
2022/05/15(日) 11:45:48.58ID:cL2R0opO プログラムを書いてエラーが出ると「自分が否定された」「尊厳を奪われた」と感じる人もいる、という話
https://togetter.com/li/1698737
https://togetter.com/li/1698737
551デフォルトの名無しさん
2022/05/15(日) 11:57:01.15ID:UbJQuPTx ランタイムは運良くバグを踏まなければずっと怒られずに済むのに対してコンパイラは必ず怒られるから
前者の方がいいって人もいるんだろうね
前者の方がいいって人もいるんだろうね
552デフォルトの名無しさん
2022/05/15(日) 12:21:03.73ID:uEAI3vEe ドMなので
553デフォルトの名無しさん
2022/05/15(日) 12:28:05.42ID:0scjaaG3 コンパイルが通って、いざ実行してみたら
「segmentation fault.」とそっけなく言われるのもまた一興
「segmentation fault.」とそっけなく言われるのもまた一興
554デフォルトの名無しさん
2022/05/15(日) 12:43:05.95ID:wf2KlSEE >>545
そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても
複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。
Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前
強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど
そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても
複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。
Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前
強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど
555デフォルトの名無しさん
2022/05/15(日) 12:56:50.39ID:+mKsOYSe >>554
貴殿も的外れ
貴殿も的外れ
556デフォルトの名無しさん
2022/05/15(日) 14:03:03.21ID:8BbShedD そろそろ指摘するんじゃ無くて、勝手に直したり、良きに計らって欲しい。
557デフォルトの名無しさん
2022/05/15(日) 15:06:40.70ID:v+sSFlFE >>545
実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある
実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある
558デフォルトの名無しさん
2022/05/15(日) 15:29:27.60ID:2Vop47w6 陰湿やなあ
559デフォルトの名無しさん
2022/05/15(日) 16:17:30.31ID:SzIUVHZr 今のコンパイラはエラーが起きた行を指摘するけど
「この辺がちょっと気になります」
と指摘してくれるコンパイラが
そろそろ出てきてもいいような気がする
エラーの種類はそんなにないと思うので
「この辺がちょっと気になります」
と指摘してくれるコンパイラが
そろそろ出てきてもいいような気がする
エラーの種類はそんなにないと思うので
560デフォルトの名無しさん
2022/05/15(日) 16:25:25.34ID:VMVrIVgn 静的解析ツールなら前からあるぞ。高いけど。
561デフォルトの名無しさん
2022/05/15(日) 17:05:02.60ID:68DnPwxB 松本が所有権を理解してないんじゃないと思うがw
まっつの言うこととこのスレの指摘はずれてると思う
松本の言ってることを理解してないだけ
気を付けて普通に書いてバグが出ないのが普通
それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい
まっつの言うこととこのスレの指摘はずれてると思う
松本の言ってることを理解してないだけ
気を付けて普通に書いてバグが出ないのが普通
それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい
562デフォルトの名無しさん
2022/05/15(日) 19:34:19.11ID:bvYh9RC/ なんか最近開発に興味なくなってきた
こんな時みんなどうしてるの?
プログラミングだけが俺のアイデンティティだったのに
死ななきゃいけない?
こんな時みんなどうしてるの?
プログラミングだけが俺のアイデンティティだったのに
死ななきゃいけない?
563デフォルトの名無しさん
2022/05/15(日) 20:04:07.82ID:ezWJ6neI さぁ?江頭2:50見て元気を貰うとかかな
564デフォルトの名無しさん
2022/05/15(日) 20:21:42.85ID:Fhttg/Du >>563
あ?バカにしてんの?
あ?バカにしてんの?
565デフォルトの名無しさん
2022/05/15(日) 21:31:15.68ID:Wjdq3fA+ 最近のげんこはprintをpirntとか書くと、
候補を提示してくれるよね。
あたまいい!!
候補を提示してくれるよね。
あたまいい!!
566デフォルトの名無しさん
2022/05/15(日) 23:05:43.75ID:QlsYdN5b567デフォルトの名無しさん
2022/05/15(日) 23:18:12.92ID:yIEtIhqx568デフォルトの名無しさん
2022/05/16(月) 05:52:10.13ID:x9xW3Kri >>562
ぼくも(´・ω・`)
ぼくも(´・ω・`)
569デフォルトの名無しさん
2022/05/16(月) 07:12:48.31ID:3AP7f9yS 英語圏のフォーラム見に行くくらいモチベあったのにな
570デフォルトの名無しさん
2022/05/16(月) 08:44:14.30ID:IfoxgD2F >>545
Rustはマナー講師みたいなものだろ。
Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。
せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。
Rustはマナー講師みたいなものだろ。
Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。
せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。
571デフォルトの名無しさん
2022/05/16(月) 09:01:06.67ID:nGMMRLLq >>570
それはどのプログラミング言語でも同じ。
いずれの言語も独特のスタイルを押し付けてくる。
もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。
例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、
a = b + 100
と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。
ところがそうでない不便な言語に出会ったときに、
双方向に自動的に変わってくれないために苛立つかもしれない。
それはどのプログラミング言語でも同じ。
いずれの言語も独特のスタイルを押し付けてくる。
もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。
例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、
a = b + 100
と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。
ところがそうでない不便な言語に出会ったときに、
双方向に自動的に変わってくれないために苛立つかもしれない。
572デフォルトの名無しさん
2022/05/16(月) 11:59:09.62ID:TAALxp7N >>571
「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。
a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。
原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。
「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。
a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。
原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。
573デフォルトの名無しさん
2022/05/16(月) 13:13:57.85ID:IoIRdAU7 >>570
むしろスタイルを強制しないプログラミング言語なんて存在するのか?
むしろスタイルを強制しないプログラミング言語なんて存在するのか?
574デフォルトの名無しさん
2022/05/16(月) 13:41:05.21ID:8gGmt1rZ 松本がRust好きじゃないのはまあそうだろうなとは思う。
この人、テストコードとかも好きじゃないとか言ってたし。
個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。
この人、テストコードとかも好きじゃないとか言ってたし。
個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。
575デフォルトの名無しさん
2022/05/16(月) 18:39:47.20ID:qW5+0T97576デフォルトの名無しさん
2022/05/16(月) 19:09:08.37ID:R1kAqWTp >>575
エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。
自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。
まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。
エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。
自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。
まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。
577デフォルトの名無しさん
2022/05/16(月) 21:09:51.80ID:qW5+0T97578デフォルトの名無しさん
2022/05/17(火) 03:36:27.01ID:maKCFX0H Rustのエラーメッセージの親切さは異常
579デフォルトの名無しさん
2022/05/17(火) 04:13:37.47ID:tz+YwBRZ 美人女教師のイラストでも添えたら
エラーメッセージもそれっぽい口調にして
エラーメッセージもそれっぽい口調にして
580デフォルトの名無しさん
2022/05/17(火) 08:12:17.48ID:t8H/GFrA >>577
原因じゃなくて原理ね。
エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。
まぁ、そうなるとrust版D&Eを書くようなものだから大変か。
原因じゃなくて原理ね。
エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。
まぁ、そうなるとrust版D&Eを書くようなものだから大変か。
581デフォルトの名無しさん
2022/05/17(火) 08:22:18.93ID:aOp3kwmZ >>580
現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ
現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ
582デフォルトの名無しさん
2022/05/17(火) 08:39:46.07ID:3guGxSPi カンマとピリオドの間違いとか
カンマが抜けているとか
うっかり全角文字で記号をうっているとか
初心者にありがちなエラーを
「ひょっとして・・・」
と教えてくれるとうれしいかもしれない
カンマが抜けているとか
うっかり全角文字で記号をうっているとか
初心者にありがちなエラーを
「ひょっとして・・・」
と教えてくれるとうれしいかもしれない
583デフォルトの名無しさん
2022/05/17(火) 09:03:36.05ID:t0SSI9IZ コンパイラ「Did you mean ',' instead of '.' ?」
俺「Fuck off!」
俺「Fuck off!」
584デフォルトの名無しさん
2022/05/17(火) 11:37:57.12ID:V5JE6XCC >>580
例えば、↓のコードをコンパイルすると
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0bd550e905a2263a33895815c4430436
error[E0499]: cannot borrow `x` as mutable more than once at a time
てな感じでエラーコードが表示されて、以下の解説ページへのリンクが貼られている
https://doc.rust-lang.org/stable/error-index.html#E0499
この中から関連するリファレンスへのリンクが貼られている
現状のドキュメントで十分ではないという問題はあるかもしれないけど、>>580 で言われているような方向性にはなっているよ
>>582
上のコードのセミコロンを全角にしてみたらまさにそんな感じのメッセージが出た
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=118aa7e31d9c6c786d222f34a66623c3
error: unknown start of token: \u{ff1b}
help: Unicode character ';' (Fullwidth Semicolon) looks like ';' (Semicolon), but it is not
例えば、↓のコードをコンパイルすると
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0bd550e905a2263a33895815c4430436
error[E0499]: cannot borrow `x` as mutable more than once at a time
てな感じでエラーコードが表示されて、以下の解説ページへのリンクが貼られている
https://doc.rust-lang.org/stable/error-index.html#E0499
この中から関連するリファレンスへのリンクが貼られている
現状のドキュメントで十分ではないという問題はあるかもしれないけど、>>580 で言われているような方向性にはなっているよ
>>582
上のコードのセミコロンを全角にしてみたらまさにそんな感じのメッセージが出た
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=118aa7e31d9c6c786d222f34a66623c3
error: unknown start of token: \u{ff1b}
help: Unicode character ';' (Fullwidth Semicolon) looks like ';' (Semicolon), but it is not
585デフォルトの名無しさん
2022/05/17(火) 16:48:28.24ID:DWSI+bpc コンパイラのエラーメッセージに外部サービスのリンクって、もしそのサービス終わったらどうすんの?
586デフォルトの名無しさん
2022/05/17(火) 17:38:26.91ID:V5JE6XCC587デフォルトの名無しさん
2022/05/17(火) 19:22:14.68ID:ARYpWsQd なお誰もやらんもよう
588デフォルトの名無しさん
2022/05/18(水) 09:51:35.50ID:ynn+jzpi 最も重要なマナーは
プログラムなのかデータなのか不明な文字列等を使ってはならない
つまりインタプリタを作ってはならない
文字列指向が好きな人にとっては
オブジェクト指向こそが文字列を否定するマナー講師だった
OOPを無視してstatic変数を使ってもコンパイラに怒られることはなかった
怒っているのはいつも人間だった
プログラムなのかデータなのか不明な文字列等を使ってはならない
つまりインタプリタを作ってはならない
文字列指向が好きな人にとっては
オブジェクト指向こそが文字列を否定するマナー講師だった
OOPを無視してstatic変数を使ってもコンパイラに怒られることはなかった
怒っているのはいつも人間だった
589デフォルトの名無しさん
2022/05/19(木) 01:27:36.14ID:Ahp8TrG/ Rustちゃんは生活のすべてを管理されたトップアスリートでヘソ出しユニに胸はぺったんこでショートヘアのすっぴんだけど最高の記録を出す
Goちゃんはそんじょそこらの陸上部員で県大会レベルだけどボインボインのロングでシャワーを浴びたらそのままGoコンにGoできる
どっちがいいかって話よ
Goちゃんはそんじょそこらの陸上部員で県大会レベルだけどボインボインのロングでシャワーを浴びたらそのままGoコンにGoできる
どっちがいいかって話よ
590デフォルトの名無しさん
2022/05/19(木) 01:29:12.91ID:Ahp8TrG/ なおGoちゃんは無限に二股をかけられるという特技もある
591デフォルトの名無しさん
2022/05/19(木) 01:33:58.07ID:d4KplWCH 意味不明なたとえ受けると思ってそう
592デフォルトの名無しさん
2022/05/20(金) 01:02:59.89ID:A/bJmwRQ レベルが低すぎてRustスレで書けないRustの話しかしない駄スレ
593デフォルトの名無しさん
2022/05/20(金) 03:37:27.56ID:tiOCYDba ____
/ \
/ _ノ ヽ、_ \
/ o゚((●)) ((●))゚o \ ほんとはRustスレでやりたいんだお…
| (__人__) |
\ ` ⌒´ /
____
/ \
/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ でもRustaceanはクオリティ高いスレしか相手してくれないお…
| (__人__) |
\ ` ⌒´ /
____
/⌒ ⌒\
/( ●) (●)\
/::::::⌒(__人__)⌒:::::\ だから次世代言語スレでやるお!
| |r┬-| |
\ `ー'´ /
/ \
/ _ノ ヽ、_ \
/ o゚((●)) ((●))゚o \ ほんとはRustスレでやりたいんだお…
| (__人__) |
\ ` ⌒´ /
____
/ \
/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ でもRustaceanはクオリティ高いスレしか相手してくれないお…
| (__人__) |
\ ` ⌒´ /
____
/⌒ ⌒\
/( ●) (●)\
/::::::⌒(__人__)⌒:::::\ だから次世代言語スレでやるお!
| |r┬-| |
\ `ー'´ /
594デフォルトの名無しさん
2022/05/20(金) 07:21:25.71ID:qtpsVsYu Rustスレはフィボナッチ数列で無駄に盛り上がってる
595デフォルトの名無しさん
2022/05/20(金) 08:06:23.76ID:0sq8H5co >>594
行列演算とかじゃなくてフィボナッチ数列かぁ……
行列演算とかじゃなくてフィボナッチ数列かぁ……
596デフォルトの名無しさん
2022/05/20(金) 09:05:30.63ID:skF4IFrQ 純粋アルゴリズムにrustは不向きだとなぜ気づかんのかな。。
597デフォルトの名無しさん
2022/05/20(金) 09:31:27.55ID:qCLhnuk6 >>595
なかなかゴミみたいな様相だよ
フィボナッチ数列の第n項はメモ化しなくても線形オーダー、あるいは対数オーダーで計算できるのに、メモ化にこだわりのある人が「そのやり方はmainのループと合わせて計算量はn^2だ」とか言い出して散々
なかなかゴミみたいな様相だよ
フィボナッチ数列の第n項はメモ化しなくても線形オーダー、あるいは対数オーダーで計算できるのに、メモ化にこだわりのある人が「そのやり方はmainのループと合わせて計算量はn^2だ」とか言い出して散々
598デフォルトの名無しさん
2022/05/20(金) 10:04:11.72ID:73YqjaVk599デフォルトの名無しさん
2022/05/20(金) 16:45:27.87ID:B4JoNxMk フィボナッチ数列計算するのにあそこまでする必要はないわ
600デフォルトの名無しさん
2022/05/20(金) 17:32:46.13ID:nVnkC/ng スレ見てないけどベクトル演算した方が速いんじゃないの知らんけど
601デフォルトの名無しさん
2022/05/20(金) 17:36:21.53ID:g6eOZZWy Rustのスレなんだし、アルゴリズムで計算量を改善したりする話じゃなくて、Rustのベストプラクティスについて話してほしい
602デフォルトの名無しさん
2022/05/20(金) 17:49:16.78ID:nVnkC/ng Rustのスレじゃねーんだなこれが
603デフォルトの名無しさん
2022/05/20(金) 17:58:31.56ID:UyuFXYvf 数値計算はやっぱりJuliaかFORTRANが実行速度最速なのかしらん。
604デフォルトの名無しさん
2022/05/20(金) 18:17:57.67ID:Cx5X7nNC >>597
nが与えられた時に
『フィボナッチ数 F_n』を求めるのは単純にO(n)あるいは工夫してO(log n)で合っている
ところがその『F_n』を求める関数を「ループでn回」用いて
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めると当然n倍でO(n^2)またはO(n・log n)となってしまう
それが後半の「そのやり方はmainのループと合わせて計算量はn^2だ」という話だと思うのでそれも合っている
ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
つまり計算量を大きく節約できる
この二つの区別を出来ているかどうかが重要なポイントかな
nが与えられた時に
『フィボナッチ数 F_n』を求めるのは単純にO(n)あるいは工夫してO(log n)で合っている
ところがその『F_n』を求める関数を「ループでn回」用いて
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めると当然n倍でO(n^2)またはO(n・log n)となってしまう
それが後半の「そのやり方はmainのループと合わせて計算量はn^2だ」という話だと思うのでそれも合っている
ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
つまり計算量を大きく節約できる
この二つの区別を出来ているかどうかが重要なポイントかな
605デフォルトの名無しさん
2022/05/20(金) 18:30:54.17ID:Cx5X7nNC ごめん1箇所だけ記述ミスを訂正
>>604
× ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
○ ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がO(n)で済む
>>604
× ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
○ ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がO(n)で済む
606デフォルトの名無しさん
2022/05/20(金) 19:27:34.87ID:Cb6kz6Up607デフォルトの名無しさん
2022/05/20(金) 19:32:41.44ID:0DaneQt4 頭おかしくなっちゃった!
-=≡ ∩ 彡⌒ミ ∩
-=≡ .ヽ(´・ω・`) /
-=≡ ( /
-=≡ ( ⌒)
-=≡ し し'
-=≡ ∩ 彡⌒ミ ∩
-=≡ .ヽ(´・ω・`) /
-=≡ ( /
-=≡ ( ⌒)
-=≡ し し'
608デフォルトの名無しさん
2022/05/20(金) 20:02:33.19ID:AMqMmZYo609デフォルトの名無しさん
2022/05/20(金) 20:07:15.27ID:Cx5X7nNC 『フィボナッチ数 F_n』を求めるアルゴリズム・計算量と
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めるアルゴリズム・計算量は当然異なるからね
前者は繰り返し二乗法で1個の算出がO(log n)がベストだけど
後者で前者の方法を使ったら遅くなる
後者は単純に前二つを足していけばn個の算出がO(n)で済みそれがベスト
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めるアルゴリズム・計算量は当然異なるからね
前者は繰り返し二乗法で1個の算出がO(log n)がベストだけど
後者で前者の方法を使ったら遅くなる
後者は単純に前二つを足していけばn個の算出がO(n)で済みそれがベスト
610デフォルトの名無しさん
2022/05/20(金) 20:33:10.89ID:AMqMmZYo スレの流れとしては前者なのに一人だけ「数列だから初項からn項までの計算量を考えろ」とか頓珍漢なこと言ってるのよね
611デフォルトの名無しさん
2022/05/20(金) 20:52:13.48ID:EQAKr5b0612デフォルトの名無しさん
2022/05/20(金) 20:52:49.34ID:pMSjr2Vl フィボナッチ数列自体はただの例題なのに異様な執着心見せる人が居るよね
なんかのコンプレックスこじらせてるのかな
なんかのコンプレックスこじらせてるのかな
613デフォルトの名無しさん
2022/05/20(金) 20:59:42.21ID:Cx5X7nNC >>610
フィボナッチ数列といったら F_0, F_1, F_2, ..., F_n, ... だよ
それはともかく前者と後者でベストなアルゴリズムが異なるから前者だけの話をすることはありえないと思う
そして後者のイテレータはそのまま前者をO(n)で求めることが出来るから
どちらもO(n)で十分とするならばイテレータをプログラミングするのが自然じゃないかな
フィボナッチ数列といったら F_0, F_1, F_2, ..., F_n, ... だよ
それはともかく前者と後者でベストなアルゴリズムが異なるから前者だけの話をすることはありえないと思う
そして後者のイテレータはそのまま前者をO(n)で求めることが出来るから
どちらもO(n)で十分とするならばイテレータをプログラミングするのが自然じゃないかな
614デフォルトの名無しさん
2022/05/20(金) 21:04:10.39ID:uKCjuMHy 職業マは生暖かい目で見守ってるよ
初学者・学生・無職・アマチュアプログラマが必死になれるのは
自転車置き場の議論だけだからね
昼間必死に書き込んでるやろ彼らは
初学者・学生・無職・アマチュアプログラマが必死になれるのは
自転車置き場の議論だけだからね
昼間必死に書き込んでるやろ彼らは
615デフォルトの名無しさん
2022/05/20(金) 21:07:40.93ID:QySmFXhb フィボナッチってO(1)では?(ビネ並感)
流れはよくわからないが、とりあえず本スレは盛り上がっているようで何よりだね
流れはよくわからないが、とりあえず本スレは盛り上がっているようで何よりだね
616デフォルトの名無しさん
2022/05/20(金) 21:15:10.30ID:EQAKr5b0 各項のオーダーはO(1)可能だが複素数(行列)でムダに計算量多いだろw
結局一覧を列挙するなら足し算していくのが一番速い
結局一覧を列挙するなら足し算していくのが一番速い
617デフォルトの名無しさん
2022/05/21(土) 00:28:12.49ID:xHIjAvV7 スレタイ読めよアスペども
618デフォルトの名無しさん
2022/05/21(土) 07:47:11.09ID:0jWT+RR4 >>616
複素数じゃないよ、実数の範囲で計算できるよ
複素数じゃないよ、実数の範囲で計算できるよ
619デフォルトの名無しさん
2022/05/23(月) 01:01:31.28ID:Eq9f2SXv Qitaベンチマークで、フィボナッチとかドヤァってるドアホ見るけど、片方の言語がoverflowチェックなどが入ってる演算を
使ってるのに、もう片方はチェックが入らない言語を使って比較してることがよくある。とんでもねえアホ
さらにいうなら最適化レベルも、ループアンロールをデフォルトで勝手に行う言語と、明示しない限り行わない言語で
比較してたりメチャクチャなアホ。お前の推しの言語がチェック付き演算行ったら、お前の推しじゃない言語と変わらんからな
使ってるのに、もう片方はチェックが入らない言語を使って比較してることがよくある。とんでもねえアホ
さらにいうなら最適化レベルも、ループアンロールをデフォルトで勝手に行う言語と、明示しない限り行わない言語で
比較してたりメチャクチャなアホ。お前の推しの言語がチェック付き演算行ったら、お前の推しじゃない言語と変わらんからな
620デフォルトの名無しさん
2022/05/23(月) 01:37:17.26ID:o7ibVFPP 当該ページを示さずに愚痴られても…
621デフォルトの名無しさん
2022/05/23(月) 02:12:19.04ID:aUQlcplw 標準的なコンパイル方法・プログラムの書き方をした場合の比較になっているのなら意味はあるのでは
622デフォルトの名無しさん
2022/05/23(月) 05:59:53.99ID:YmsKfutR 確かにCheckedAddとかで書いてるQita記事のフィボナッチベンチなんて見たこと無いね、逆に言うとそれしか意味がない。ベンチとは名ばかりのフワッとした自己満足オナニーだ、100mハードルと100m走くらべてるようなもんさ
623デフォルトの名無しさん
2022/05/23(月) 07:01:43.76ID:n2ZPTBPD >>619
Rust本スレのフィボナッチはoverflowチェック入っているぜ
https://mevius.5ch.net/test/read.cgi/tech/1652347700/181
>>622
それはその個人の問題点であってプログラミング言語の問題ではない
Rust本スレのフィボナッチはoverflowチェック入っているぜ
https://mevius.5ch.net/test/read.cgi/tech/1652347700/181
>>622
それはその個人の問題点であってプログラミング言語の問題ではない
624デフォルトの名無しさん
2022/05/23(月) 09:56:36.54ID:vZp1MWnh 顔真っ赤でコピペして来てるw
書いたどうだという話じゃない、それでベンチマーク取ってみろという話だよ。この流れが分からない奴は個人の問題点w
いちいちオーバーフローがセーフな演算をchecked_addなんて冗長な書き方しか出来ないのだから、言語の問題でしょう?
標準的なコンパイル方法・プログラムの書き方をした場合、危険でズルなんだからw
書いたどうだという話じゃない、それでベンチマーク取ってみろという話だよ。この流れが分からない奴は個人の問題点w
いちいちオーバーフローがセーフな演算をchecked_addなんて冗長な書き方しか出来ないのだから、言語の問題でしょう?
標準的なコンパイル方法・プログラムの書き方をした場合、危険でズルなんだからw
625デフォルトの名無しさん
2022/05/23(月) 10:48:59.78ID:gzAO9YOH >>623
うわっ、何このダサいコード
うわっ、何このダサいコード
626デフォルトの名無しさん
2022/05/23(月) 10:52:41.72ID:ZgbkB3a0 フィボナッチが居ついちまったじゃないかよ。
お前ら責任取ってフィボナッチの話題禁止な。
お前ら責任取ってフィボナッチの話題禁止な。
627デフォルトの名無しさん
2022/05/23(月) 12:30:43.66ID:aUQlcplw フィボナッチ呼ばわりはフィボナッチさんへの風評被害になるからやめな
628デフォルトの名無しさん
2022/05/23(月) 13:17:40.25ID:YSocoZUy629デフォルトの名無しさん
2022/05/23(月) 15:35:29.13ID:wWZ2mUik >>624
それはあまりにも無知な発言
RustではC/C++やCPUでの同じ動作となっているにすぎない
例えばC/C++では (正確には未定義だが通常動作)
int main() {
char x = 127;
x = x + 1;
printf("%d\n", x); // 出力結果: -128
}
Rustでは (普通にrelease modeの場合)
fn main() {
let mut x: i8 = 127;
x = x + 1;
println!("{x}"); // 出力結果: -128
}
ちなみにdebug modeではpanicで知らせる
release modeでもコンパイラに指定でpanicで知らせることも可能
それはあまりにも無知な発言
RustではC/C++やCPUでの同じ動作となっているにすぎない
例えばC/C++では (正確には未定義だが通常動作)
int main() {
char x = 127;
x = x + 1;
printf("%d\n", x); // 出力結果: -128
}
Rustでは (普通にrelease modeの場合)
fn main() {
let mut x: i8 = 127;
x = x + 1;
println!("{x}"); // 出力結果: -128
}
ちなみにdebug modeではpanicで知らせる
release modeでもコンパイラに指定でpanicで知らせることも可能
630デフォルトの名無しさん
2022/05/23(月) 15:38:27.39ID:wWZ2mUik >>629に加えてRustでは
let n: i8 = 126;
の時、
println!("{:?}", n.wrapping_add(1)); // 出力結果: 127 // 溢れていないならその値
println!("{:?}", n.wrapping_add(2)); // 出力結果: -128 // 溢れたらラッピング(一周して)その値
println!("{:?}", n.overflowing_add(1)); // 出力結果: (127, false) // 溢れていないならばオーバフローフラグfalseが返る
println!("{:?}", n.overflowing_add(2)); // 出力結果: (-128, true) // 溢れたらオーバフローフラグtrueが返る
println!("{:?}", n.checked_add(1)); // 出力結果: Some(127) // 溢れていないならばOption型のSome(値)が返る
println!("{:?}", n.checked_add(2)); // 出力結果: None // 溢れたらOption型のNoneが返る
println!("{:?}", n.saturating_add(1)); // 出力結果: 127 // 溢れていないならその値
println!("{:?}", n.saturating_add(2)); // 出力結果: 127 // 溢れたらその型の上限の値
といったようにRustでは求められている状況に応じて容易に多様な対応を取ることが可能
Rustよりも用意周到なプログラミング言語があればその動作を教えて欲しい
let n: i8 = 126;
の時、
println!("{:?}", n.wrapping_add(1)); // 出力結果: 127 // 溢れていないならその値
println!("{:?}", n.wrapping_add(2)); // 出力結果: -128 // 溢れたらラッピング(一周して)その値
println!("{:?}", n.overflowing_add(1)); // 出力結果: (127, false) // 溢れていないならばオーバフローフラグfalseが返る
println!("{:?}", n.overflowing_add(2)); // 出力結果: (-128, true) // 溢れたらオーバフローフラグtrueが返る
println!("{:?}", n.checked_add(1)); // 出力結果: Some(127) // 溢れていないならばOption型のSome(値)が返る
println!("{:?}", n.checked_add(2)); // 出力結果: None // 溢れたらOption型のNoneが返る
println!("{:?}", n.saturating_add(1)); // 出力結果: 127 // 溢れていないならその値
println!("{:?}", n.saturating_add(2)); // 出力結果: 127 // 溢れたらその型の上限の値
といったようにRustでは求められている状況に応じて容易に多様な対応を取ることが可能
Rustよりも用意周到なプログラミング言語があればその動作を教えて欲しい
631デフォルトの名無しさん
2022/05/23(月) 15:44:29.35ID:afBzb9pp 顔真っ赤wwwwwwww
632デフォルトの名無しさん
2022/05/23(月) 15:45:47.88ID:dNJCbMGg ここ2週間くらいRustスレずっとこんな調子だったんですよ
勘弁してほしい
勘弁してほしい
633デフォルトの名無しさん
2022/05/23(月) 15:58:24.00ID:X9GYHqrY 某R言語のユーザーは本当に気持ち悪いな
634デフォルトの名無しさん
2022/05/23(月) 16:13:42.23ID:zhKycwRA 何が用意周到なんだか。言語のことを言ってるんじゃなく、「あくまでそれでベンチマーク比較すんなよド素人」という話だけなのに、ムキになって言語機能の紹介書いちゃうオジサン
蛇足的に言語のことを言うなら、RustよりまともなのはC#でcheckedキーワードの明示による算術のオーバーフローをチェックかな?安全に足し算したいだけで毎回checked_addなんて書くのは勘弁願いたいのは本音。C#もデフォルトで安全に倒すという思想からも逸脱してるとも言えるが
蛇足的に言語のことを言うなら、RustよりまともなのはC#でcheckedキーワードの明示による算術のオーバーフローをチェックかな?安全に足し算したいだけで毎回checked_addなんて書くのは勘弁願いたいのは本音。C#もデフォルトで安全に倒すという思想からも逸脱してるとも言えるが
635デフォルトの名無しさん
2022/05/23(月) 16:24:56.03ID:21uaV1OX >>625
Rustスレでも満場一致で同じ意見だからご心配なく
Rustスレでも満場一致で同じ意見だからご心配なく
636デフォルトの名無しさん
2022/05/23(月) 16:33:53.72ID:wuIMUAe9 CPU・C・C++・C#・Rust全てにおいてオーバフロー時は一周回った結果になるってことか
じゃあそれが標準的な振る舞いなのだろう
じゃあそれが標準的な振る舞いなのだろう
637デフォルトの名無しさん
2022/05/23(月) 19:59:34.50ID:aUQlcplw >>634
演算子オーバーロードできる言語なら a + b が Option<T> 返すような型を実装できるから言語組み込みでキーワード用意する必要もないのでは
例えばRustだとそういうライブラリもある
https://docs.rs/checked/latest/checked/
演算子オーバーロードできる言語なら a + b が Option<T> 返すような型を実装できるから言語組み込みでキーワード用意する必要もないのでは
例えばRustだとそういうライブラリもある
https://docs.rs/checked/latest/checked/
638デフォルトの名無しさん
2022/05/23(月) 20:07:10.01ID:pMTVA02Y639デフォルトの名無しさん
2022/05/23(月) 22:48:29.77ID:X9GYHqrY 実装が処理速度に与える影響を論じるのなら浮動小数点数の話で語り始めるべきだったなw
640デフォルトの名無しさん
2022/05/24(火) 01:58:49.24ID:e1yfwJHI Pythonなどは(無限にではないが)演算で型拡張が行われるから、それらと同列でベンチマークすべきではないのは同意
Rustを愛しすぎて、顔にウンコ付いてて冗長で気持ち悪い書き方を擁護して発狂する用意周到オジサン
Rustを愛しすぎて、顔にウンコ付いてて冗長で気持ち悪い書き方を擁護して発狂する用意周到オジサン
641デフォルトの名無しさん
2022/05/24(火) 02:20:04.04ID:8GgyJL9r■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 [蚤の市★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★7
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】麻生太郎さん、オムツをしていた。晋さん…ここにいたんだね… [731544683]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
