機械語に翻訳しやすく、かつ人間にもわかりやすい中間の言語
それがプログラミング言語
代表的な言語とその特徴
C言語(シーげんご)
かなりハードウェアに近いレベルの記述
できてしまう、なんでもありな柔軟性を持っている。
BASIC(ベーシック)
初心者向けとして古くから
使われている。
書かれたその場ですぐ実行して確かめることができるインタプリタ方式が主流
という特徴を持っている。
COBOL(コボル)
事務処理用に古くから
使われる言語。
古くから使われているシステムでは、過去に作ったCOBOLのシステムが今でも多く稼働している。
Java(ジャバ)
インターネットのWebサイトや、ネットワークを利用した大規模なシステム
などで使われる。
設計初期からオブジェクト指向やネットワーク機能が想定されていた。
Java仮想マシン
という実行環境を用いることで、OSやコンピュータの種類といった環境に依存することなく
、作成したプログラムを動かす。
言語プロセッサ
人間の手で書かれたソースコードを機械語に翻訳するときに一つずつか全てかで方式が変わる。
インタプリタ
ソースコードにかかれた命令を、一つずつ機械語に翻訳
しながら実行する。
その箇所まで実行させることができる。
コンパイラ
ソースコードの内容をに全て翻訳
して、機械語のプログラムを作成する。
ソースコード全体を解釈して、機械語化するために、効率の良い翻訳結果
を得ることができる。
翻訳の手間はかかるが、その後のコンピュータが直接実行できるので高速
に動きます。
アセンブラ
-
アセンブラ言語で書かれたプログラムを機械語へ変換
する。 - アセンブリ言語で記述されたコンピュータプログラム(ソースコード)を、コンピュータが直接解釈・実行できる機械語(マシン語)による表現(オブジェクトコード)に変換するソフトウェア。
出典 https://e-words.jp/w/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9.html#:~:text=%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9%E3%81%A8%E3%81%AF%E3%80%81%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E8%A8%80%E8%AA%9E,%E3%82%B3%E3%83%BC%E3%83%89%EF%BC%89%E3%81%AB%E5%A4%89%E6%8F%9B%E3%81%99%E3%82%8B%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%80%82
低水準言語と高水準言語
アセンブラとマシン語のことを「低水準言語」
と呼びます。
COBOL,BASIC,Pascal,C言語,C++,Java,C#などのプログラミング言語を「高水準言語」
と呼びます。
低水準とは,コンピュータの生の動作に近い
という意味で,高水準とは,人間の感覚に近い
(コンピュータの生の動作からは遠い)という意味です。高水準言語を使えば,コンピュータのハードウエアの知識がなくてもプログラムが作れます
。
出典 https://xtech.nikkei.com/it/members/ITPro/ITBASIC/20021218/1/
ジェネレータ
特定の問題についての入出力の条件や処理条件などを支持するパラメタを入力することで目的プログラムを生成
する。
目的プログラムとは?
人間語で書いたプログラムの元ネタ(ソースコード)をコンピュータさんが分かる形に翻訳(コンパイル)したもの
出典 https://wa3.i-3-i.info/word17206.html
問題を解いた時の気づき
ガーベジコレクションとは?
Java言語では、ヒープ上のメモリ領域をJavaオブジェクトに割り当てたり、もしくは割り当て済みの領域を解放したりする処理を、プログラムコードに明示的に記述する必要がありません。これは、CやC++などの言語との大きな違いです。CやC++では、プログラムが使用するメモリ領域の割り当てや、使用済みの領域の解放を、プログラムコードから明示的に指示しなくてはなりません。
Java言語では、こうしたメモリ管理がJVMによって自動的
に行われます。つまりJVMは、Javaプログラムのどこからも参照されなくなった不要なJavaオブジェクトを見つけ出し、そのメモリ領域を自動的に解放
します。こうしたJavaオブジェクトの削除処理は「ガベージ・コレクション」
と呼ばれます。JVM内部では、このガベージ・コレクションが独立したスレッドとして定期的に動作しています。ガベージ・コレクションが動作する頻度は、JVMのヒープ・サイズやヒープに対する需要、その他のさまざまな要因によって変化します。
ヒープとは?
Javaプログラムの実行中には、Javaオブジェクトが生成されます。Javaオブジェクトは、Javaプログラムの起動時に生成される場合もあれば、実行中に必要に応じて生成されることもあります。いずれの場合も、JVMの内部で新しいJavaオブジェクトが作成されると、「ヒープ」と呼ばれるメモリ領域
に、同オブジェクトを格納するための領域が割り当てられ
ていきます。
出典 https://atmarkit.itmedia.co.jp/ait/articles/0502/25/news123.html#:~:text=Java%E8%A8%80%E8%AA%9E%E3%81%A7%E3%81%AF%E3%80%81Java%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88,%E3%83%BB%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%8D%E3%81%A8%E5%91%BC%E3%81%B3%E3%81%BE%E3%81%99%E3%80%82
出典