マルチパラダイムプログラミング言語とは複数のプログラミングパラダイムに対応するプログラミング言語の総称です。この記事ではマルチパラダイムプログラミング言語を理解するために基礎知識、代表的な種類などを簡単に解説していきます。
マルチパラダイムプログラミング言語とは複数のプログラミングパラダイムに対応するプログラミング言語の総称です。マルチパラダイムプログラミング言語の設計目標は、問題解決に当たって最良の道具になることとされております。代表的なマルチパラダイムプログラミング言語としてJavaScript、C++、C#などが挙げられます。
プログラミングパラダイムの種類について見ていきましょう。
オブジェクト指向言語とはプログラミング言語の中でも、お互いに関連するデータやメソッドに関する手続きを一つにまとめたものである「オブジェクト」をプログラムの基本的な構成として扱うものです。オブジェクト指向という概念が誕生したのは1960年代後半のことです。Simula67というプログラミング言語がオブジェクト指向言語として初めて誕生したものと言われております。現在では多くの有名言語がオブジェクト指向言語として誕生しており、代表的なものとしてJava、PHP、Ruby、JavaScriptなどが挙げられます。
オブジェクト指向プログラミングの基礎知識や代表的な種類を解説している記事はこちら>>
命令型プログラミング言語とは計算をプログラム状態を変化させる記述文で実行するプログラミング言語におけるパラダイムの一種です。パラダイムの中でも最も一般的なものであり宣言型プログラミング言語と対照的な存在となっております。命令型プログラミング言語は『手続き型プログラミング言語』と同義として扱われます。特徴として「構造化プログラム」「性能のチューニングが実施しやすい」などが挙げられます。代表的な言語としてJava、Ruby、Pythonなどが挙げられますが他にも多くの有名プログラミング言語が命令型に属しております。
命令型プログラミングの基礎知識や代表的な種類を解説している記事はこちら>>
関数型プログラミング言語とは関数の組み合わせによって課題を解決する仕組みで構成されるプログラミングパラダイムの一種です。宣言型プログラミング言語の一種であり、関数は引数の適用から先行式の評価を後続式の適用につなげて終端の評価を導き出す式のツリー構造として定義されます。代表的な関数型プログラミング言語としてR言語、ScaLa、Pythonなどが挙げられます。
関数型プログラミングの基礎知識や代表的な種類を解説している記事はこちら>>
構造化プログラミングとは、コンピュータプログラムの開発や理解、修正を円滑に行えるよう、プログラムを整理された構造の組み合わせによって構成するプログラミングパラダイムの一種です。1968年に計算機科学者のエドガー・ダイクストラ氏によってACM機関紙へ投書された「Go To Statement Considered Harmful(goto文は有害)」をきっかけに普及したと言われております。代表的な構造化プログラミング言語としてPascal、PL/Iなどが挙げられます。
代表的なマルチパラダイムプログラミング言語を見ていきましょう。
JavaScdriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。名称にJavaが含まれるためJavaの仲間と誤解を生むこともありますがJavaScripitは全く異なるプログラム言語です。開発当時サン・マイクロシステムズ社が開発したプログラミング言語『Java』が大きな注目を集めていたことや同社との業務提携を行った背景もありJavaにちなんだ名称が付けられました。JavaScdriptフレームワークの代表的な種類としてjQuery、AngularJS、Vue.jsなどが挙げられます。
C++(シープラスプラス)とは1985年に『AT&Tベル研究所』のビャーネ・ストロヴストルップ氏によって開発されたC言語をベースに機能を拡張したオブジェクト指向のプログラミング言語です。オブジェクト指向の要素だけでなく手続き型プログラミング、データ抽出、ジェネリックプログラミングなどの複数の要素を兼ね備えるマルチパラダイムプログラミング言語となっております。C++にはいくつかの種類が存在しており代表的なものとして「Borland C++(ボーランドシープラスプラス)」「Visual C++(ビジュアルシープラスプラス)」などが挙げられます。
主な用途としては組み込み系システム、WEBアプリケーション、業務システムなどの開発が中心となっております。中でも組み込み系システムの開発において対象の機器が必要となる機能を実現するために正しく動作及び制御させるために多くの場面で使用されております。誕生から40年近くという長い歴史を持つプログラミング言語ですが2020年現在でも多大な人気を集めており「TIOBE Index for March 2020」の調べによるとプログラミング利用シェア第4位に位置付けております。
C#とはマイクロソフト社のアンダース・ヘルスバーグ氏が設計したプログラミング言語です。C#という言語はマイクロソフト社が開発した『.NET Framework(ドットネットフレームワーク)』と共に2000年に誕生しました。C#はマルチパラダイムと呼ばれる複数のスタイルから構成されており中でも、オブジェクト指向が主のスタイルです。言語名にも含まれている通り、C系の言語としてCやC++の影響を受けております。尚、設計者のアンダース・ヘルスバーグ氏が以前設計に携わったDelphiの影響も少なからずあるようです。C#の特徴として『マルチパラダイムでオブジェクト指向が主』、『.NET Framework』、『Windowsアプリの開発に向いている』などが挙げられます。C#はマイクロソフト社が開発・提供していることもありWindowsアプリケーションの開発に非常に向いております。
Scalaとはスイス連邦工科大学のマーティン・オーダスキー氏によって2001年に設計されたJavaに影響を受けたオブジェクト指向と関数型言語の特徴を統合したプログラミング言語です。世に公開がされたのは2004年始めの頃でJavaプラットフォームにリリースされました。ScalaはJVM上で動作するため、Javaのライブラリを不自由なく使えるという特徴があります。他にも.NET Framework上でも動作するため、同様に.NETライブラリも使用することが出来ます。(※.NETサポートは2012年に中止)2003年に誕生した比較的新しいプログラミング言語ですが、2019年に『GitHubPullRequest』によって発表されたプログラミング言語使用率ランキングによると第12位を記録するほどの人気度が伺えました。日本国内でも様々な有名サービスがScalaを用いた開発を行っており、代表的なものとして『SmartNews』『Chatwork』などが挙げられます。
マルチパラダイムプログラミング言語を理解するために初心者でも分かる基礎知識、代表的な種類などを簡単に解説させて頂きました。マルチパラダイムプログラミング言語を一言で表すと『複数のプログラミングパラダイムに対応するプログラミング言語の総称』です。代表的なプログラミング言語として「JavaScript」「C++」「C#」などが挙げられます。マルチパラダイムプログラミング言語についてこの記事に記載されている最低限の内容は理解をしておくようにしましょう。