【漫画でIT入門】「とあるIT企業の社員活動日誌」第16話「プログラミング学習のすゝめ② プログラミング言語と種類」
パソコンを使う人のありそうでなさそうなお話や、ガジェットのお話を漫画で紹介させていただくコーナーです。
とあるIT企業に務める彼女たちは日々楽しく真面目に業務に励んでいます。その中で、起こったハプニングや困った事などを活動日誌を通して覗き見していきましょう。
【漫画で入門】「とあるIT企業の社員活動日誌」各話一覧はこちら
基本が大事!!
プログラミングでできることって意外とシンプルで、シンプルなことを複数同時に処理することで複雑な処理を行うことができるようになります。ですのでまずは単純な処理の仕方を覚えないといけません。何事も基本が大事ってことですね。
よくドラマなどの描写で、すごい勢いでキーボードを打っていくシーンがありますが、あれは色んな命令文をたくさん入力している中から生まれている表現なんですね。
ただ、一文字の単語が原因で命令文がうまく動かずにパソコンの前でずっと画面とにらめっこすることの方が多いらしく、実際にはあんな風にはできないらしいですが難しいイメージもありますが、まずは単純な命令文を作って試していくとだんだんと楽しくなっていくかもしれませんよ。
プログラミング言語とは
コンピューターは人間の言語(日本語や英語など)をそのまま理解することができません。
画面上には日本語や英語などの文章が表示されていますが、これはコンピューターが理解して表示しているわけではないのです。
最近よく目にするようになった人工知能には人間と会話ができている「ようにみえる」ものもありますが、これも本当の意味でコンピューターが言葉を理解しているわけではありません。
コンピューターに理解してもらうには、コンピューターが理解できる言葉で命令をする必要があります。
そのための言葉がプログラミング言語(プログラム言語)です。(なお、便宜的にコンピューターが「理解」できると書きましたが、これも本当に正しいとは言えません。あくまでもイメージを掴むための説明です。)
コンピューターの内部では、すべてのデータを0と1のデジタル信号で処理しています。
コンピューターに何か処理をさせるには、本来は0と1の羅列で命令しなければならないのですが、人間が「010001101…」といった並びを見て意味を理解することはほとんど不可能です。
その橋渡しをする、コンピューターに命令を与えるための専用の言語がプログラミング言語です。
プログラミング言語にはいくつかの種類がありますが、大抵のプログラミング言語は英語をベースとした記述方法が用いられています。
英語や日本語などの言語(自然言語という)に比べて文法が厳密に決められていて、文法的な間違いがあるとエラーとなってしまいプログラムは動きません。
プログラマの言いたい事をパソコン側が上手い事理解して実行してはくれないのです。
あるプログラミング言語の文法に従って記述されたファイルをソースコード、ソースプログラム、あるいは単にソースやコードといいます。ソースコード上には作りたいプログラムの具体的な動作が記述されています。ソースコード自体は普通のテキストファイルで、メモ帳等のテキストエディタで編集することができます。
プログラミング言語の種類
現在、プログラミング言語の種類は200種類以上であるといわれていますが、全ての言語が今も使われているわけではなく、実際に使用されているのは全体の10%程度です。
プログラミング言語の種類が多い理由は2つあり、プログラムの規模が大きくなってきたことと、コンピューターの処理速度が上がったことだといわれています。プログラミング言語はその時代のコンピューターの性能やプログラマーたちの意見を取り入れて進化してきました。
2021年11月時点のプログラミング言語人気ランキング
1位 python
2位 C
3位 Java
4位 C++
5位 C#
6位 Visual Basic
7位 JavaScript
8位 アセンブリ言語
9位 SQL
10位 PHP
11位 Classic Visual Basic
12位 Groovy
13位 Rudy
14位 Swift
15位 R
16位 Perl
17位 Object Pascal
18位 Go
19位 Fortran
20位 MATLAB
アプリケーション開発向けのプログラミング言語
OS上で起動するソフトウェアの開発に向いている言語。C言語、C++、C#、VisualBasicなどが挙げられます。
・C言語はC言語は、1972年に誕生したプログラミング言語です。メモリ領域の管理をはじめ論理演算などハードウェアと深い関係にありながら、基幹システムやゲームなどソフトウェア開発の現場でも重宝されています。対応できる範囲が広い、汎用性に優れたプログラミング言語だといえるでしょう。
・C++はC言語の機能を拡張した、上位互換性のあるプログラミング言語です。C言語と同じく高度な処理能力を持ちつつ、C言語を上回る自由度の高さも備えています。スマホアプリの開発をはじめ、IoTのソフトウェアやロボットの制御システム、大型の業務管理システムなど様々なジャンルの開発に用いられているのが特徴です。
・C#はJavaの設計を踏襲して開発された言語であり、Windows向けのアプリ開発に適している言語となっています。
・VisualBasicはマイクロソフトが開発したプログラミング言語であり、Windowsアプリと連動させたシステム開発に最適な言語となっています。
webアプリケーション開発向けのプログラミング言語
ホームページを閲覧中に動作するプログラムを作るための言語。Java、JavaScript、Rubyなどが挙げられます。
・Javaはとくにポピュラーなプログラミング言語のひとつです。世界中で使用されている定番のプログラミング言語であり、アプリ開発に必要なライブラリやサンプルも多く公開されています。Javaの最大の魅力は、OSへの依存度が低いことです。WindowsやAndroid、iOSを問わず同じプログラムを動作させられます。また、セキュリティ性の高さにも定評があり、官公庁や銀行システムの基幹システムは、Javaで構築されていることもしばしばです。
・JavaScriptはHTMLとCSSを連動させ、Webページに動きを付けられるプログラミング言語です。JavaScriptを使用することで、表示されている画像に動きを加えたりマップ機能やポップアップ機能を追加したりといった改造が可能になります。
・Rubyは日本人技術者の「まつもとゆきひろ氏」が開発したプログラミング言語です。コードがシンプルで簡潔なため、上級者はもちろん経験の浅いプログラマーにも適しています。フリーソフトウェアとして公開されており、無料での使用はもちろん複製や仕様変更、再配布も可能です。ブログやSNS、ECサイトなど様々なWebアプリ開発の場面で使用されています。
組み込み系のプログラミング言語
ハードウェアのチップ上で動作するプログラム開発に向いている言語(電子機器の制御等)。C言語、C++、Java、アセンブラなどが挙げられます。
・アセンブラプログラミングは、より機械語に近い言語になります。一般的に「低水準言語」と称される言語群に属します。(「低水準言語」「高水準言語」については下記にて説明します。)
高水準言語と低水準言語
プログラミング言語には「高水準言語」と「低水準言語」という分類があります。高級言語、低級言語とも呼ばれます。
「高水準言語」は私たちが普段使っている言葉(自然言語。英語や日本語など)に近い形の記述が可能で、「低水準言語」はよりコンピューター寄りの記述になる、と説明されます。
なお、高水準言語は処理速度が劣るとはいっても、最近のパソコンの性能ではほぼ違いはないと言っても差し支えありません。一般的なソフトウェアのほとんどは高水準言語で書かれているので、これが理由で速度が遅いと感じる事はありません。
低水準言語の特徴
- ハードウェア寄りの処理が書ける(処理の高速化に有利)
- 反面、ハードウェア依存のプログラムになる
- ぱっと見ただけではコードが理解しづらい
高水準言語の特徴
-
ハードウェアを(それほど)意識せずにプログラムが書ける
-
自然言語に近いので動作を理解しやすい
-
反面、処理速度が若干劣る
まとめ
プログラミング言語がどの様なものなのかや種類について簡単にご紹介しました。
プログラミング言語が多くの言語存在しており機能的にかぶる部分も多々ありますが、それぞれに特徴があります。その特徴をしっかりと理解して学習、活用していくことが非常に大切です。次回からは一つ一つの言語にフォーカスを当てご紹介していこうと思っています。
その中で興味がある言語、勉強してみたい言語が見つかれば幸いです。