<IT情報・ソフトウェア編> IT情報TOPヘ
私は仕事を始めて以来モータ設計に携わっていましたが、会社人生半ば頃マイコン(マイクロコンピュータ)の出現を機にコンピュータとの関りが始まりました。以降は仕事の主体がモータのマイコン制御になり、扱ったプログラム言語はアセンブリ言語とC言語の2つです。定年後はホームページを作り続けていますが、少しはボケ防止になるかと知的に?過ごしているつもりです。
さて、現在世界でプログラム言語は200以上あるといわれています。それらのプログラム言語はどのようにして生まれ、どのように分類され、どんな用途に使われているか、その概要を調べてみました。
また、コンパイラ言語と同じく自然言語に近い記述をする高級言語の仲間にインタプリタ言語があり、これを俗にインタプリタと呼ぶこともあります。ただ、コンピュータの実行に先立って機械語「1,0」にはしません。インタプリタと呼ばれるソフトウェアが、プログラムを部分ごとに実行可能な機械語に変換しながら、逐次実行していきます。
すでに述べたようにコンピュータは、機械語「1,0」しか理解できません。そしてこの機械語「1,0」への変換効率が高いほど、すなわち同じ働きをするのに「1,0」のデータ量が少ないほど、コンピュータの動作速度は速くなります。
従って、プログラム言語によるコンピュータの動作速度は次のようになります。速度が優先される家電やロボット制御、さらにOSやゲームなどに C/C++言語 がよく使われる所以です。
アセンブリ言語 > コンパイラ言語 > インタプリタ言語 (右に行くほど遅い)
この図表あるプログラム言語を中心に、いろんな角度からこれらの言語を分類してみます。
・大規模な開発向き:◇Java:
Java(ジャバ)は世界的に最も人気を集めている言語で、その最大の理由はOSに依存しないで開発できることと、大規模システムの構築に適しておりその安定性と信頼性の高さです。Javaはプログラミング言語の中で難易度が高く、求人数もトップクラスになります。
Javaは「他言語でできることはほとんどできる」といわれるほど適用範囲の広い言語です。Webアプリやデスクトップのアプリの開発のほか、AndroidのスマホアプリなどはすべてJavaで作られており、さらに組み込みシステムの開発も得意としています。
◇JavaScript:
JavaScript はWebページに動きを与えるスクリプト言語で、Webブラウザで働くクライアントサイドの言語です。現在ではほとんどのWebページにJavaScriptが記述されているといっても過言ではありません。奇妙なことですが、Javaとは名前が似ている以外に関係ない言語です。
◇Python:
Python(パイソン=ニシキヘビ)は歴史の古い言語ですが、人工知能分野で使われるようになり近年注目を集めています。Pythonは高度なプログラム言語ですが、文法がシンプルで他人が書いたプログラムでも読み取りやすいといわれます。
Pythonは特にAIやビッグデータ、IoTなどの分野での活用が進んでいます。また、使われている代表的なサービスとして、YoutubeやInstagramがあります。
◇PHP:
PHPはWeb開発で使用されるスクリプト言語で、動的でインタラクティブなWebサイトの作成に使われます。フェイスブックやヤフーといった大規模サイトがPHPを使って構築されています。CMSとして注目のWordPressはPHPで書かれています。
PHPはHTMLと一緒に記述することができます。例えば、お問い合わせフォームや検索機能を追加する際に有用です。Web系のプログラミング言語の入門編として適しています。
◇Ruby:
Ruby(ルビー)は ホームページなどWeb上で利用するシステムを効率良く開発するスクリプト言語です。日本で開発され Cookpad(クックパッド)や食べログなどで使用されています。
◇Swift:
Swiftは2014年9月に Appleからリリースされたプログラミング言語で、 現在は iPhoneアプリの基幹言語として使われています。コードが読みやすく書きやすいなどのメリットから、iOSアプリ開発をSwiftへ移行する企業が増えています。
◇VBA・VB・VB.NET:
VB(Visual Basic)はExcelマクロのことで、VB.NET(Visual Basic.NET)は VB の一時期のバージョン名です。VBA(Visual
Basic for Application)は、VBをMicrosoftアプリ用にカスタマイズした言語で、Excelを含むOfficeのアプリで使用するためのプログラミング言語です。
◇C#:
C# はC++ とJavaの優れた点を取り入れたプログラミング言語で、Cに似た文法ですがCやC++との関連はありません。C# は開発したMicrosoft社のOSであるWindows専用の言語でしたが、今はMacOSやAndroidなどと幅広く対応しています。
◇C言語:
C言語は1970年代に開発された古いプログラミング言語で、現在でも史上最も広く使われておりプログラミング言語の源流のような存在です。C言語はCPU寄りの言語となるため、コンピュータの仕組みも理解する必要があります。数ある言語の中でもプログラムの本質的な部分を深くまで学べるので、高いプログラミング技術を志す人にとって必須の言語です。
C言語ではソースの中にアセンブリ言語を入れ込む仕組みもあり、古くは高級アセンブラと呼ぶ人もいました。そのくらいアセンブラ言語に近いことを簡潔に記述できることから、OS開発を始め 制御システムやロボット開発まで幅広く使われています。近年話題の
IoT(あらゆるモノがインターネットに繋がる仕組み)でも活躍しています。また、ブラウザやゲームの開発にとって中核のプログラム言語となっています。
◇C++:
C++ は前述したC言語の拡張版として1993年に開発されたオブジェクト指向型のプログラミング言語で、日本では「シープラプラ」の通称で呼ばれます。C++
はC言語との互換性もあるため、アプリ開発でC言語と一緒に使われることもあります。
C++ はC言語と同様に汎用性が高く、OS、ゲーム、ブラウザ、ロボットなど身近なシステムに幅広く使われています。さらに高速処理を実現できるため、画像解析システムの開発にも重宝されています。
◇HTML/CSS:
先に示した「プログラミング言語」の図表の中に、ホームページを記述するHTML/CSSが多く使用されていることが確認されます。しかし、HTML(Hyper
Text Markup Language)は Language(言語)となっていますがプログラミング言語ではありません。
そもそも広義のプログラミング言語をコンパイラ方式とインタプリタ方式でカテゴライズすることは、もう実情にあっていないようです。HTMLをしいて分類するとすればデータ記述言語であり、データベースを操作するSQLも含めて次のようになるでしょう。