プログラミング言語の種類【分野分類を知って言語を決める】

年々、新しいプログラミング言語が生まれており、その種類は膨大な数になっています。

Wikipediaのプログラミング言語リストには、687の言語が掲載されています。

現在の主要なプログラミング言語は、需要の多い分野で使われてきたことで生き残っている言語です。

プログラミング言語には向いている分野があり、これからプログラミング学習を始めるときに知っておくと方向性が見えてきます。

学習コストの低いプログラミング言語を慎重に決めてから習得するのが得策になります。

この記事では、プログラミング言語の種類について解説します。

プログラミング言語の種類一覧

主要なプログラミング言語の種類を一覧に示す派生図

主要なプログラミング言語の影響関係を示す派生図。影響とは、生い立ちや概念、記法の類似性によるもの。

  • Microsoft:BASIC、VisualBasic、VBA
  • Apple:Objective-C、Swift
  • C系:C、C++、C#
  • Java系:Java、Scala、Kotlin
  • スクリプト:JavaScript、Perl、Python、PHP、Ruby

プログラミング言語の種類はとても多くあります。主要なプログラミング言語を、生い立ちや類似性をもとに上のように強引に分類することもできます。

特定の分野のみで使うような言語を含めると、その種類は膨大な数になります。

しかし、大企業が生み出した言語だったり、多くの人が使いやすく感じることで優劣が生まれ、また淘汰されていきます。

現在の主要なプログラミング言語は、優れた言語として生き残りつづけてきたものなのです。

プログラミング言語には、向いている分野があります。たとえばJavaはシステムや家電、JavaScriptジャバスクリプトPHPはウェブ、Pythonパイソンは人工知能に向いています。

世の中の需要が多い分野で使われる言語は、当然、主要なプログラミング言語として生き残っていくことになります。

Pythonは、人工知能やロボットに使われるため需要が急増しています。だから近年よく聞くわけです。

プログラミング言語の分類

プログラミング言語は、さまざまな観点で分類することができます。

Wikipedia:プログラミング言語の分類・種類では言語水準・実行方法・パラダイム・用途の観点での分類が掲載されています。

言語水準

  • 高水準言語:Java、JavaScript、PHP、Python、VisualBasicなどは人間でも読みやすい。
  • 低水準言語:現在の高水準言語のようなメモリ管理ができないC言語を低水準言語と言うこともある。

言語水準とは、プログラミング言語の記述が機械(CPU)寄りか。人間(頭脳)寄りか。という分類です。

現在の主要なプログラミング言語のほとんどは、そのまま人間が読みやすい高水準言語(高級言語とも)に当てはまります。

実行方法

  • コンパイル方式:C、C++、COBOL、Go、Javaなどはコンパイル方式。
  • インタプリタ方式:PHP、Python、Ruby、Perlなど、スクリプト言語は概ねインタプリタ方式。

プログラムを実行するときに機械語に変換する方法の分類です。

プログラムを実行する前にあらかじめ機械語へ変換しておくことをコンパイルと言います。初期の多くのプログラミング言語は、コンパイルが必要でした。

現在は、プログラム実行と同時に機械語に翻訳するインタプリタ方式を取るプログラミング言語も増えています。

インタプリタ方式は、コンパイルの手間が無くて扱いやすいのがメリットです。

パラダイム

  • 手続き型:Fortran、C、COBOL、BASICなど、初期の言語に多い。
  • 関数型:LISP、Scala
  • オブジェクト指向:Java、Ruby、Objective-C、Python

パラダイムとは、プログラミングの記法の分類です。

処理を上から順に書いていくようにプログラミングする記法は手続き型と呼ばれます。

関数を作って、関数を主体にプログラミングする記法は関数型と呼ばれます。

プログラムを部品としてとらえて、多様な組み合わせができるようにプログラミングする記法はオブジェクト指向と呼ばれます。

手続き型、関数型、オブジェクト指向のすべての記法が可能なプログラミング言語も多く、そのような言語をマルチパラダイムと言います。

JavaやPythonは、オブジェクト指向だけでなはく、手続き型も関数型も可能なマルチパラダイムです。

用途

  • 事務計算用:COBOL
  • 科学技術計算用:Fortran
  • 汎用:Java、C#、Python、VisualBasicなどは、用途に限らず広い分野で使用しやすい。

プログラミング言語はコンピューターで計算を行いたいことの目的・分野に合わせて誕生してきたので、用途で分類することもできます。

初期のプログラミング言語には特定の用途にしか使わないものが多くありましたが、近年は幅広い用途で使える言語(汎用)も多くあります。

プログラミング言語の特徴【できること・得意分野を解説】

プログラミング言語の分野

分野 主要な言語
組み込み Java、C、C++
ウェブサイト JavaScript、PHP
ウェブサービス PHP、Ruby、Python
スマホアプリ Java、Kotlin、Swift、Go
ゲーム C++、C#、JavaScript
人工知能 Python、R、C++
オフィス業務 VBA

組み込み

Java:もともと家電制御のために生み出された言語です。現在は家電にとどまらず、自動車、金融決済システムなど社会生活を支える言語となっています。そのため需要が絶えず、いつの時代も技術者の募集が多い言語です。

組み込みとは、家電や自動車、システムに内蔵させる目的のプログラムのことです。

C:プログラミングをやったことが無くても、誰もが耳にしたことがあるほど有名な言語です。処理速度が速いので様々なシステムに組み込むプログラムに使われており、信頼性が高く、需要が安定しています。

C++:C言語をより効率的に開発できるように改良した言語です。企業の業務システムや官公庁のシステム開発にも使われています。家電や工業用ロボットの制御など、生活基盤を支える言語として定着しています。

ウェブサイト

JavaScript:ウェブページに動きを付けたり、計算機能を付けたりするのに使われます。ユーザー側の端末(クライアントサイド)で動くプログラムです。HTMLの中に記述することもできます。Node.jsというサーバー側を制御する派生技術が注目されています。

名前の似ているJavaは生い立ちが異なる別な言語です。

PHP:「PHP Hypertext Preprocesseor」の名のとおり、ウェブで使われるハイパーテキスト(HTML)を動的に処理する目的の言語です。サーバー側(サーバーサイド)で動くプログラムです。HTMLの中に記述することもできる、ウェブと親和性の高い言語です。

ウェブサービス

PHP:PHPはウェブ開発言語として定着しており、開発のしやすさから需要が安定しています。Laravelというウェブ開発用のフレームワークがあります。Yahoo!をはじめ、多くのウェブサイトが使うワードプレスというツールがPHPで実装されています。

フレームワークとは、プログラムのテンプレートのようなものです。ちなみに、このサイトもPHPで動くワードプレスを使って作っています。

Ruby:Ruby on Railsというフレームワークを使ったウェブ開発が盛んだった時期があります。価格ドットコムや食べログがRubyで作られています。ただ、Rubyの保守性は低く、今後は下火になる傾向があります。

Python:Googleが開発言語として採用しています。検索エンジンやYouTubeなどにPythonが使われています。Djangoジャンゴというウェブ開発用のフレームワークがあり、今後の需要も増えていく傾向がみられます。InstagramやメルカリにPythonが使われています。

スマホアプリ

Java:スマートフォンのAndroidOSがJavaで作られています。そのためAndroidのアプリはJavaで開発されてきました。

Kotlin:新しい言語ですが、Javaの派生言語なのでJava技術者の次の言語として注目されています。Slack、DropBoxなど多くのAndroidアプリの開発に使われています。

Go:Googleがアプリ開発の環境改善のために生んだ言語です。アプリ開発用のツールが配布されており、今後の需要が増えていく傾向にあります。メルカリがGoで作られています。

Swift:Appleが長らく使用していたObjectve-Cに替わる言語として生み出したのがSwiftです。iPhoneのアプリはSwiftで開発されるようになり、近年は需要を伸ばしています。

ゲーム

C++:家庭用ゲームの開発によく使われています。任天堂やスクエアエニックスが求める技術者のスキルもC++が条件となっています。

C#:PCやスマホのゲーム開発では、C#とUnity(ゲームエンジン)の組み合わせがよく使われています。

JavaScript:ウェブブラウザのゲーム開発に使われることが増えてきました。HTML5がゲーム画面デザインを、JavaScriptがゲームプログラムを担っています。

人工知能

Python:データサイエンスの分野で着目されて、現在は人工知能や機械学習、ブロックチェーンなどの未来の技術開発に使われる言語として定着しています。Pythonは書きやすく読みやすい言語なので開発コストが低く抑えられる点でも重宝されています。ライブラリが豊富なので、どのような分野にも応用が利くのが魅力です。

ライブラリとは、特定分野での開発がしやすいようにプログラムを補助するツールです。

R:もともと統計解析用のプログラムに使われてきました。近年は人工知能の分野で機械学習のために使われて注目されています。

C++人工知能開発やディープラーニングに使われています。IoT(Internet of Things)というインターネットで物と物を連携した技術開発にも使われており、未来の生活を便利にする技術を支える言語です。

オフィス業務

VBA:MicrosoftのExcelやAccessを操作するためのプログラミング言語です。開発環境がMicrosoft Officeにすでに内蔵されているため、社内の業務改善・自動化に着手しやすい利便性があります。プログラミング未経験者でも、学習を始めやすく、効果を得やすい言語です。

学習コストの低いプログラミング言語

学習コストとは、学習にかかる時間や費用のことです。学習コストが低いと短時間・低費用で習得できます。

学習するプログラミング言語を決めるときは、費用対効果の良い言語を慎重に決めるのが得策です。

  • 環境構築が簡単:プログラミング言語を始めるにあたり、環境構築が簡単な言語なら学習に取り組みやすくなります。
  • マルチプラットフォーム:OSに縛られず、WindowsでもMacでも使える言語だと応用が利きます。
  • コンパイル不要:コンパイルとは機械語への翻訳作業です。コンパイルが要らない言語なら未経験者でもつまづくことがありません。

JavaScriptは、パソコンにすでに入っているエディタとウェブブラウザがあれば学習を始められます。ウェブデザインを楽しみながら習得できます。

Pythonは、環境構築に言語のインストールが必要です。記法のルールが決まっているので、学習しやすい言語です。ファイル操作・自動化など業務に役立つスキルから学ぶと、仕事にもすぐに役立てられます。

VBAは、MicrosoftのOffice Excelが入っていれば開発環境がすでに整っています。プログラムの実行結果をExcelシートで確認しながら学んでいけます。仕事にもすぐに活かしていけるのも魅力です。

まとめ

  • 主要なプログラミング言語は、需要の多い分野で使われていることで生き残ってきた言語。
  • プログラミング言語には、向いている分野がある。たとえばJavaは家電、JavaScriptジャバスクリプトPHPはウェブ、Pythonパイソンは人工知能に向いている。
  • プログラミング言語は、さまざまな観点で分類することができる。たとえば、言語水準・実行方法・パラダイム・用途など。
  • 学習するプログラミング言語を決めるときは、費用対効果の良い言語を慎重に決めるのが得策。
  • この記事を書いた人

non

小学生のときにBASIC言語でプログラミングを覚え、社会に出てからはPythonを主力に通信業界で無線設計とGISシステム開発に携わること12年目。プライベートではPHP・MySQLでウェブサービスを作りつつ、副業で収入を得ています。「プログラミングは人生を豊かにする」と実感しています。