Rustプログラミング入門 (最高峰・最難解言語)
開発者がもっとも好きなプログラミング言語 1 位 (6年連続) "Stack overflow developer survey"
Description
本コースでは、コンピュータ言語の最高峰・最難関言語であるRustの言語仕様について学習します。
開発者が最も好きな(Most loved)プログラミング言語 6年連続1位 *Stack Overflow Developer Survey
***Rustは近年のプログラミング言語で最も難解な言語であり、特に日本国内においては第一線で活躍するエンジニアやベテランエンジニアでもRustを完全に理解している人はほとんどいない為、部分的にでも理解できるとかなりのスキルの差別化になると思います。***
Rustは、C/C++レベルの自由度/高速処理性能を備えつつ強力なメモリ安全性を保証してくれる素晴らしい言語です。Mozilla社によって開発されてきましたが、2021年2月にRust Foundationが設立され(メンバー : Google, Microsoft, Facebook, Mozilla, AWSなど)各社がRust言語が将来に渡り非常に重要な言語であると位置付けていることが分かります。
具体的な使用例としては、Webアプリケーションでは Golangの代替、組み込み機器におけるC/C++の代替、Web Assembly(WASM) 、またRustはシステムプログラミング言語でありOSを開発することも可能です。GoogleもAndroid OS開発にRustを採用することを2021年4月に発表し、Microsoftは既にWindows 10から一部のOSの機能をRustで置き換えています。AWS Lambdaとの相性も非常に良いです、AWS Lambdaは実行処理時間と割り当てメモリに応じて課金されるため、実行処理時間が短くメモリが最適化されたRustにより最小コストでAWS Lambdaを運用出来ます。
**学習のポイント**
システムのメモリ構造とポインタ
イミュータブルとミュータブル
シャドーウィング
スタックとヒープ
文字列スライスとString型
所有権と二重解放エラー
Stack overflow
Vector型とBoxポインタ型
所有権・参照・借用
ライフタイム (Non-Lexical Lifetime)
ダングリングポインタ
RAII (Resource Acquisition Is Initialization)
Generics
Generic lifetime annotation
構造体と列挙型
マッチングパターン
トレイトとトレイト境界
ユニットテスト
外部ライブラリとカスタムライブラリ
What You Will Learn!
- Rustの言語仕様
- 所有権・借用・ライフタイム
- Generics・Traits・構造体・列挙型・ユーザー定義型
- Unit test
Who Should Attend!
- Rustをはじめて勉強する人
- システムプログラミング言語に興味のある人
- Golangより高速なWebバックエンド開発を目指す人