回答編集履歴
2
指摘に関する修正
answer
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
"新しいプログラミング言語がどのように作られるか?" ならば、今までのプログラミング言語に不満があるから。とは言うものの、全く新規に作られる事は無く、既存の言語(Cとか)を参考にして作られます。 昔の[COBOL](https://ja.wikipedia.org/wiki/COBOL)は、事務処理用言語として開発(米国なので、英語に近い記述)。[FORTRAN](https://ja.wikipedia.org/wiki/FORTRAN) は、数値演算が容易にできるようにと。(Wikipedia記述では、広く使われた最初の高級言語とか)
|
15
15
|
等々.... (と、Wikipediaを見るとそれぞれの言語の歴史とかあり、結構興味深い)
|
16
16
|
次に、言語の仕様が明確になったら、それを機械語に翻訳するためのツールの作成を行います。上に書いた様に、初期の頃は、手作業もありましたが、今は、既存の言語を使って機械語への翻訳ツール(コンパイラ)を作成する手順となります。
|
17
|
-
ただ、機械語への翻訳と言っても、環境によってその形式は異なり、Windows用、Linux用とか、
|
18
|
-
PCは、それぞれの手順に従って作成されたプログラムファイル(大抵は機械語のデータファイル)をメモリに読込み、実行する事になる。(と言い切りたかったが、Windowsの.NETは、[MSIL](https://ja.wikipedia.org/wiki/%E5%85%B1%E9%80%9A%E4%B8%AD%E9%96%93%E8%A8%80%E8%AA%9E)と呼ばれるバイトコード。CPUは直接、実行しない)
|
17
|
+
ただ、機械語への翻訳と言っても、環境によってその保存されるデータ形式(機械語のデータファイル形式)は異なり、Windows用、Linux用とか、システム起動用もまた別の形式となります。(機械語そのものは、CPUに依存)
|
18
|
+
PCは、それぞれの手順に従って作成されたプログラムファイル(大抵は機械語のデータファイル)をメモリに読込み、実行する事になる。(と言い切りたかったが、Windowsの.NETは、[MSIL](https://ja.wikipedia.org/wiki/%E5%85%B1%E9%80%9A%E4%B8%AD%E9%96%93%E8%A8%80%E8%AA%9E)と呼ばれるバイトコード。CPUは直接、実行しない -- 違うと言う指摘もあり、興味ある方は調べてください。MSILとかで検索すれば、情報はあります)
|
19
19
|
|
20
20
|
と、色々と複雑になってます。
|
1
追記
answer
CHANGED
@@ -4,4 +4,17 @@
|
|
4
4
|
まあ、中で小人さんが頑張ってるという冗談もありますが、最初は、人が機械語に(手作業で)翻訳した事もあるようです。
|
5
5
|
翻訳するためのプログラムを(最初は人が)機械語に翻訳し、そのプログラムを使って、更に良い翻訳プログラムを作成する、という歴史ですね。
|
6
6
|
|
7
|
-
今だと最初は、別のコンピュータ(PC)を使って、新しいコンピュータ用の翻訳プログラムを作成するので、人が直接、翻訳する事はまず無いでしょうが。
|
7
|
+
今だと最初は、別のコンピュータ(PC)を使って、新しいコンピュータ用の翻訳プログラムを作成するので、人が直接、翻訳する事はまず無いでしょうが。
|
8
|
+
|
9
|
+
[追記]
|
10
|
+
> そもそもプログラミング言語をどういう風にして作るのでしょうか。
|
11
|
+
また、作った後にそれらをどのようにしてPCに認識させるのでしょうか?
|
12
|
+
|
13
|
+
この質問の意図が分かりません。
|
14
|
+
"新しいプログラミング言語がどのように作られるか?" ならば、今までのプログラミング言語に不満があるから。とは言うものの、全く新規に作られる事は無く、既存の言語(Cとか)を参考にして作られます。 昔の[COBOL](https://ja.wikipedia.org/wiki/COBOL)は、事務処理用言語として開発(米国なので、英語に近い記述)。[FORTRAN](https://ja.wikipedia.org/wiki/FORTRAN) は、数値演算が容易にできるようにと。(Wikipedia記述では、広く使われた最初の高級言語とか)
|
15
|
+
等々.... (と、Wikipediaを見るとそれぞれの言語の歴史とかあり、結構興味深い)
|
16
|
+
次に、言語の仕様が明確になったら、それを機械語に翻訳するためのツールの作成を行います。上に書いた様に、初期の頃は、手作業もありましたが、今は、既存の言語を使って機械語への翻訳ツール(コンパイラ)を作成する手順となります。
|
17
|
+
ただ、機械語への翻訳と言っても、環境によってその形式は異なり、Windows用、Linux用とか、その形式は異なり、また、システム起動用もまた別の形式となります。
|
18
|
+
PCは、それぞれの手順に従って作成されたプログラムファイル(大抵は機械語のデータファイル)をメモリに読込み、実行する事になる。(と言い切りたかったが、Windowsの.NETは、[MSIL](https://ja.wikipedia.org/wiki/%E5%85%B1%E9%80%9A%E4%B8%AD%E9%96%93%E8%A8%80%E8%AA%9E)と呼ばれるバイトコード。CPUは直接、実行しない)
|
19
|
+
|
20
|
+
と、色々と複雑になってます。
|