Rust の嬉しさをより多くの日本語話者に知ってもらうためには、スタンフォードで強く敷かれている educational benefit の概念を Rust コミュニティが抱くことが大事なのではないか、という私見

73

サムネ用

以下本文

Rui Ueyama @rui314

スタンフォードの授業で「え、ここまでそれわかってなくて聞いてたの?」という質問をしてる生徒はかなりいたし、教える方は驚くこともなく普通にそういう基本的な質問に答えていたので、ああいうのは見習いたい(どちら側も)。

2021-08-14 21:55:14
Rui Ueyama @rui314

こういうの、難しい問題とかではなくて本当に簡単なやつで、逆に具体的な例を思い出せないけど、例えば集合論で「∅と書いてあるのは数字の0ってこと?」みたいな。ここまで何十分も空集合がわからずに聞いてたのか〜みたいな。

2021-08-14 22:15:32
Rui Ueyama @rui314

それに対して講師は普通に「これは何も含まない集合を表す記号で」と教えてあげるみたいな。

2021-08-14 22:16:03
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

「Rust で初っ端から直面するコンパイルエラーの数」を「Rust の難しさ」と感じる人が多いんじゃないですかね。つまり @ezoeryou さんのいう「コンパイルエラーが出たので、運が悪かったとか、失敗したとか、怒られてつらい気持ちになったなどと感じることがあるかもしれない」 twitter.com/tanakh/status/…

2022-07-22 11:41:40
Hideyuki Tanaka @tanakh

いやでもなんか二言目には学習曲線がとか言われるのはやっぱ気になるとこではあるよな。Rust秒で書けるようになった僕が賢過ぎるだけなんか?そんなわけないだろ。現実に言語自体はそれほど複雑ではないはずなんだよな。ならなんで難しいと言われるのか。

2022-07-22 11:35:04
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

「単にあまりにもバグが出ない」という Rust の嬉しさを体感できるのは、Rust でそれなりの長さと複雑さのコードを書いてからであって、実際にはそこに至る前に「怒られてつらい気持ちになったなどと感じ」て挫折して Rust を辞める人が多いんじゃないですかね twitter.com/tanakh/status/…

2022-07-22 11:46:26
Hideyuki Tanaka @tanakh

ここまで卑屈な人おるんか。僕がRustなら書きやすいと感じるのは、別にRustの学習に膨大な時間をかけたからでもなく、そんなことを自分に言い聞かせるまでもなく、単にあまりにもバグが出ないからだよ。ていうか、Rustの学習に膨大な時間がかかるなら、こんなに流行ってないと客観的には思うわな。

2022-07-22 11:17:04
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

ということで、京大マイコンクラブ (@KMC_JP) で「Rust を知ろう 2022」というのを開催した際には、「Rust は便利な言語である」ということを伝える・コンパイルエラーへの感謝の念を抱かせるといった点をかなり強めに押し出すよう気をつけましたね hsjoihs.hatenablog.com/entry/2022/06/…

2022-07-22 12:45:58
いかなご @ikanag0

「コンパイルエラーへの感謝の念を抱かせる」←趣があってそこはかとなくいい文字列

2023-02-12 13:21:55
Hideyuki Tanaka @tanakh

そうなんだよなあ。ちょっとしたコードで所有権に引っかかることなんてまずないし、引っかかるとしたら凝った構造をしたソフトを設計するときだ。んでそうなってくると、別に他の言語でも困るでしょっていう。解決の仕方がRustだとコンパイラに怒られないようにするで、他の言語はとにかく気を付ける。

2022-07-22 13:01:12
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

@tanakh 「『まずない』の、我々は例えば関数の引数とかに自動的に & を書くようになっているからでは?」という気持ちはあります(もちろんコンパイラが「&付けなさいよ」って言ってくるんですが、ちょっとしたコードを書くときに「所有権」に由来するエラーが出る、ということ自体に難しさを覚える人はいる)

2022-07-22 13:12:42
Hideyuki Tanaka @tanakh

@hsjoihs うーん、さすがにコンパイラの言うとおりに機械的に直せばいいだけのやつで難しいと感じるのはなんか問題な気がする。

2022-07-22 13:20:04
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

@tanakh それを「問題」と見なすような価値観の持ち主により Rust は使われ好まれているのですから、逆にいうとその価値観をまだ共有していない相手に Rust を教えたりする際には、先にその価値観のことを明示的に教育するのは不可欠だと思うんですよね twitter.com/hsjoihs/status…

2022-07-22 13:26:21
hsjoihs (はすじょい) @hsjoihs

なので、私が人に Rust の話をするときには 「さあ皆さんご一緒に、 ・コンパイルエラーは普通 ・コンパイルエラーが出たらありがとう ・コンパイルエラーが出たら大喜び」 ezoeryou.github.io/cpp-intro/ には必ず言及するようにしていますし、この価値観を教え込む前に Rust をやるのは挫折感を生むかと

2022-07-22 11:43:27
Hideyuki Tanaka @tanakh

@hsjoihs 価値観の問題なのかなあ。コンパイルエラーが起きたらメッセージを読むのは普遍的な話な気はしますけど。

2022-07-22 13:28:49
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

@tanakh 前にこんな記事が話題になってました。ちなみに、私の体験を言うと、英語圏の大学であるスタンフォード大学でもこういうの普通に見かけました。我々にとっての当たり前を「普遍的」だと思ってしまうのはわりと危険なんじゃないですかねとは思います web.archive.org/web/2021010608… pic.twitter.com/IZhfhJMrxS

2022-07-22 13:34:06
拡大
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

スタンフォードの物理学科、「みんな背景知識は異なるんだから、『そんなこともできないのかよ』みたいなことを人に言わないこと、言ってしまったら即座に謝ること」とかがシラバスに載っていた授業がありますね。大事にしていきたい姿勢だと思っている twitter.com/hide_ramen_san…

2022-10-12 09:52:30
Hideo Oide🍜 @hide_ramen_san

私は技術者のヒエラルキーのトップを高くするにはボトムの部分の裾野を広げるのが大事だと信じているので、低レベル帯の人達を切り捨てるような発言をするような人がトップに居るようなコミュニティは廃れてしまえば良いと思ってしまう。

2022-10-11 19:48:02
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

Rust、学習するのが難しい言語かどうかは意見が割れるが、「学習しないと書けない言語」ではあると思うんだよな

2022-10-28 21:19:02
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

「Python をちゃんと理解せずにとりあえず Python を使って問題を解決する難易度」と「Rust をちゃんと理解せずにとりあえず Rust を使って問題を解決する難易度」は大きく異なると思うのよね

2022-10-28 21:21:21
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

Rust はこの 5 年で本当に学習しやすい言語になってきたけど、一方で「学習せずに使いたい」という人類(私もとても気持ちはわかる)の巨大なニーズに応える言語では(まだ)ないのよね

2022-10-28 21:25:46
🈚️うひょ🤪✒📘 TypeScript本発売🫐 @uhyo_

いや、Rustは速さがどうとかメモリ安全性がどうとか以前に言語仕様がとても優れているから可能な限りあらゆる場面で使われるべきだよ(過激派)

2023-02-12 12:20:07
はすじょい (hsjoihs)@ゲムマ2024春【G14】 @hsjoihs

Rust 使い、「こんなにいい開発体験が得られるのに、そこにさらに速度とメモリ安全性までついてくるんですか!?」で使ってる人がだいぶ多そうよね twitter.com/uhyo_/status/1…

2023-02-12 12:21:37
1 ・・ 4 次へ