Java・Python・Rustを、文法の入門から小さなアプリを自分で改修できる段階まで学ぶ講座です。各言語20回の本文と各目次、この記事を合わせて64記事あります。
まず一つを最後まで
プログラミング自体が初めてなら、短いコードで結果を確かめやすいPython編から始める順を提案します。Javaを使う予定があるならJavaからで構いません。Rustを目的にしている人はRustから始め、所有権の回をゆっくり反復してください。三つを同時に暗記する必要はありません。
テーマの構成
最初に環境、型、変数、条件分岐、反復を学びます。次に関数やクラス、コレクション、エラー処理、データの変換を学びます。中盤以降はテスト、ファイル、データ形式、通信、並行処理を扱います。JavaとPythonではSQLの実習もあります。Rustは所有権や型の設計に多くの回を使い、SQLは次の学習対象としています。
各言語の最後は同じ題材のタスク管理CLIです。追加、一覧、完了、再起動後の保存内容、破損データの拒否を実装します。テーマ別のタグと各記事の前後リンクから移動できます。
聴く、動かす、変える、説明する
読み上げではコードブロックが省略されるため、各記事の文章で入力、処理、結果を確認します。その後、実行環境でコードを動かしてください。結果を予測してから実行し、値を一つ変え、なぜ変わったか説明します。分からない用語だけを公式資料で調べ直すと、暗記の負担を減らせます。
練習問題には解答や考え方があります。最初は答えを見ずに試し、間違った場合は「何を想定していたか」を記録します。翌日には同じ問題を少し変えて解きます。完璧に覚えてから進む必要はありませんが、実行できない状態を放置せず、最小の例へ戻ります。
言語をまたいで比べる観点
Javaでは参照とオブジェクト、Pythonでは名前と可変オブジェクト、Rustでは所有権と借用を比べてください。同じ代入に見えても、複製、共有、移動の意味が違います。失敗はJava・Pythonの例外とRustのResultで表現が異なりますが、入力を拒否し、原因を伝え、データを壊さない目的は共通です。
完成するCLIの保存形式や文字数の定義は、言語ごとに明示しています。JavaはUTF-16単位、Pythonはコードポイント、RustはUnicodeスカラー値を数えます。これらは見た目の文字数と常に一致せず、ファイル形式も共通互換を約束していません。比較するのは構文の置き換えだけでなく、その契約です。
初心者卒業を確かめる課題
各言語の第20回では、出来上がったアプリへの追加要求を提示します。仕様、コード、テスト、READMEをそろえ、初見の人が動かせる形にしてください。分からないAPIを調べることは問題ありません。判断の理由を説明でき、正常系と失敗系を自分で検証できることが目標です。
小さなアプリを自力で改修できても、大規模システムの設計や運用をすべて習得したことにはなりません。この講座はそこへ進む土台です。読了だけで実力を保証せず、演習と卒業課題で到達を確かめます。
学習記録の残し方
各回について「理解した判断」「実行した例」「失敗した入力」「次に調べること」を一行ずつ残します。Gitを使うなら実習用のリポジトリを作り、小さな変更ごとに差分を確認します。秘密情報や個人のデータを入れず、実習用ファイルで練習します。