ウェブやシステムで使われる言語には、目的にあった特性があり、それが違いとなって現れています。
違いが生まれた原因は、プログラミング言語が目的や用途によって生み出されてきたためです。
この違いによって、プログラミング言語の学習のしやすさにも違いが出てきます。
プログラミング未経験者の場合は、ウェブ系のスクリプト言語であるJavaScriptやRubyが簡便で学習しやすいです。
この記事では、プログラミング言語の違いについて説明します。
-
プログラミング言語の特徴【できること・得意分野を解説】
Contents
言語によるできることの違い
言語 | できること |
---|---|
HTML&CSS | ウェブやアプリ画面のレイアウト・デザイン |
JavaScript | ウェブアプリケーション |
VBA | Microsoft社Officeソフトウェアのマクロ |
Ruby | ウェブアプリケーション |
PHP | ウェブアプリケーション・ウェブサービス |
Python | 人工知能(AI)・ウェブアプリケーション |
Swift | Apple社MacOSやiPhoneのアプリケーション |
Java | 家電制御プログラムの組み込み・大規模システム |
このように、プログラミング言語によってできることに違いがあります。
なぜ違いがあるのか
できることに違いがある理由は、開発者がコンピューターを使って何をしたいのかという目的に合わせてプログラミング言語が生み出されてきたからです。
- JavaScript:ウェブアプリケーションを開発する目的
- VBA:MicrosoftのOfficeソフトウェアに自動処理を実装する目的
- Ruby:開発者まつもとゆきひろ氏自身がプログラミングを楽しむ目的
- PHP:開発者ラスマス・ラードフが自分のウェブサイトに動的機能を実装する目的
- Python:わかりやすい論理的なプログラムをプログラマーが書けるようにする目的
- Swift:MacOSやiPhoneのアプリを多くの人が開発できるようにする目的
- Java:家電に制御プログラムを組み込みする目的
このような目的によって、プログラミング言語のできることに違いが生まれます。
プログラミング言語の違い
プログラミング言語の違いは、次のような観点で見ることができます。
- プログラミング言語の特性の違い
- プログラミング言語の得意分野の違い
- プログラミング言語の習得しやすさの違い
プログラミング言語の特性の違い
それぞれのプログラミング言語には、特性に違いがあります。
主に型付けやコンパイル、パラダイム(記法)といった点がプログラミング言語によって違い、用途にも影響します。
また、プログラミングの未経験者には、コンパイル不要な言語が学習しやすいです。
プログラミング言語の得意分野の違い
プログラミング言語には、向いている分野があります。
家電などの製品への組み込みに向いているのは、C、C++、Java。
ウェブに向いているのは、HTMLというマークアップ言語と一緒に記述できるJavaScript、PHP。
スマホアプリに向いているのは、iPhoneならSwift、AndroidならJavaかKotlin。
人工知能に向いているのは、機械学習や統計解析に強いライブラリを持ったPython、R。
プログラミング言語の習得しやすさの違い
プログラミング言語の特性や得意分野の違いは、習得のしやすさの違いに影響します。
ウェブ系のスクリプト言語であるJavaScriptやPHPは、ウェブという親しみやすい媒体を使って学習できるのもあって、習得しやすいです。
Pythonは人工知能に向いていると聞くと、なんだか難しそうな印象を持つかもしれません。しかし、Pythonはスクリプト言語と言われる習得しやすい言語に入ります。
C系の言語やJavaは、組み込みやシステム開発で使われる言語なので、習得するのがやや困難で時間がかかります。
言語の違いと役割
フレームワークとは
フレームワークとは、特定の用途で使用するプログラムのテンプレートのようなものです。
ウェブページやアプリ開発を効率良くプログラミングできます。
ウェブアプリ開発用のフレームワークを持つ言語は多いです。もっとも有名なのはRuby on Railsでしょう。
- Ruby:Ruby on Rails
- JavaScript:vue.js
- PHP:Laravel
- Python:Django
ライブラリとは
ライブラリとは、特定用途で使うためのプログラム(関数やオブジェクトなど)をひとまとめにしたツールです。
たとえば、OSを操作するためのライブラリ、正規表現を使うためのライブラリなどがあります。
ライブラリが豊富な言語Pythonは、ライブラリによって如何様にも化けます。
- Excel用ライブラリ:Excelを操作することができます。
- 人工知能用ライブラリ:人工知能開発ができます。
- 画像加工用のライブラリ:画像加工アプリができます。
マークアップ言語との違い
プログラミング言語 | マークアップ言語 | |
---|---|---|
記述 | 処理・制御の手続きや関数を記述。 | ウェブやアプリの画面レイアウトを記述。 |
制御構造 | 制御構文(繰り返しや条件分岐)などを持つ。 | 制御構文を持たない。 |
学習方法 | 構文やロジックを理解していく。数学の知識が必要。 | タグを覚えていく。数学の知識は不要。 |
難しさ | 初心者には難しい。 | 初心者にも簡単。 |
マークアップ言語とは、文書をタグ構造で記述するための言語です。
プログラミング言語とのもっともな違いは、制御構造の有無でしょう。マークアップ言語には制御構造がありません。
もっとも身近なマークアップ言語は、ウェブページのレイアウトに使われるHTMLです。HTMLはタグ構造のウェブ用の文書です。
ウェブ開発では、プログラミング言語でHTMLを出力することも多々あります。
スクリプト言語との違い
プログラミング言語とスクリプト言語との違いというよりも、プログラミング言語にスクリプト言語が含まれます。
スクリプト言語は、次のような特性に共通点があります。
- 用途:アプリケーション向き
- 記法:簡易的
- 型付け:動的
- コンパイル:不要(インタプリタ方式)
- ガベージコレクション:あり
スクリプト言語とは、特定用途のアプリケーション作成に向いている簡易的なプログラミング言語のことです。
ただし、スクリプト言語の明確な定義はありません。動的型付けやインタプリタ方式などの特性に共通点があり、スクリプト言語と呼ばれています。
JavaScriptやRuby、PHP、Pythonなどがスクリプト言語に該当します。
P言語とも呼ばれる
Perl、PHP、Python、Rubyのスクリプト言語をまとめてP言語と呼ぶことがあります。特性が似ており、頭文字が「P」で共通しています。(Rubyの頭文字はRですがP言語に含まれています。)
まとめ
- プログラミング言語には、特性・得意分野・習得しやすさなどの観点で違いがある。
- プログラミング言語とは、数式を使って計算させるプログラムを組むことができる言語。
- ライブラリやフレームワークは、特定の用途におけるプログラミングをより簡便にするためのツール。
- プログラミング言語によって、できることに違いがある。コンピューターに何をやらせたいのかという目的に合わせて、プログラミング言語が生み出されてきたから。