プログラミング言語の種類について

  • このエントリーをはてなブックマークに追加

前回は「ソフトウェアとは」について解説しましたが、今回は「プログラミング言語の種類」について解説致します。

元来、プログラミング言語には様々な種類があり、コンピューターのOS環境(WindowsやMacなど)やコンピューターに動作させたい内容などによってそれぞれに適したものを使用していました。
しかし、プログラミング言語も改良を重ねられていく中で種類ごとに大きく異なっていた性能部分に関しては、多少の違いはあるものの差異は小さくなりつつあります。
したがってプログラマーの好みによってプログラミング言語を選択する時代となってきています。
また、プログラミング言語には流行廃りも存在し、今注目のAIやビッグデータ解析などで力を発揮しやすい言語も存在します。

プログラミング言語には大きく分けて「静的型付き言語」「動的プログラミング言語」の2種類が存在します。

静的型付き言語

静的型付き言語で構築されたアプリケーションはより拡張性安定性があり、保守性に優れている事で知られています。
静的言語はタイピングのチェックによる機能が厳しく、エラーの抽出が容易である一方、プロトタイプの作成が可能な為、多くのコードを使用します。
ゲームエンジン、モバイルアプリケーションや企業のバックエンドは一般的に静的型付き言語で構築されます。

例)

       など

動的プログラミング言語

コードを多用せず、ゼロからアプリケーションを構築できて、難しいルールに従う必要がありません。
学びやすく面白さもある為、一般的に動的プログラミンング言語は初心者におすすめ出来る言語だと考えられています。
通常、動的プログラミング言語は最高層で使用されるので、細部の習得に多くの時間を費やす必要が無く、言語の概要の理解に時間を費やして学習します。
これも早期に結果を出したいと望むプログラミング初心者に人気の理由の一つです。

例)

       など

代表的なプログラミング言語ってどんなものがあるの?

C言語 (しーげんご)

C言語は、1970年代に生まれた歴史あるプログラミング言語で、生まれてから年数が経っていますが、いまだに広く使用されている、汎用的ですぐれた言語です。
OS(Windowsなどのオペレーティングシステム)に依存しないので、プログラムの移植性が高いという特徴を持っています。
また、豊富なデータ型を持ち、さまざまな演算子が使えるため、構造化プログラミングに最適という特色もあります。特に機械を制御するような分野で活躍しています。

記述の自由度が高く、開発環境も豊富に取りそろえられているため好んで使う人も多く、現在でも根強い人気がある言語となっています。
動作が軽く、少ないリソースで動作するため、さまざまな環境で使用することができるといったメリットもあります。

Swift (すうぃふと)

Swiftは、iOSやOS XなどというApple社のOS用の開発言語です。Objective Cという言語を参考にして開発されました。

ほかの言語と比べると、同じような動作をさせるのでも、記述するコードがとても少ないというのが特徴です。
実行速度も速く、Apple社のOS向けのプログラム開発では主流となる言語です。

Apple社のOS上で動作するプログラムを作る言語であるため、Swiftを使用する業界は限られているように思われます。
しかし、スマホやタブレットPC、パソコン、webアプリなど、多くの機器上で動作するアプリケーションを作成できるため、かなり用途の広い言語であるとも言えます。スマホアプリを開発する企業など、iOS上で動作するアプリなどを開発する企業で多用される言語です。

C++ (しーぷらすぷらす)

C++は、C言語の拡張版として生まれた言語です。

初期のC言語からさまざまな拡張がなされましたが、一言でいえば、オブジェクト指向に対応したといえるでしょう。
オブジェクト指向とは、現代のプログラミングにおいてはなくてはならない概念です。
オブジェクト指向のプログラミング言語には、プログラム開発を楽にしてくれるなどの特徴があります。

また、C++C言語と互換性があるため、両者は同時に使用することができます。
したがって、C++C言語のさまざまな環境を利用できるという利点を持っています。C言語よりもサイズが大きいため速度は若干劣りますが、ほかのインタプリタ言語より高速に動作します。
インタプリタとは、人間の書いたプログラムコードを、逐一変換しながら同時に実行するソフトウェアのことです。
対して、C言語C++などはコンパイラというソフトウェアで、人間の書いたプログラムをまとめて機械の理解できるコードに変換します。
すでに変換されたコードを実行するために、インタプリタで変換しながら実行するプログラムよりも、高速に動作することができます。

C++C言語同様、さまざまな業界で広く使用されています。機械により近い言語であるため、機械組み込みのプログラムを必要とする業界や、ゲーム業界などでも強みを発揮しています。

C# (しーしゃーぷ)

C#は、2000年代になってから現れた、C++の後継的位置づけのプログラミング言語です。

C#C++よりも、より開発しやすいように設計されつつ、C++の柔軟性とパワーを持ち合わせているといった特徴があります。
C#もオブジェクト指向のプログラミング言語であり、マイクロソフト社の.NETという環境用に作られた言語です。

C#の構文は、後の説明に出るJavaと似ているとも言われています。C言語C++から発展した言語ですが、両者との互換性はありません。
C#で作られたプログラムは、インタプリタ型でもありませんが、純粋なコンパイル型でもなく、それらの中間型ともいえる方法で実行されます。
Microsoft .NET Framework上で動作するプログラムのため、.NETや互換環境のないコンピューター上では、通常は動作しません。

C++よりも簡単な言語仕様のため、初心者がプログラムを学習するのにも適しています。
C#が使用されている業界としては、システムインテグレーター系の企業が挙げられます。C#は、.NET環境での開発を求められる業界で役立てることができます。

Java (じゃば)

Javaは、Sun Microsystemsという企業からリリースされたプログラミング言語です。
また、Javaで書かれたプログラムを実行する環境も、Javaと呼ばれます。

Javaは、世界中で広く使用されており、パソコンにJava環境がないと動作しないwebサイトやプログラムなどがたくさんあります。
セキュリティーの高さと、開発の容易さ、汎用性の高さなどがその特徴となります。
スマホのAndroid上で動くアプリやweb上で動くアプリなどが、Javaを使って多く開発されています。OSに依存しないため、さまざまな環境で使用されています。
Javaもオブジェクト指向言語であり、プログラム開発が効率的で、管理も簡単にできます。また、Javaコンパイル言語であるため、インタプリタ型のプログラムよりも速く動作します。
C言語同様、多くの人に使用され広く普及しているので、学習しやすい言語と言えます。Javaは、スマホアプリやゲームの開発、銀行のオンラインバンクシステム、コンピュータグラフィックスなど、さまざまな用途で使用されています。
したがって、プログラムを必要とする業界ならば、どこでも役立てることができます。


Java Script (じゃばすくりぷと)

Java Scriptは、Javaと関係がありそうな名前ですが、まったく別の言語です。

Java Scriptは、webページ上のHTML(webページを作るための言語)に埋め込むことができるため、webページにさまざまな機能をのせることができます。
Java Scriptができたことにより、静的だったwebページに、さまざまな動作を加えることができるようになりました。

Java Scriptは、対応したブラウザ(internet explorerやMicrosoft Edge、google chromeなど)さえあれば、実行することが可能です。
スクリプト言語という簡易言語であり、コンパイルする必要もありません。Java Scriptは、パソコン上のwebブラウザと、webサイトとのやり取りに使われるため、インターネット関連の業界で広く通用します。
webサービスを実施する企業であれば必ず役に立つ言語です。

PHP (ぴーえいちぴー)

PHPもまた、Java ScriptHTMLに埋め込むことのできるスクリプト言語です。

インターネット上のやり取りは
   クライアント側(インターネットを見る側のパソコン)
   サーバー側(インターネット上でサービスを提供している側のコンピューター)
行われます。
そのやり取りの際、Java Scriptはクライアントサイトで動作するのですが、PHPはサーバー側で動作するといった違いがあります。
したがって、Java Scriptは知識さえあれば、どのようなコードが実行されたのかを調べることができます。しかしPHPでは、クライアント側はスクリプト実行の結果のみ受け取ることになるため、どのような動作が行われたのかを知ることはできません。

PHPは、データベースと連携して動作することを得意とします。
よって、クライアントから収集した情報をデータベースに保存するなどといった用途に使われることが多いでしょう。
よく使われるのはインターネット関連の業界、特にサーバーサイドでの仕事で使用されます。

Ruby (るびー)

Rubyとは、日本人が開発したオブジェクト指向のスクリプト言語で、世界中に熱心な信奉者がいるほど有名な言語です。

PerlSmalltalkLispなど、既存言語の良い部分を取り入れた、バランスの良い言語であるとも言われています。
Rubyは、言語の仕様をプログラマーが変更することができるといった、柔軟性を持っているのが特徴です。
大小を問わず、さまざまなwebシステムの作成に使用されています。ビッグデータの取り扱いに秀でているとも言われており開発効率が良いため、世界中で広く使用されているのです。
Rubyはwebサイトの開発で力を発揮する言語であるため、webサイトサービスを提供する企業などで使用されることが多いです。

Python (ぱいそん)

Pythonは、オランダで生まれたプログラミング言語で、特に海外で人気が高い言語です。

読みやすいコードを書けるのが特徴で、webシステムの開発などに使用されています。インタプリタ言語なので、入力すればすぐに実行結果を確認できます。
Pythonには人工知能に関する環境が整っているため、近年はディープラーニングなど人工知能関連の開発に利用されることも多くなっているという特色もあります。
ライブラリと呼ばれるプログラム開発に必要な機能の集まりが豊富であるため、簡単にプログラムを作成することができます
コードがシンプルなので、とても見やすく学習しやすい言語です。大学などで授業に取り入れられることも多いということからも、学習にも適した言語であることが言えます。開発や学習に使うための環境も、比較的容易に整えることができます。

用途は、webサービスの開発、機械学習の研究、教育目的など幅広く、したがって使用する業界もさまざまです。
今後は特に人工知能の開発分野などで発展していく言語と言えます。世界でもトップクラス、日本でも人気が高まりつつある注目の言語です。

  • このエントリーをはてなブックマークに追加