プログラミング

PHPerがJavaを学ぶ5つのメリット

投稿日:2019年8月27日 更新日:

PHPerである私が会社でJavaの研修担当となり、私自身も大学生以来のJavaを勉強しなおして感じたことを書いていきたいと思います。

対象読者

・PHP初心者
・なんとなくPHPで動くプログラムを書いてきた人
・オブジェクト指向は何となくしか理解していない人
・バグを作ったり、直したりを繰り返している人

1.オブジェクト指向がきちんとわかるようになる

何のオブジェクトにどんなプロパティとメソッドを持たせてあげなければいけないか?
ということを意識してコーディングしないといけないので、自然とクラス設計に対する意識が高まります。

今までオブジェクト指向に対して曖昧な理解しかなかったのに、わかっていると思っていたことを猛省しています。汗)

2.エラーに強くなる

Javaが面倒だと以前から思っていたのは、例外処理を記述する必要があったからです。
(PHPにもありますが、ノンフレームワークでプログラミングしているレベルでは使いもしませんでしたし、フレームワークを使い始めてからも、自分で例外処理を書くことなどありませんでした)

でも研修で教えなければと自分でも学び直すうちに、例外を意識することでエラーの発生原因をコーディング時点で分かっている状態になれると気づきました。(遅すぎ!)

これを意識できると自然とバグを減らすことができるようになると思います。
また、これが意識できない人と一緒に仕事するのは・・・という気持ちにもなりました。

私自身、もっとエラーに強いコードを書けるようになりたいですね。

3.型を明確に意識するようになる

Javaは静的型付け言語のため、必ず型を定義しないといけません。
最初はこれを面倒だと思っていましたが、何の型で変数名は何にするのかを意識することで、今まで変数の値しか意識していなかったことに気づきましたし、変数の型を意識してコーディングできるようになりました。

変数の型に対する意識の弱さを改善できたことは良かったと思っています。

※PHPでもStrictモードが使えることを最近知りました。
PHP: declare – Manual

4.変数スコープを意識できるようになる

Javaはループ内変数はループ外では参照できないので、最初はこれがものすごくキライでした。
今では慣れてきて、当たり前のようにスコープを意識しています。

そのおかげで、定義した変数がどこで使われるかということがしっかりと頭に入ってくるようになりました。

むしろ今までそれを意識できていなかったことが恥ずかしいくらいなので、これを機に直すことができてよかったです。

5.プログラムを書く際の厳格さが身につく

1~4の総まとめになりますが、なんとなく動く感覚がまずいと気づけるようになりました。

このクラスにこれを持たせて、ここでこう処理して、この時は例外処理して・・・
そういう感覚が身につくのがJavaです。

でもプログラミングってそういう仕事ですよね?
変数の使いまわしができると思っていた時の私はまさしく、「クソプログラマ」だったわけです。

最後に

私はJavaの学習を通じて、プログラマとして成長できました。
今までPHPしか触ってこなかった人で、オブジェクト指向をきちんと理解したい、プログラマとして突き出たいと思っている人は是非ともJavaを学んでみてほしいと思っています。

まとめ

・Javaを学ぶことでオブジェクト指向がわかるようになる。
・エラーに強いコーディングスタイルが身につく。
・変数の型とスコープを意識できるようになり、バグに強い体質になる。
・プログラマとしてのレベルを高められる。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

elseを使わないことでパフォーマンスが下がる場合の対処法

  状況 前回記事(なぜelse、else ifを書かないようにすべきなのか?)のような ifのみで判定されており、それがfor文等の繰り返し処理の中にある場合は パフォーマンスが下がる。 …

【SpringBoot入門】#13~ 独自のエラー画面の作成

概要 何らかのエラーが発生した場合に、エラー画面を表示して対応したいことがあります。 デフォルトのwhite label Error pageのままというわけにはいかないので、 独自のエラー画面を作成 …

【Java入門】繰り返し処理(while, for)

概要 繰り返し処理の制御構造について学んでいきましょう。 繰り返しには以下があります。 while(条件に一致する間だけ繰り返す) do-while(一度必ず実行し、その後は条件に一致する間だけ繰り返 …

【Java入門】プロジェクトの作成からHello, World!まで

概要 プログラミングの入門といえば「Hello, World!」です。 まずは最も簡単なプログラムを動かすことから始めていきましょう。   プロジェクトの作成 新規プロジェクト作成 新規で「Javaプ …

【SpringBoot入門】#4~ headerの作成と埋め込み

概要 全ての画面で使用するヘッダーを作成します。 そして、Index画面に埋め込むところまでを行います。 共通ヘッダーの作成

・&lt …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。