Loading article…
第二世代プログラミング言語(2GL )という名称は、アセンブリ言語を世代的に分類する方法である。[1] [2] [3]これらは低水準プログラミング言語 に属する。
この用語は、より高レベルのマシンに依存しない 第3世代プログラミング言語(3GL)( COBOL、C、JavaScriptなど)とそれ以前の第1世代プログラミング言語(マシンコード)[2] [4]を区別するために造られた。
第二世代プログラミング言語
第 2 世代プログラミング言語には、次の特性があります。
- プログラム内の行はプロセッサ コマンドに直接対応し、基本的には第 1 世代のプログラミング言語をオーバーレイするニーモニック デバイスとして機能します。
- コードはプログラマーが読み書きできる。コンピュータ上で実行するには、機械が読み取り可能な形式に変換する必要がある。このプロセスはアセンブリと呼ばれる。[4]
- この言語は特定のプロセッサファミリと環境に固有のものです。[2]
第二世代言語はカーネルやデバイスドライバの一部に使用されることがあり、ビデオゲーム、グラフィックプログラム、その他の集中的なプログラムで使用されることもあります。[1]
現代のプログラムでは、第二世代アセンブリ言語はほとんど使用されていません。[5]第二世代言語でのプログラミングは速度面での利点があるかもしれませんが、いくつかの欠点がその衰退につながっています。
- プログラミングは、高レベルのロジックではなく、個々のプロセッサ命令で表現されます。[2] [3]
- 低レベルのメモリとハードウェアの詳細は手動で管理する必要があり、バグが発生しやすい傾向があります。[2]
- プログラムはマシンに依存するため、ターゲットマシンのアーキテクチャごとに異なるバージョンを作成する必要があります。[3]
プログラムの大部分は、第3世代プログラミング言語または第4世代プログラミング言語で書かれています。アセンブリ言語の主な利点である速度は、よく書かれたCコードが手書きのアセンブリ言語と同等かそれ以上の速度になることがあるため低下しています。[2] [6]
第二世代言語は、おそらくコンピュータの歴史において最も重要な位置を占めています。長い間、第二世代アセンブリ言語は、NESやコモドール64などの多くのマシンの開発のための唯一の良い選択肢でした。[7] [8]第二世代言語は、プログラマーがマシンのニーズに従うという伝統からの大きな一歩であり、マシンがプログラマーに適応するという第一歩であり、その後のすべてのプログラミング言語の世代で繰り返される現象でした。[2] [3]
参考文献
- ^ ab 「コンピュータの希望、生成言語」
- ^ abcdefg Brookshear, J. Glenn (2012).コンピュータサイエンス:概要(第11版). Addison-Wesley. pp. 240–241. ISBN 978-0-13-256903-3。
- ^ abcd Vass, Péter. 「プログラミング言語の世代とプログラミングパラダイム」(PDF)。
- ^ ab 「プログラミング言語の世代とは何か?」wiseGEEK . 2019年6月11日閲覧。
- ^ 「Top Computer Languages 2019 - StatisticsTimes.com」。statisticstimes.com 。 2019年6月12日時点のオリジナルよりアーカイブ。2019年6月11日閲覧。
- ^ Walls, Colin. 「なぜC言語はアセンブリ言語より速いのか」。Mentor , a Sieman's Business。Mentor Inc. 2020年1月29日時点のオリジナルよりアーカイブ。 2019年6月11日閲覧。
- ^ Commodore corporation. 「C64 プログラマーズリファレンス」(PDF) . Commodore corporation . 2019年6月11日閲覧。
- ^ Wikibooks寄稿者。「NESアセンブリ」。Wikibooks: NESアセンブリ。 2019年6月11日閲覧。
{{cite web}}:|author1=一般的な名前があります (ヘルプ)
参照
- {{コンピュータ言語}}
- {{プログラミング言語}}
- {{プログラミングパラダイム navbox }}
