[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/01 19:50 / Filesize : 270 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語25 TypeScript Swift Go Kotlin Rust Nim



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/

522 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:06:17.66 ID:0PGn8I2M.net]
プログラミングはは知的生産だと思ってたけどこれはもう違う別の何か
他人の書いたコードは意味が分からないというけどそれ以前に自分で書いてもわけがわからない

理解の外にあっても動くからあっている
コンパイルエラーが出ないからあっている

それは本当に正しいことなのか
バグが入ってないのかはもちろん期待した動作なのかすらわからない

人間が揺さぶられてきている

523 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:07:09.92 ID:xUytDrfJ.net]
多くの人に知ってもらいたい
これはもうプログラムではないよと

524 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:09:05.79 ID:SabgIUuG.net]
実装に必要なtraitを境界として追加しただけで煩雑だけど難しくはないよね

525 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:13:46.50 ID:q+AJMQiL.net]
>>509
そのtrait境界は意外に理解が簡単だった
ジェネリックにプログラムを書く時にそのジェネリックな型には何が来てもいいわけではなくて
書くプログラムの中で使っている機能(というかインタフェースというかメソッド)を持つ保証する(というか限定するというか制約条件を並べる)こと

例えば本スレからコピペだけど以下のフィボナッチ数列イテレータ
型へのtrait境界がwhereのところにあるClone(複製できること)とTryFrom<usize>(数値から変換できること)とnum::CheckedAdd(オーバーフロー検知付き足し算ができること)の3つを満たしてればどんな型でも適用可能

fn fibonacci<T>() -> impl Iterator<Item=T>
where T: Clone + TryFrom<usize> + num::CheckedAdd,
{
let [zero, one] = [0, 1].map(|n| T::try_from(n).ok().unwrap());
itertools::unfold((zero, one), |(m, n)|
m.checked_add(&*n).map(|f| {
*m = n.clone();
*n = f.clone();
f
})
)
}

pub fn main() {
for f in fibonacci::<i8>() {
print!("{f} ");
}
println!();
}

526 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:18:22.19 ID:xUytDrfJ.net]
実際にトレイト境界の条件の実装部分を読んでみた

シンプルなマクロで書かれてる部分もあれば複雑な部分もある
そこで書いてある実装が本当に確実の条件を満たしうるのかは分からないし
ドキュメントを読んでも厳格な意味が書いてあるわけでもない

どこかで漏れがあってもわからない

527 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:37:16.75 ID:xUytDrfJ.net]
例えば条件の一つがよくよく考えてみればさらに二つに分離して考えないといけないものだと
後で判明するともう既存のコードがみんな死んでしまう
使用してる所を全部さかのぼって修正しないといけない

それかRust自体の仕様変更で死んでしまったりいろいろ死にそうな要因がたくさんある
マクロでやりすぎてる

528 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 00:39:26.57 ID:OHUg1Auo.net]
>>518
そんなこと起きたことがない
聞いたこともない机上の空論

529 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 11:02:33.31 ID:ut6S4c2T.net]
Rustの標準ライブラリの設計がそもそも間違ってて、その修正のために破壊的な変更がいきなりきたら大変だ、って話?
そんな馬鹿な、と笑っちゃうね

530 名前:デフォルトの名無しさん mailto:sage [2022/05/11(水) 12:27:47.37 ID:0Stn7tVM.net]
サプライチェーン問題は批判理由が見つからない人が持ち出しがち。

マクロがない言語だと、同じ機能をコンパイラやらランタイムが持ったりするわけだが、不思議に誰もそれらの機構を疑わなかったりする。

中身が可視化されたのに逆に疑わしく感じた場合は、まずは自分の知識が足りなかったことに気づきましょう。



531 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 17:29:32 ID:LSv3zttQ.net]
実装の問題は重要だろ。
そもそも実装と独立に仕様だけ語れるような作りにrustはなってない。

532 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:12:00.76 ID:cxVwbP/0.net]
何を問題視してるのかもうちょっとわかりやすく書いてくれないと議論にならん

533 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:19:51.09 ID:q5adbU17.net]
判らないなら無理して首を突っ込むことはないかと…

534 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:20:37.20 ID:q5adbU17.net]
コーダー風情にはどこら辺に問題があるかすらわからないんだ
ほっとけばいい

535 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 18:57:51.28 ID:+0JH2q+I.net]
>>522
依存型理論原理主義過激派かな?ちょっと面白い

536 名前:デフォルトの名無しさん [2022/05/12(木) 19:03:55.20 ID:KS5+XyCs.net]
依存型ってrustは入れてないやろ

537 名前:デフォルトの名無しさん mailto:sage [2022/05/12(木) 19:34:17.87 ID:B7YnOOaf.net]
>>527
Π型はないけど、const genericsなら…

538 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 10:40:27 ID:fhDjEdn1.net]
>>521
ランタイムが持ってる言語ならランタイムをアップデートしたら終わり
マクロの言語は該当箇所を探し出して修正して丸ごと再コンパイルが必要

工数考えたらどちらが有利なのかすぐ分かる
知識が足りないのはどちらなんだろうか?

539 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 10:59:45 ID:0p7HEVH9.net]
>>529
現実には起きない架空の話だから両者ともにバカげている

540 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 12:10:30 ID:uaWVrnpQ.net]
笑っちゃうね



541 名前:デフォルトの名無しさん mailto:sage [2022/05/13(金) 12:50:06 ID:tAeYJnp8.net]
>>529
ランタイムだけ差し替えられることに気づくとは…

542 名前:デフォルトの名無しさん [2022/05/14(土) 10:40:41.82 ID:vWT7MZ9I.net]
さすがナレッジワーカーだね

543 名前:デフォルトの名無しさん mailto:sage [2022/05/14(土) 22:44:26.45 ID:z9ygdFkB.net]
Juliaの今ひとつなところはswitch/case文がないところ
あのパイソンでさえ導入したのに時代錯誤

それ以外は良さそうな言語
しらんけど

544 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 08:12:53.18 ID:peAa8dI5.net]
Juliaではマルチディスパッチしろという方針なのかもしれんが、マルチディスパッチの方が他言語に普及してないのは機能として過剰な割に効率性に劣るからなんだろうかね

545 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 08:40:21.58 ID:gv+JQ3Ew.net]
まつもとゆきひろ氏が考える、プログラミング言語の未来
https://logmi.jp/tech/articles/326541

楓:「今Ruby、Cの次に好きな言語はなんですか」。

まつもと:そうだな。Elixir、Go、Rustは気になるっちゃ気になるんですね。ただ、正直に言うとRustは僕の好みではない(笑)。

楓:おおー。気になるポ

546 名前:イントと好みじゃないポイントはどのあたりなんですか。

まつもと:やはりCを一番よく書くので、システムプログラミングの領域が、私がよくプログラムする領域なんですけど。そこに出てくる言語の中で今一番メジャーなのは、GoとRustであるというのが気になるところですね。

だけど、Rustが型でいろいろなことを言ってくれるのはうれしいところとうれしくないところがあって。つまりコンパイラに怒られるんですね。僕はコンパイラに怒られるのがすごく嫌いなので(笑)。なんかストレスがたまるんですよね。

楓:(笑)。

まつもと:どちらかというと、技術的なことではないところで一緒にがんばれるものがいいなって思っていて(笑)。
[]
[ここ壊れてます]

547 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 08:49:59.25 ID:SgXGf86o.net]
どの言語でも間違えればコンパイラに怒られる
その程度でストレスがたまるならば頭がよくないのかもしれない

548 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 09:40:56 ID:N7JPl8Lh.net]
コンパイラに怒られずにランタイムに怒られる方が
ストレスたまりそうなんだが違う感覚の
人もいるんだなあ

549 名前:デフォルトの名無しさん [2022/05/15(日) 09:42:48 ID:am1d3hDu.net]
必要以上に怒られてるからクソって話なんでしょ

550 名前:デフォルトの名無しさん [2022/05/15(日) 09:49:32.98 ID:2T0P5EJz.net]
ランタイムに怒られてもうまく問題点を見つけ出せる方が頭良い気がする
僕はあんまり賢くないからコンパイラが叱ってくれる方が楽



551 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 09:50:12.91 ID:C1KM65Ry.net]
自分がすごくプログラミングが出来る自負があるから、コンパイラに怒られるとプライドが傷つくから嫌だって言ってるようにも見える

552 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 09:52:43.88 ID:lixSo2ZB.net]
ひろゆきは賢いからコンパイラは余計なことを小うるさく言わんでいいって感じ?

553 名前:デフォルトの名無しさん [2022/05/15(日) 09:52:58.51 ID:WKOj7Eq4.net]
自意識過剰で被害妄想だな
コンパイラは怒ってるのではなくて指摘してるだけ

554 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 10:06:42.86 ID:6dsDjrbs.net]
The compiler is your friend

555 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 10:31:50.86 ID:C1KM65Ry.net]
Rustのコンパイラに怒られるってことは所有権のシステムとかが全然理解できてないんだと思う

前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな

556 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 10:45:11.53 ID:duXfvT8B.net]
>>542
「ゆき ひろ」なw

557 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:08:18.85 ID:68DnPwxB.net]
人間の理解を超えたところから怒られるのは違うかなと
それってプログラムなのか?

558 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:12:52.72 ID:68DnPwxB.net]
囲碁や将棋はもうAIの方がかなり上に行っちゃって誰もAIに勝てない
プロも含めてAIの手を研究してるけど理解できないのがかなりある

それを意味も分からずただなぞって指してる人もいる

プログラムはそのレベルじゃないけどそういうものに近づいてる

559 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:25:25.72 ID:+6kSxcdv.net]
デバッグ含めた開発効率の良さを考えると可能な限りコンパイル時に怒って欲しいかな
コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない

560 名前:デフォルトの名無しさん [2022/05/15(日) 11:45:48.58 ID:cL2R0opO.net]
プログラムを書いてエラーが出ると「自分が否定された」「尊厳を奪われた」と感じる人もいる、という話
https://togetter.com/li/1698737



561 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 11:57:01.15 ID:UbJQuPTx.net]
ランタイムは運良くバグを踏まなければずっと怒られずに済むのに対してコンパイラは必ず怒られるから
前者の方がいいって人もいるんだろうね

562 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:21:03.73 ID:uEAI3vEe.net]
ドMなので

563 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:28:05.42 ID:0scjaaG3.net]
コンパイルが通って、いざ実行してみたら
「segmentation fault.」とそっけなく言われるのもまた一興

564 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:43:05.95 ID:wf2KlSEE.net]
>>545
そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても
複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。
Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前
強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど

565 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 12:56:50 ID:+mKsOYSe.net]
>>554
貴殿も的外れ

566 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 14:03:03.21 ID:8BbShedD.net]
そろそろ指摘するんじゃ無くて、勝手に直したり、良きに計らって欲しい。

567 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 15:06:40.70 ID:v+sSFlFE.net]
>>545
実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある

568 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 15:29:27.60 ID:2Vop47w6.net]
陰湿やなあ

569 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 16:17:30.31 ID:SzIUVHZr.net]
今のコンパイラはエラーが起きた行を指摘するけど
「この辺がちょっと気になります」
と指摘してくれるコンパイラが
そろそろ出てきてもいいような気がする
エラーの種類はそんなにないと思うので

570 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 16:25:25.34 ID:VMVrIVgn.net]
静的解析ツールなら前からあるぞ。高いけど。



571 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 17:05:02.60 ID:68DnPwxB.net]
松本が所有権を理解してないんじゃないと思うがw

まっつの言うこととこのスレの指摘はずれてると思う
松本の言ってることを理解してないだけ

気を付けて普通に書いてバグが出ないのが普通
それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい

572 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 19:34:19 ID:bvYh9RC/.net]
なんか最近開発に興味なくなってきた
こんな時みんなどうしてるの?
プログラミングだけが俺のアイデンティティだったのに
死ななきゃいけない?

573 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 20:04:07 ID:ezWJ6neI.net]
さぁ?江頭2:50見て元気を貰うとかかな

574 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 20:21:42.85 ID:Fhttg/Du.net]
>>563
あ?バカにしてんの?

575 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 21:31:15.68 ID:Wjdq3fA+.net]
最近のげんこはprintをpirntとか書くと、
候補を提示してくれるよね。
あたまいい!!

576 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 23:05:43 ID:QlsYdN5b.net]
>>556
一部のコンパイルエラーは修正コード提案してくれるしIDEからボタンぽちで修正できるから、
それ発展させて意図が不明確なコードでも何種類か修正候補出してくれるようにならないかな

577 名前:デフォルトの名無しさん mailto:sage [2022/05/15(日) 23:18:12 ID:yIEtIhqx.net]
>>565
Qiitaに投稿された「TypoScriptを作った」を思い出した
レーベンシュタイン距離が近ければOKっていうネタ言語

578 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 05:52:10.13 ID:x9xW3Kri.net]
>>562
ぼくも(´・ω・`)

579 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 07:12:48.31 ID:3AP7f9yS.net]
英語圏のフォーラム見に行くくらいモチベあったのにな

580 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 08:44:14.30 ID:IfoxgD2F.net]
>>545
Rustはマナー講師みたいなものだろ。
Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。

せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。



581 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 09:01:06.67 ID:nGMMRLLq.net]
>>570
それはどのプログラミング言語でも同じ。
いずれの言語も独特のスタイルを押し付けてくる。
もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。

例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、
a = b + 100
と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。
ところがそうでない不便な言語に出会ったときに、
双方向に自動的に変わってくれないために苛立つかもしれない。

582 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 11:59:09.62 ID:TAALxp7N.net]
>>571
「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。

a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。
原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。

583 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 13:13:57.85 ID:IoIRdAU7.net]
>>570
むしろスタイルを強制しないプログラミング言語なんて存在するのか?

584 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 13:41:05.21 ID:8gGmt1rZ.net]
松本がRust好きじゃないのはまあそうだろうなとは思う。
この人、テストコードとかも好きじゃないとか言ってたし。
個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。

585 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 18:39:47 ID:qW5+0T97.net]
>>570
マナー講師はフォーマットみたいな個人の好みレベルの話で
コンパイラが指摘する構文とかセマンティクスはその言語の世界における自然法則みたいなものでは

586 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 19:09:08.37 ID:R1kAqWTp.net]
>>575
エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。
自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。
まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。

587 名前:デフォルトの名無しさん mailto:sage [2022/05/16(月) 21:09:51.80 ID:qW5+0T97.net]
>>576
rustのlifetimeとかborrowing周りのエラーはそんな感じでエラーになった理由は教えてくれるよ
例えばどんなエラーの原因を分かると嬉しいと思う?

588 名前:デフォルトの名無しさん [2022/05/17(火) 03:36:27.01 ID:maKCFX0H.net]
Rustのエラーメッセージの親切さは異常

589 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 04:13:37.47 ID:tz+YwBRZ.net]
美人女教師のイラストでも添えたら
エラーメッセージもそれっぽい口調にして

590 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 08:12:17.48 ID:t8H/GFrA.net]
>>577
原因じゃなくて原理ね。
エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。
まぁ、そうなるとrust版D&Eを書くようなものだから大変か。



591 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 08:22:18.93 ID:aOp3kwmZ.net]
>>580
現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ

592 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 08:39:46.07 ID:3guGxSPi.net]
カンマとピリオドの間違いとか
カンマが抜けているとか
うっかり全角文字で記号をうっているとか
初心者にありがちなエラーを
「ひょっとして・・・」
と教えてくれるとうれしいかもしれない

593 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 09:03:36.05 ID:t0SSI9IZ.net]
コンパイラ「Did you mean ',' instead of '.' ?」
俺「Fuck off!」

594 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 11:37:57.12 ID:V5JE6XCC.net]
>>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

595 名前:デフォルトの名無しさん [2022/05/17(火) 16:48:28.24 ID:DWSI+bpc.net]
コンパイラのエラーメッセージに外部サービスのリンクって、もしそのサービス終わったらどうすんの?

596 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 17:38:26.91 ID:V5JE6XCC.net]
>>585
rustのことなら公式サイトへのリンクだよ
さすがに言語のメンテナンスが続く限りは大丈夫でしょう

597 名前:デフォルトの名無しさん mailto:sage [2022/05/17(火) 19:22:14 ID:ARYpWsQd.net]
なお誰もやらんもよう

598 名前:デフォルトの名無しさん mailto:sage [2022/05/18(水) 09:51:35.50 ID:ynn+jzpi.net]
最も重要なマナーは
プログラムなのかデータなのか不明な文字列等を使ってはならない
つまりインタプリタを作ってはならない

文字列指向が好きな人にとっては
オブジェクト指向こそが文字列を否定するマナー講師だった

OOPを無視してstatic変数を使ってもコンパイラに怒られることはなかった
怒っているのはいつも人間だった

599 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:27:36.14 ID:Ahp8TrG/.net]
Rustちゃんは生活のすべてを管理されたトップアスリートでヘソ出しユニに胸はぺったんこでショートヘアのすっぴんだけど最高の記録を出す
Goちゃんはそんじょそこらの陸上部員で県大会レベルだけどボインボインのロングでシャワーを浴びたらそのままGoコンにGoできる
どっちがいいかって話よ

600 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:29:12.91 ID:Ahp8TrG/.net]
なおGoちゃんは無限に二股をかけられるという特技もある



601 名前:デフォルトの名無しさん mailto:sage [2022/05/19(木) 01:33:58.07 ID:d4KplWCH.net]
意味不明なたとえ受けると思ってそう

602 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 01:02:59 ID:A/bJmwRQ.net]
レベルが低すぎてRustスレで書けないRustの話しかしない駄スレ

603 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 03:37:27 ID:tiOCYDba.net]
      ____
     /      \
   /  _ノ  ヽ、_  \
  / o゚((●)) ((●))゚o \  ほんとはRustスレでやりたいんだお…
  |     (__人__)    |
  \     ` ⌒´     /



       ____
     /      \
   /  _ノ  ヽ、_  \
  /  o゚⌒   ⌒゚o  \  でもRustaceanはクオリティ高いスレしか相手してくれないお…
  |     (__人__)    |  
  \     ` ⌒´     /



       ____
     /⌒  ⌒\
   /( ●)  (●)\
  /::::::⌒(__人__)⌒:::::\   だから次世代言語スレでやるお!
  |     |r┬-|    

604 名前:|
  \      `ー'´     /
[]
[ここ壊れてます]

605 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 07:21:25.71 ID:qtpsVsYu.net]
Rustスレはフィボナッチ数列で無駄に盛り上がってる

606 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 08:06:23.76 ID:0sq8H5co.net]
>>594
行列演算とかじゃなくてフィボナッチ数列かぁ……

607 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 09:05:30.63 ID:skF4IFrQ.net]
純粋アルゴリズムにrustは不向きだとなぜ気づかんのかな。。

608 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 09:31:27.55 ID:qCLhnuk6.net]
>>595
なかなかゴミみたいな様相だよ
フィボナッチ数列の第n項はメモ化しなくても線形オーダー、あるいは対数オーダーで計算できるのに、メモ化にこだわりのある人が「そのやり方はmainのループと合わせて計算量はn^2だ」とか言い出して散々

609 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 10:04:11.72 ID:73YqjaVk.net]
>>596
個人的にはむしろ抽象化と両立が難しいところに新しい道ができたように思えた
(過剰なメモ化なら言語関係なくやられがちな気がする)

610 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 16:45:27.87 ID:B4JoNxMk.net]
フィボナッチ数列計算するのにあそこまでする必要はないわ



611 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:32:46.13 ID:nVnkC/ng.net]
スレ見てないけどベクトル演算した方が速いんじゃないの知らんけど

612 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:36:21.53 ID:g6eOZZWy.net]
Rustのスレなんだし、アルゴリズムで計算量を改善したりする話じゃなくて、Rustのベストプラクティスについて話してほしい

613 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:49:16.78 ID:nVnkC/ng.net]
Rustのスレじゃねーんだなこれが

614 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 17:58:31.56 ID:UyuFXYvf.net]
数値計算はやっぱりJuliaかFORTRANが実行速度最速なのかしらん。

615 名前:デフォルトの名無しさん [2022/05/20(金) 18:17:57.67 ID:Cx5X7nNC.net]
>>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)で済む
つまり計算量を大きく節約できる
この二つの区別を出来ているかどうかが重要なポイントかな

616 名前:デフォルトの名無しさん [2022/05/20(金) 18:30:54.17 ID:Cx5X7nNC.net]
ごめん1箇所だけ記述ミスを訂正
>>604
× ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
○ ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がO(n)で済む

617 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 19:27:34 ID:Cb6kz6Up.net]
>>605
コテハン付けろよ。
NGにするから。

618 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 19:32:41 ID:0DaneQt4.net]
頭おかしくなっちゃった!
    -=≡ ∩ 彡⌒ミ ∩
 -=≡   .ヽ(´・ω・`) /
-=≡     (    /
 -=≡   (   ⌒)
  -=≡  し  し'

619 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:02:33.19 ID:AMqMmZYo.net]
>>604
そうそう、こんな感じで論点をどんどん変えてくんだよね
フィボナッチ数列のはずがフィボナッチ数列の1~n項の計算にすり替えられちゃう

620 名前:デフォルトの名無しさん [2022/05/20(金) 20:07:15.27 ID:Cx5X7nNC.net]
『フィボナッチ数 F_n』を求めるアルゴリズム・計算量と
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めるアルゴリズム・計算量は当然異なるからね
前者は繰り返し二乗法で1個の算出がO(log n)がベストだけど
後者で前者の方法を使ったら遅くなる
後者は単純に前二つを足していけばn個の算出がO(n)で済みそれがベスト



621 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:33:10.89 ID:AMqMmZYo.net]
スレの流れとしては前者なのに一人だけ「数列だから初項からn項までの計算量を考えろ」とか頓珍漢なこと言ってるのよね

622 名前:デフォルトの名無しさん mailto:sage [2022/05/20(金) 20:52:13.48 ID:EQAKr5b0.net]
スレ見たけど最初から全員がフィボナッチ数列を列挙させているから
>>609で言うところの後者だな
そして今日書かれた2種類のコード共に後者のイテレーター

>>610
たぶん君だけが勘違いしている可能性が高いw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<270KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef