• ベストアンサー

プログラムの大元

 プログラミングにに余り詳しくないのですが、ふと思いました。  C言語等の、コンパイラのプログラミングはどうやっているのでしょう。  コンピューターに1+1=2 と分からせるのに、最初に作った人はどうやって作ったのでしょうか?  最近凄く気になっているので、どなたか回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#58440
noname#58440
回答No.3

  昔の事を懐かしく思い出しました。 初めは紙にアッセンブル言語でプログラムを記述して、自分でアッセンブルし 1010 0001 0000 0001 1100 1111 0000 0000 こんなマシン語に変換してROMライターの16個のスイッチを1ならON、0ならoffに設定して書き込みボタンを押して、次の行をスイッチに設定して書き込みボタンを押して・・・・の繰り返し。 少しお金が出来た時にタイプライターを購入して紙テープにマシン語をパンチして編集できる様になった時はプログラミングが楽になったと喜びました。 この紙テープでアッセンブラを入力し、1101 の様な二進数の入力から開放され Clear R0 Go *+1 この様なアッセンブラ言語で入力できる様になり飛び上がって喜びました。 ・・・これが初期のプログラムです・・・  

dorusi
質問者

お礼

回答ありがとうございます。 なるほど。 そんな大変な作業だったのですね。 ミスも見つけにくそうで今は随分楽なのですね。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • marori3
  • ベストアンサー率25% (23/91)
回答No.2

#1追記 最初のC言語コンパイラはアセンブリで書かれたと記憶しています。 UNIXというOSのプログラムを書くために最初はアセンブリを使用していたそうですが、 アセンブリのコードというのはCPU毎に違うため、大変な苦労をしたそうです。 そこで『CPU毎に違うUNIXのコード統一するために』C言語を作ってCPU毎の互換性を高めた。 といった感じでしょうか。 蛇足多くてすいません。

dorusi
質問者

お礼

本当に申し訳ありません。 僕の聞き方が悪かったのですが、「0101・・・」というアセンブリは、例えば「0101」(適当です)というのを「1」と定義するのはどうやっているのでしょうか?・・・と言う事を聞きたかったのです。 今僕が読んでもそういう意味には取れない質問文でした。すいません。

すると、全ての回答が全文表示されます。
  • marori3
  • ベストアンサー率25% (23/91)
回答No.1

機械語で入力していました。 3E 01 C6 02 のように、 それからその機械語に1対1で対応したアセンブリが誕生しました。 LD A,1 ADD A,2 その後色々な言語を経て、C言語が誕生しました。

dorusi
質問者

お礼

ありがとうございます。 すいません。僕の聞き方がおかしかったです。 「0101・・・」(適当です。)というのを「1」。「1+3=4」というのをどうコンピューターに一番初めに分からせたのでしょうか?という事を聞きたかったのですが・・・申し訳ないです。質問の文章おかしいですね。

すると、全ての回答が全文表示されます。

関連するQ&A