【C# WPF】WPFを理解したいC#初心者の話【オブジェクト指向編3】

C# WPFについて学んでいく過程を備忘録として残して置きたいと思います。

1. オブジェクト指向についてもっと知りたい


前回はオブジェクト指向について、メリットとデメリットをそれぞれまとめてみました。

実際に開発においてどのような使い方をすれば、オブジェクト指向のプログラミングを活かすことができるかはなんとなく理解できたので、今回はもう少し踏み込んで、どのようなプログラム言語で利用されているのかをまとめてみたいと思います。

2. オブジェクト指向のプログラム言語は何がある?


オブジェクト指向でコーディングを行うことができる言語は数多く存在します。

その中でも、特に開発現場で使われている代表的な言語をいくつかピックアップして紹介していきます。

・Java
・JavaScript
・PHP
・Python
・C++
・Swift
・C#

2-1. Java

「Java」はオブジェクト指向のプログラム言語の中でも特に使われている印象です。

その用途はかなり幅広く、特にデスクトップアプリケーションやAndoroid向けアプリケーションの開発で多く使われています。


オブジェクト指向のプログラミングが現在開発の主流の手法となってきている点や、使われる場面が多い点などから、Javaを扱えるプログラマーは多く求められています。

プログラマーとしてこれから仕事を獲得していきたいという方はJavaを学んで損はないと思います。

2-2. JavaScript

「JavaScript」はWebアプリケーションの開発の中でもフロントエンドの分野、つまりWebサイトのレイアウトや表示後の処理といった部分、ユーザーが直接触る部分を担当する開発で特に活躍している言語です。


特徴として、ブラウザで動きを与えることが可能な言語だという点が挙げられます。

ユーザーが画面操作を行ったら、それに合わせて動作を加えることができるため、Webサイトをより魅力的なものにするために必要不可欠な言語とも言えます。


また、JavaScriptが登場したのは1995年ですが、なんと今でも現役のプログラム言語であり、ブラウザで動きを加えるようなプログラム言語は他にはないといわれています。

長年使われてきた歴史から、ライブラリが充実していたり学習に使える資料が多く存在している点も魅力的です。


ネーミングから先に紹介した「Java」と似ていると考えた方もいると思いますが、実は「Java」と「JavaScript」は成り立ちから全く別のプログラム言語です。

詳細が気になる方は調べてみると面白いかもしれません。

2-3. PHP

「PHP」はWebアプリケーションの開発の分野で活躍しているプログラム言語です。

特徴として、初心者でも習得が容易な点と、フレームワークが充実している点が挙げられます。

特にECサイトやSNSなどのアプリケーションの開発に使われています。


オブジェクト指向のプログラミングを行うことで、大規模なWebアプリケーションの開発を行うことが可能になります。

2-4. Python

「Python」は機械学習や統計解析、ブロックチェーン開発といった、近年流行の兆しを見せている分野で活躍しているプログラム言語です。

データの処理や管理に強いプログラム言語であり、Webサイトからデータを取得して自動でファイルにまとめるスクレイピングでもよく使用されているほか、Webアプリケーションの開発にも使われています。

たとえば、動画配信プラットフォームとして全世界で使われているYoutubeもPythonを利用して作られています。


そのほかの特徴として、習得が容易な点や、コーディングを行う際の言語としてのルールがほかの言語と比較して厳しく作られている影響で、だれが書いてもコードの傾向が同じようになるという点があります。

これにより、他人が書いたソースコードでも読みやすく、チームでの開発で有利に働くというメリットが生まれ、それを理由として多くの企業で導入され始めています。


また、数学ライブラリが豊富で高度な計算を楽に行えるという点から、機械学習や統計解析の分野で多く利用される点や、フレームワークに優秀なものがそろっているという点も見逃せません。

2-5. C++

「C++」は、「C言語」を基に機能を拡張して、オブジェクト指向を追加したプログラム言語です。

OSの作成や組み込み系の開発のほか、ゲームソフトの開発分野で活躍するプログラム言語です。

特徴として、ほかの言語と比べてもより高速で処理を行えるという点が挙げられます。


莫大なデータを利用するビックデータやAIの学習といった分野、ユーザーの操作や内部処理による高速なレスポンスが必要となるジャンルのゲーム開発の分野では、この高速で処理を行える特徴から選ばれています。

また、ほかの言語と同じ動作を行うプログラムを作成した場合、C++で作成したプログラムのほうがサイズが小さくなる、という特徴も備えています。


メモリサイズの小さなコンピューターに搭載するプログラムの開発で選ばれる要因のひとつとなっています。

例えばテレビやエアコン、冷蔵庫といった家電に搭載されるシステムの開発で利用されます。

最近では技術の発展に伴い、コンピューターに搭載されるメモリのサイズが大きくなってきていますが、IoTの分野ではまだまだメモリの容量の小さなコンピューターを利用していたり、それ自体に搭載したい機能が増えてきているため、まだまだ需要のあるプログラム言語だといえます。


ただC++は学習の難易度が非常に高く、敷居の高いプログラム言語だといえます。

より機械に寄ったプログラミングを行えるため、性能を最大限に引き出すためにはほかの言語とは違った知識や技術を習得しなければなりません。

2-6. Swift

「Swift」は、主にiOS向けアプリケーションの開発で使われているプログラム言語です。

Apple製品向けの様々な開発に適した言語といえます。

文法の構造上、バグが発生しにくい仕様であるため、初心者でも比較的安心して扱えるという点が特徴です。


同じくiOSアプリケーションの開発で使われてきたObjective-Cよりも学習の難易度が低いことや、処理がより高速であるという点から、iOS向けアプリケーションの開発では現在の主流といえます。

2-7. C#

C#はWindowsアプリケーションやWebアプリケーション、サーバーアプリケーション等の様々な分野で活躍するプログラム言語です。

C#に関しては以前、C#とWPFを用いた開発を行うための基礎知識としてまとめた中で紹介させていただいたので今回は割愛させていただきます。

気になる方がいらっしゃいましたら、そちらの記事もぜひご覧ください。

3. まとめ

今回はオブジェクト指向でコーディングを行えるプログラム言語の中でも代表的な7つを紹介させていただきました。

こうして紹介しただけでも様々な分野でオブジェクト指向のプログラミングが使われており、現在の主流であるということがよくわかりました。

もちろん、世の中の様々なサービスの開発で使われている言語はもっと数多く存在します。


オブジェクト指向についての基礎的な理解を深めることで、これらの言語を活用した開発がよりスマートなものになるのではないでしょうか。

次回からは、ようやくですが開発環境を整えて行こうと思います。

事前に調べたところだと、Visual Studioの導入から始めると思いますので、またよろしくお願いします。