2
2

40代事務職Java面白い!6週間勉強してオブジェクト指向とGithub便利だなって思った

Last updated at Posted at 2023-12-28

公式ドキュメントを読め!おじさんに疲れたので、じゃあ英語で読めるようにアメリカのオンライン大学のコンピューターサイエンス学部に2023年9月に入学しました。現在社会人学生です。
11月からプログラミングのJavaコース入門で勉強してます。

1週間のカリキュラム
使用しているテキスト※公式サイトで公開されているシラバスより引用してます
Introduction to Programming Using Java Version 9.0, JavaFX Edition
https://math.hws.edu/javanotes/index.html

公式サイト掲載シラバスよりhttps://www.uopeople.edu/become-student/prepare-for-uopeople/prepare-college-courses/programming-1-cs-1102-learning-materials/

  • その週のテーマのテキストを読む
  • その週テキストで学んだことを英語のエッセイ形式で書く
  • 毎週プログラミングのコードを書く課題

こんな感じです。

プログラミングの課題は、世の中によくあるシステムで、こういうのを作ってみてください。という感じです。

1~4週でJavaの基礎を終わらせる エラー処理もしっかりやりましょう
5週目:オブジェクト指向で作りましょう カプセル化 class method バシバシ使いましょう
6週目:ポリモーフィズム、継承 オーバーライド インターフェースしっかりやりましょう

わかり易く説明すると
スッキリわかるJava入門の本を 6週間で理解できて自分で簡単なシステムを作れるようになるって感じです。

5週目のオブジェクト指向が最初なれなくて、作っては壊し作っては壊ししてました。この週は毎日深夜まで数時間コード書いてました。コードが多くなっていけばなるほど、エラー処理を追加したり、そしたらなんかどっかで{}のつけわすれしたり、変なループしたりしてどこを直していいか分からなくなりました。

でもオブジェクト指向で作ると、機能をガンガン切り出して使いまわしできるので、これ便利じゃん!って思いました。いかに使い回せるように作るのかと言うのって大事ですね。

5週目にそういえばGithubで履歴管理すれば、ソースコードの履歴管理できたはず!っというちょっとかじったgitを思い出しGit管理を導入しました

そしたら間違えても戻れるし、試しにブランチ作って遊んでみたりしました。でもいまいちマージするときのやり方が理解してないからそれはまた勉強する

話は戻ると、インターフェースや継承まで使えるようになると、どんどんコードがきれいになっていくので、面白くなってきました。

最初はこんなのやだよ。。。Javaなんてやりたくないよ、Pythonで遊びたいよ。。。って思ってました。
でもこうして強制的にJavaを勉強する環境になって

  • データ型って最初はめんどくさいけど、どんなデータが入っているかわかるから便利
  • データ型でエラー多いけど、エラーで変な処理をしてることに気がつけるから助かる
  • オブジェクト指向だと、どのメソッドorクラスがエラー起こしてるかわかるから修正しやすい
  • インターフェース便利すぎる継承楽しい最高じゃん
  • 英語と自分で買ったスッキリわかるJava入門のテキストで勉強してるから、公式ドキュメントに抵抗なくなった
  • コメントを書くとき英語で書けばいいから日本語と英語にわざわざ変更しなくていい
  • エラーは英語でも普通によめるようになって助かる
  • Git管理は一人でも大事。こまめなコミットも大事

特にインターフェースと継承は沢山の人と開発するときにはとても便利な機能だなと感じました。同じコードをわざわざ全員書かなくてもいいっというのが私が気に入ったポイントです

ここまでやできるようになるとJavaは大変だけど、面白いなって思います。あとの設計を考えたインターフェースとかなんか、後々を考えて要件を定義するスーパーエンジニアになった気分になれます。

このJavaの授業全部で8週間あるから、あとはGUI操作して今まで作ったやつをさらにパワーアップしたツールを作らなきゃいけない

マジ大変さがドラゴンボール並みにインフレしていく
でも楽しいからなんとか頑張れるよ

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2