[過去ログ] Rust part16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
871: 2022/10/04(火)08:55 ID:fDq9dWrD(1) AAS
C系は良くも悪くも動いてしまうんよな
そんで知らぬ間に副作用まみれになっている
872: 2022/10/04(火)09:10 ID:9SKodj4D(1) AAS
>>867
慣れの問題も大きいのでは
873: はちみつ餃子 ◆8X2XSCHEME 2022/10/04(火)09:22 ID:P4nmisNi(1/5) AAS
雑に始めてから整理していくスタイルなら C++ のほうがやりやすいというのは理解できる。
でも雑に始めたら整理する機会などないのが現実。
874
(1): 2022/10/04(火)09:24 ID:BONyu2jp(1) AAS
>>867 ですが、
部分から始められるというのは、部分的な学習からということです
ここまで学習すればここまではできるとか
rustでは最初のプログラムを作るにもたくさんのことを知らなければならないというか
Haskellをかじったことがあり、とても興味深いのですが
わかりにくい独り言に、レスをくださってありがとうございました
875
(1): はちみつ餃子 ◆8X2XSCHEME 2022/10/04(火)09:48 ID:P4nmisNi(2/5) AAS
>>874
> 部分的な学習から

できない。
部分的に学習して何かができたように見えても必ず間違ったものを書いているのが C++ というもの。
学習を進めていくにつれて間違っていたことに何度も気づくのでうんざりした経験があるだろ?
876
(2): 2022/10/04(火)10:23 ID:5od2FDFX(1) AAS
部分的な学習ってのは
C with classes -> STL -> move
みたいな感じじゃない?
他人のコード読むなら全部必要だけど、独習してる分には最初テンプレートとかなくてもいけるでしょ
877
(2): 2022/10/04(火)12:43 ID:7zYgBA5I(1/2) AAS
>>875 >>876
横からだけど、「部分的な学習」はもっと手前のところ。初心者でも
空のコード->リテラル->関数呼出->ライブラリ使用->変数定義・使用
あたりで使い方が広がるんだけど、Rustは関数呼出-変数あたりに概念のデカイ塊がある。

このあたりをまとめて覚えないと機能するプログラムを組めないので、学習者には辛い状態が続く。
Rustはc++以上に挫折しやすいと思う。
878
(1): 2022/10/04(火)12:54 ID:zVqHX6VA(1/10) AAS
借用と実体(所有権)を常に意識しなきなならんからね
Cだと全部ポインタ使うから意識しないんだけどね
879: 2022/10/04(火)13:01 ID:NJ6V6LdV(1) AAS
どんなプログラミング言語でもいいから何か言語を学習済みの人にとって
他の言語を学習するのは部分的に段階的にすることが可能だよ
もちろんRustでも同じで初心者向けの学習本
The Rust Programming Language
外部リンク:doc.rust-jp.rs
を順番に少しずつ進めれば部分的に段階的に学習できるよ
880
(1): 2022/10/04(火)13:14 ID:fXb8hG+g(1) AAS
>>877
段階を経ず一気に進める無謀なことをする人だけが挫折するかもしれないが無謀なその人が悪い

>>878
いきなりそこまで進める人は単なる無謀者
まずは他の言語と同じ使い方
・実体のコピー
・参照(=借用)
のみ使っている限り所有権なんて知らなくてよい
参照を戻り値としない限りライフタイムも知る必要ない
まずは部分的な学習をすればいい
省1
881: はちみつ餃子 ◆8X2XSCHEME 2022/10/04(火)13:25 ID:P4nmisNi(3/5) AAS
>>877
> 関数呼出-変数あたりに概念のデカイ塊がある

C++ にもある。
あるのに中途半端な状態で間違った使い方が出来てしまうのが問題の根源。
まともに機能していないことに気づかずに
機能するプログラムを作れていると誤解して後になって結局は行き詰る。

>> 878
意識する必要はある。
コンパイラが検証してくれないのだからむしろ C のほうが強く意識する。
882: 2022/10/04(火)13:37 ID:pLeAl7hn(1) AAS
まずは(Copy実装型の)数値演算だけやって変数と関数の使い方を覚えればいいだけじゃん
所有権なんて出て来ないぜ
その後にようやく数値の配列をやってその参照渡しと可変参照渡しを学ぶ
といったように順番にちよっとずつ学習していけば全くの初心者でも躓くことはない
883: 2022/10/04(火)13:44 ID:0vVjyJiG(1) AAS
相変わらず複オジはクソだな
884: 2022/10/04(火)13:49 ID:ez1nu7fa(1) AAS
部分的な学習ができないと主張してるやつは、いきなり無茶なことをしてるバカだけだな。
885
(2): 2022/10/04(火)14:54 ID:zVqHX6VA(2/10) AAS
>>880
でも標準機能の中でその理解が必要なんだよ
into_iterとかiterとか
その辺は本当にちゃんと理解してないとまともなループする書けない
886
(1): 2022/10/04(火)15:06 ID:ZhUau2yw(1) AAS
言語の学習ではあまりないと思うけど複数のコンポーネントを全て完動させないと到達出来ない領域があるのは確か
レイヤーが下がるとそう言うのも珍しくない
887
(1): 2022/10/04(火)15:37 ID:attOzucb(1) AAS
>>885
それは一気に全てを理解しないといけないと思い込んでるアホ人間だから
初心者のうちはfor文なんてざっくりした理解で十分に学習をどんどん進められる
後にIntoIteratorを理解する段階になってようやくfor文を完全に正解に理解すればよい
888: 2022/10/04(火)15:56 ID:NBwKbSDK(1) AAS
初心者がなんか言ってるwww
889
(2): 2022/10/04(火)16:01 ID:zVqHX6VA(3/10) AAS
>>887
いやそれは無理があるだろ
所有権と借用の理解は型変換の時にも必須
collectとか使うときにも必須
競プロみたいな数値だけ扱うようなプログラムならかけるけど
890: 2022/10/04(火)16:03 ID:LLFCSjL7(1) AAS
>>886
それは言語の学習と関係ないよね
Rust固有の話でもないね
つまり今回の話と全く関係ないでしょう

ちなみにそういう時はサンプルコードなどをまずは魔法の呪文とブラックボックスとして受け入れましょう
そして一つずつ把握する範囲を広げていけばよいのです
失敗する人は最初から全てを把握しようとする人だけです
891
(1): はちみつ餃子 ◆8X2XSCHEME 2022/10/04(火)16:06 ID:P4nmisNi(4/5) AAS
>>885
問題点が分かってきた。
「部分的な学習」というのは項目をひとつきちんと理解してから次の項目の学習に移るみたいなスタイルを前提としているんじゃないか?
俺が思ってた学習スタイルは「概念が存在していることは知っている」という程度の全体像から解像度を上げていくような方向性だった。
機能は互いに連携するので「この部分は完璧にわかっているけど他はまだ」なんて状況は有りえんし、そういう学習方法できちんと身につくとは思わない。
(もちろん人によってやりやすいスタイルはあるのだろうけども、個人的にはオススメ出来ない。)

流し読み程度でも入門書を一度読めば (細かい借用規則を覚えていなくても) iter を使うくらいは出来るよ。
そこから何度でも読んで細かい理解を深めていくんだよ。
892: 2022/10/04(火)16:09 ID:Yud6QviI(1) AAS
>>889
キチガイは黙っていろ
どんな世界でもそんなに一気に大きく手を広げて学習しようとして上手くいくわけがない
単純に一つずつやっていくのが正しい
collectなんて後で困らん
そもそもイテレータ使わなきゃcollectは出て来ない
ぶっ飛んだことを書き込んでいることを自覚しろ
893: 2022/10/04(火)16:10 ID:froE0MIe(1) AAS
これがいつもの複オジ演w
894: 2022/10/04(火)16:15 ID:Qrm8xufh(1/2) AAS
>>889
collectを使わなくてもプログラムを書けるから少しずつ学習していく方法でも支障はないし
collectを一旦は魔術だとみなして仕組みの詳細まで把握せずに利用して進めていく学習方法でも支障はないし
FromIteratorなんてあとから学べば十分ですよ
895
(1): 2022/10/04(火)16:17 ID:zVqHX6VA(4/10) AAS
いやcollectをここまで安全かつ効率よく実装してる言語はないのにそれを使わないのは論外
896
(1): 2022/10/04(火)16:19 ID:zVqHX6VA(5/10) AAS
戦国時代に例えるならここに名刀があります
ワタクシは未熟だからこの刀は使いませんと言って
戦に出て殺されるみたいな話
その名刀を最初から使えるように訓練すべき
897: 2022/10/04(火)16:20 ID:QGiHkjYG(1) AAS
馬鹿じゃねぇの
898: 2022/10/04(火)16:26 ID:Qrm8xufh(2/2) AAS
>>895
使いたいならば使えばよいだけですよ
初心者がFromIteratorの仕組みまで理解しないとcollectを使っちゃいけないのですか?
この場合の『部分的に学習』とはcollectの機能の一部をまずは表層的にのみ理解して使ってみることです
そしてこの『部分的に学習』は可能です
899: 2022/10/04(火)16:29 ID:BXFwwNrI(1) AAS
隔離スレに帰れ
900: 2022/10/04(火)16:29 ID:zVqHX6VA(6/10) AAS
いやだから「表層的な学習」だとコンパイルすら通せないんだって
1-
あと 102 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.022s