👏

Rust初心者がRust.Tokyo 2023 をオンライン視聴した感想

2023/10/31に公開

2023/10/21(土)、Rust.tokyo 2023を自宅からオンライン視聴しました。

https://rust.tokyo/2023

この記事においては、Rust歴1ヶ月の筆者がRust.tokyoにオンライン参加した感想レポートを、筆者がRustを始めた経緯などとも絡めつつ記述します。

TL;DR

  • Rust初心者でもRust.tokyoはとても楽しめたし、勉強になった
  • 組織におけるRustの導入プラクティスとしては、「まずは少人数から」が良さそうだと感じた
  • ライブリーディングは、Rustにおいては特に学習としての効果が高そう

筆者のRust(とその他)歴

筆者は今年の10月から、株式会社LabBaseにおいて長期インターンとして勤務しております。チームとしてはリサーチチームに所属しており、Rustを用いたWebバックエンド開発や、新規プロダクト/機能の開発を行っております。

https://labbase.co.jp/

これまでに経験した言語はPython, TypeScript, Rubyなどで、RustはLabBaseにジョインしてから初めて経験しました。以前から低レイヤ寄りな「かっちりした」言語としてのRustには漠然とした憧れを抱いていたこともあり、(めちゃくちゃ稀少な!)Rustを使った長期インターン求人を公開していたLabBaseに応募したところ、なんとチャレンジさせていただけることになりました...!

Rustの経験はLabBaseにジョインしてからなので、Rust歴は1ヶ月ほどということになります。
Rust.tokyoについては「初心者すぎて何も分からず終わるのでは...」という不安もありましたが、嬉しい誤算というべきか、とても楽しく視聴・勉強することができました!

全体の所感

前提として、筆者はオンラインでのライブ視聴を行いました。

  • ハイブリッドでの配信もあり、地方住みでも気軽に参加できてよかった
  • 全体として組織における導入の話が複数あり、現実的かつ実践的だなと感じた

各talkの感想

IoTプラットフォーム開発におけるRustの活用

https://docs.google.com/presentation/d/1Qqb5-7xNPzREMDEuj8d_tzMGRPIjYIWaJm1aEK9fP7g/edit#slide=id.g29016318864_1_0

  • 「多言語におけるメモリリーク対策はRustでも大事」という内容は教訓的だった
    • 一方で、多言語において行うべき対策の方法は人力であることが多くヒューマンエラーの完全な排除はできないので、やはりRustのコンパイラは強力なツールだなとも痛感した

かにさんタワーバトル

https://speakerdeck.com/sadnessojisan/kanisantawabatoru

  • Nodeのreplacingに11ヶ月かかっているという話、なんだか励まされる気持ちになった
  • use axum only in controller and router

    • axumを触っていて、これは実感としてかなりわかるな〜と感じた

他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

https://speakerdeck.com/neuecc/ta-yan-yu-gameinnochang-he-norustnohuo-yong-fa-csbindgenniyoruc-number-x-rust-ffishi-jian-shi-li

  • Cysharp、C#に強すぎる...
    • GitHub Starsの数にかなり驚いた
  • ネイティブにおけるC++ vs Rustという選択肢の対立は世の中で結構発生してそう

素材メーカーが内製開発でRustを使っている話

  • Clippyが便利とのことなので、導入しようと思った
    • そもそも自分は今までRustのlinterを使っていなかった.....
  • Formatterとしてはrustfmtなどが有名だが、Clippyとの重複・差分が気になる
    • Clippyだけで完結させられるみたいなことってあったりするのだろうか?

Rustがユニークビジョンにもたらした恩恵と苦労 ~そしてお返しへ~

  • パフォーマンスが厳しく要求される場面においてRustを使用とのこと
    • Rust vs 主要Webバックエンド技術(Rails, Goなど?)でパフォーマンスの定量比較をしてみたい気持ちに
    • シンプルに計算量が高い処理においては、かなり差が出そう

並行キャッシュライブラリの開発で得られた知見

https://speakerdeck.com/tatsuya6502/bing-xing-kiyatusiyuraiburarinokai-fa-dede-raretazhi-jian

  • 自分が並行処理周りについて何もわかっていないことを改めて痛感...
    • まずは並行処理の基本(Rust以前に)と、Mutex/Arc周りを堅実に理解したい...

Rust業務経験がない開発者で集まって汎用ツールを開発した話

  • 雰囲気でunwrapを使っていたが、ちゃんと理解するきっかけになった
    • 以下など勉強になりました

https://zenn.dev/asamin/articles/6a9c29a89a8064
https://qiita.com/nirasan/items/321e7cc42e0e0f238254

Enabling Rust in Critical Environments

  • RustコンパイラツールチェーンのFerroce

https://ferrous-systems.com/ferrocene/

  • よさそう
  • Rust Tokyoの場合Web系の発表が多かったが、確かに組み込みなどで採用する場合、安全性はクリティカルな問題になるなと感じた
    • とくに本邦だと、Rustを採用している企業はWeb系が多い?

https://whatweuse.dev/tool/rust

  • 言語の特性上、ハードウェアにおけるポテンシャルは高そうなので、今後に期待

まとめ

Rust歴のまだまだ浅い筆者ですが、今回Rust.Tokyo2023に参加し、Rustコミュニティの雰囲気をざっと掴むことができたのはとてもよい経験となりました。また、このようなカンファレンス一般に言えることかもしれませんが、参加することで「自分の知らない領域」に短時間で接し、そこから学習を深めていくきっかけにもなる点もとても魅力的でした。

筆者としてもRustは書いていてかなり楽しい言語だとは感じているので、今後本邦でもコミュニティが発展し、導入企業が増えていくと個人的にはとても嬉しいです!

Rust.Tokyo2023の関係者・発表者のみなさま、大変ありがとうございました。来年(?)もぜひ参加したいと思います。

株式会社LabBaseの宣伝

最後になりますが、少し宣伝をさせてください。

筆者は現在、Rust.Tokyo 2023のシルバースポンサーでもある株式会社LabBaseでインターンをしております。

LabBaseは、「研究の力を、人類の力に。」というスローガンのもと、理系学生向け就活サービス研究者・技術者向け転職サービスを運営しています。これらのアプリケーションの開発に、主にRustを使用しています。

LabBaseは現在採用活動に力を入れています。
「Rustを書く仕事がしたい」「Rustが好き」といった皆様とお話できると大変ありがたいです。
ご興味のある方がいらっしゃいましたら、こちらからCTOとのカジュアル面談をぜひお願い致します!

Discussion