PC JOCKEY

ITに関する、時事ネタや小ネタ、自分なりの語りをマッタリ書いています。 書いてもらいたいリクエストがあれば出来る限り対応します。

開発言語のいろは

開発言語とお聞きしまして皆さんはどんなのを思い浮かべるのでしょうか。

今回は今における開発言語の大まかな紹介をして見たいと思います。

 

1.マシン語機械語

各CPU(演算装置)の命令語の対応表の書かれた「オペコード表」を見て人力で

16進数(0~F数字)に置き換えて入力する、手法

CPUと1対1で命令が書けるが現在みたいな高度なCPUにはかなり無理があります。

~’90年代全般まで使われていた手法です。

2.アセンブリ言語

低水準言語と言われます、上記のマシン語の「オペコード」をある程度わかる様に

文章化した言語、現在では「マクロ」機能が使え高水準言語に近い書き方のできる

物もあるが、弱点はCPUと1対1であるがゆえに

他のCPUへの移植が難しいのが難点である。

■高水準言語

3.BASIC

50年代に演算用の言語としてIBMが開発した「FORTRAN」をベースに入門向けに

改良された言語、かのマイクロソフトが大きくなって行った道筋にもかなり貢献している。

現在ではWindowsの内臓スクリプト(VBS)やMSのオフィススイート(VBA)や

VisualBasic等に使用されている。

昔はインタプリタ方式(対話式変換)のゆえに速度が遅い!と言う大きな弱点が

ありましたが、以後話す言語と同様のコンパイラ方式(全変換)になり

速度面も並になっている(メモリ管理等などチューニングできない点も残る)

4.C言語

BASICの次に有名と言うより・・・現在ではほぼスタンダードな言語

変換結果(コンパイル後)を多少犠牲(完成後が動作不全の場合がある)

にして自由度を与えた言語。

処理の手続きとメモリーの管理等を書けるので現在ではアセンブリ言語並に早い

アプリケーションを作る物に適している、多機種移植性も悪くない。

ただ上記の手続きの文法がトリッキーなので慣れるまで大変である。

5.JAVA

現在、組み込み系ではデファクト(標準)な言語である。

JAVAVM(仮想マシン)上でその言語を走らせる事を主にしている

他CPUの固有の作業も出来るがJAVAVMの指定された仕様で書けば

どのマシンでも動作するのが売りである・・弱点は仮想マシンを動作させるために

動作は遅い(現在は固有のVM(仮想マシン)上で動くことを想定して速度を稼ぐ書き方がメインである。

※アンドロイドやIOSなど決められたOS上。

6.C#

C言語の弱点であるメモリ管理や演算記述ミスを防ぎJAVAの良い所を取り込んだ

マイクロソフトが推奨する言語である。

元は言語ソフト開発メーカーのボーランド社のDelphi

C言語のライバルであったPASCAL言語の進化系)を元に製作された言語である。

Windows’7以降では推奨の言語となっている。

ただチューニングし難い点(ブラックボックスが多い)点や多機種への移植が難な所が

あり発展途上の所もありC言語に戻ってしまうユーザーも多い。

7.スクリプト言語

これはスペシャル枠ですが。

rubyHSP等上記の言語で書かれたソフトがまたプログラムを文章形式で

実行する言語である。

現在はCPUの性能も向上し普段での使用用途のソフトはこれでまかなうことも出来る。

コンパイルプログラムが多機種に対応すれば移植も容易(ほぼ書き換えないで)である。

http://hsp.tv/

HSPのサイト・・・本家では「インタプリタ言語」と呼んでいるが・・・スクリプト言語である。

 

メジャー所をご説明しましたが。

開発言語はマシン語をいかに容易に効率的に変換できるかを主に適材適所に

カスタマイズされた変換プログラムの事であります。

人間の言語と同様に「方言」と言うのが色濃いですが。

処理手順は同じなので手順さえ守れば「動作する」、守らない場合は「動かない」

人との話し合いと同じ所があります。

英語を話すと同様に手順(文脈)からの理解があれば、勉強しやすいと思います。

 

猫でもわかるC言語プログラミング (猫でもわかるプログラミングシリーズ)

猫でもわかるC言語プログラミング (猫でもわかるプログラミングシリーズ)

Visual C# .NETゲーム制作教科書―ゲーム・プログラミングの基本から応用まで (I・O BOOKS)

Visual C# .NETゲーム制作教科書―ゲーム・プログラミングの基本から応用まで (I・O BOOKS)