プロのカウンセラーが無料でお悩み解決!2万人が利用したITキャリア相談

プログラミング言語とは?分類などの基礎知識を初心者向けにわかりやすく解説

更新: 2020.09.20

>>10年後も職を失わない「求められる人材」になる

読むだけでIT転職が有利になる限定資料はこちら

プログラマーなどのITエンジニアを目指すならば、ある程度のプログラミング言語のスキルを習得しなければなりません。

しかし「プログラマー」や「プログラム」は耳にする機会もありますが、プログラミング言語と聞くと、上手くイメージできない人も多いのではないでしょうか?

そこで今回は、そもそもプログラミング言語とは何か、どのような役割を果たすものなのかを初心者向けにわかりやすく解説します。

プログラミング言語とは

プログラミング言語とは、簡単にいえば「コンピューターに動作を命令するための言葉」です。

ここではまず、プログラミング言語がどのようなものであり、どのような役割を持っているのかを見ていきましょう。

コンピューターへ命令するプログラムを書くための言語

プログラミング言語を使うことで、コンピューターにやりたいことを命令できます。

例えば、プログラムが入っていないコンピューターに対して、キーボードで文字を入力したり、マウスでクリックしたりしても、なんの反応もせず、動くことはありません。

コンピューターを動かすためには、キーボードを操作したらこう動く、マウスを操作したらこう動く、といった命令を書いたプログラムを入れなければならないのです。

パソコンで「1+1」を計算させる場合も同様。どうやって計算したら良いかという手順と、結果がわかったら画面表示させるということを、プログラミング言語でコンピューターに教えてあげます。

このようにイメージすると、プログラミング言語はいわば、人間とコンピューターを繋ぐためのツールだといえるでしょう。

プログラミング言語は基本的に英語

プログラミング言語は、基本的には英語で表記します。とはいえ、英語で長文を書くわけではなく英単語やアルファベットで命令を書く感覚です。

それはどのようなプログラミング言語でも同じで、例えば「画面表示」を命令するプログラムは「print」などの英単語で指示します。

英単語は簡単なものが多いので、英語が苦手だという人でもプログラミング言語に苦手意識を持つ必要はありません。「そういった意味を持つ言葉なのか」と覚えていけば大丈夫です。

もちろん、最初はプログラムを見て「まったく意味がわからない」という印象を持つかもしれませんが、その点についてはプログラムコードに「慣れる」ことで解消されますので安心してください。

日本語などの自然言語よりも文法が厳密に決まっている

プログラミング言語は、日本語のような自然言語とは違い、文法やルールが厳密に決まっています。

そのため、慣れるまでは、タイピングミスやルール違反によりエラーにも多く遭遇するかもしれません。

しかし、それは「自由度がなくて難しい」のではなく、「明確に表現できるので覚えてしまえば簡単」とも言えるでしょう。

人にわかりやすく文章を書くのは、じつは簡単そうで難しいもの。親しみやすい文章がいいのか、それともかっちりとしたビジネス文章がいいのか、と考えることも多いです。

時には、文章の構造を崩した方がわかりやすいことも。

一方で、プログラミング言語は文法やルールさえ守って書けば、コンピューターは理解してくれます。自然言語と比較すると、覚えてしまえばむしろ簡単とも言えるでしょう。

「ソース」とはプログラミング言語の文法に沿って記述されたファイル

プログラミングを学習する上で頻繁に出てくる用語が「ソース」です。ソースとは、英語で「source」と書き、源泉や情報源と和訳されます。

コンピューターでいえば「コンピューターを動かしている元のプログラム」のことで、厳密にはプログラムそのもののこと。

日常生活でも、「その情報のソースはどこだ?」などといった使い方を聞いたことがある人もいるでしょう。

コンピューターの世界でも、ソフトウェアを動かすための「元となるプログラム」のことを意味するのです。

オンラインで無料キャリア相談!無理な勧誘は一切いたしません

テックキャンプ エンジニア転職では、専門のカウンセラーによる無料カウンセリング(ITキャリア相談)を実施中。どんなお悩みでもオンラインで気軽に個別相談できるので、ぜひご利用ください。

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

プログラム言語には、大きく2つに分類できます。それが「低水準言語」と「高水準言語」です。

この2つの違いを知れば、あなたが今後習得したいプログラミング言語の選択に役立ちます。

低水準言語と高水準言語の違いとは

低水準言語と高水準言語は、プログラミング言語の機械語への近さによって分類されます。

決して、低水準言語だから劣っているというわけではありませんし、高水準言語だから習得が難しいというわけでもありません。

低水準言語は機械語に近く、高水準言語は人間の話す自然言語に近いという分類方法です。

ですので、プログラミング言語の学習を始めるならば、高水準言語の方が学習しやすいといえます。

低水準言語について

まずは、低水準言語について、その特徴や種類を見ていきましょう。

低水準言語の特徴

コンピューターは、電流のオン・オフによって動いていて、1(オン)と0(オフ)で表されます。コンピューターが動作している状態を「見える化」すると、1と0の羅列しか見えません。

低水準言語は、このコンピューターが理解できる電流のオン・オフに近い状態で命令をプログラミングします。

実際のプログラミングで1と0を記述していくわけではありませんが、オンとオフの状態を細かく細部までプログラミングしなければならないということです。

低水準言語の種類

低水準言語には、以下のような種類があります。

  • 機械言語
  • アセンブリ言語

などです。

これらの言語は、機械語である1と0を細かく操作するように記述します。

例えば人間がモノをつかむ動作を、低水準言語でプログラミングすると、手を動かす動作や指の動き、指を動かす角度や強さまでを1つひとつ記述していくイメージです。

結果、ソースコードの行数は膨大なものになります。

高水準言語について

高水準言語は低水準言語に比べて、記述する命令数も少ないです。高水準言語でプログラミングを行うと、人間にも読みやすいプログラムができます。

ここでは、その特徴と代表的なプログラミング言語を見ていきましょう。

高水準言語の特徴

高水準言語は人間の言葉に近いため、そのままではコンピューターにとっては理解できない(高水準な)言語です。

現在、私たちがプログラミング言語と聞いた時に思い浮かぶ言語は、そのほとんどが高水準言語だといえます。

例えば、画面に「あいうえお」という文字列を表示させるプログラムならば、「画面に『あいうえお』と表示する」というコードを記述するだけです。

代表的な高水準言語

高水準言語の代表的なものには、以下が挙げられます。

  • Python
  • Java
  • Ruby
  • PHP

などです。

これらのプログラミング言語は人間の自然言語に近いのでわかりやすいです。

さわりだけでもプログラムに触れたことがあれば、それほど詳しくなくてもなんとなく「どのような命令なのか」がわかるかもしれません。

先述の「モノをつかむ」という動作例でいえば、高水準言語で記述するプログラムは「モノをつかむ」という命令1つです。

そのため、ソースコードの行数も少なくて済みます。

動的型付け言語と静的型付け言語の違いとは

また、プログラミング言語には「動的型付け言語」と「静的型付け言語」の2つのタイプがあります。

これは、「このデータはどんなデータなのか」を、プログラム内で指定しなければならない言語なのか否かを区別するものです。

コンピューターは、自分がこれから扱うデータが何のデータなのかを認識できません。

ですので、数字を計算するならば「整数型」、文章を扱うならば「文字列型」などと、どんなデータを処理するかをコンピューターに示す必要があるのです。

プログラム言語によって、これら「型」の指示が必要ものと、必要ないものに分かれます。

この違いが「動的型付け言語」と「静的型付け言語」で分けられているのです。

動的型付け言語とは

動的型付け言語は、「型」の指定をしなくてよいプログラミング言語です。

つまり、数字を計算させるプログラムならば、コンピューターは勝手に「これは数字の計算だな」ということを理解してくれます。

ですので、プログラムを記述する時に「これは数字だよ」とわざわざ書く必要がありません。

これにより、データを扱う時に「型」に対して神経質に考えなくてもよいですし、プログラムの量も少なくて済みます。

静的型付け言語とは

静的型付け言語とは、扱うデータごとに「型」の指定をしなくてはならない言語です。

データの指定をせずに「1+1」を計算させようとしても、入力された「1」の意味がわからないのでエラーになります。

静的型付け言語では、「1」が「数字型」であることを教えなければならないということです。

学習するプログラミング言語の種類に迷った時は

プログラミングの学習をはじめるにあたって、プログラミング言語の選択は重要です。

あまりにもわかりにくい(低水準言語など)を選んでしまうと、途中で挫折します。だからといって、高水準言語を適当に選んでも、長続きしないでしょう。

プログラミング言語とは何かがわかったら、アプリやWebサイトを作るなどといった目的を定め、その目的に合ったプログラミング言語を決定することが最善です。

先着2,000名で受講料50,000円OFF!エンジニアへの転身は今がチャンス!

「ITエンジニア不足の今がチャンス。興味があるなら即やるべき!」
ITエンジニアが圧倒的に不足している現在、その求人倍率はコロナ禍でも8倍以上!
先行きが不透明な時代でも、安定して活躍が望めます。
テックキャンプ エンジニア転職では、受講生の90%以上が非IT業界からエンジニアへの転職を実現。
さらに、先着2,000名が受講料50,000円OFFとなるキャンペーン第二弾を実施中!
市場価値が高く将来性のあるエンジニア。未経験からの転身を目指すなら今!

キャンペーンの詳細はこちら

この記事を書いた人

佐久森
テックライター 佐久森 福岡県出身の東京都在住。ITインフラエンジニア10年以上の経験から、IT技術全般を初心者向けに分かりやすく解説。また、ITエンジニアの働き方に関する情報などを執筆中。
Advertisement