• ベストアンサー

プログラムの起源について教えてください

全然困っているわけではなくただの好奇心なので、時間があるから教えてもいいよ!という方にお聞きしたいです。 ど素人なので、できるだけ易しい感じで教えていただけると助かります。 最近コンピュータのプログラムに興味を持っています。 (HTMLくらいしかわかりませんが…) それで何かソフトとか作れたら楽しいだろうなと思ってプログラムについて調べてたりしたのですが、ふとした疑問がわきました。 Windowsの開発言語って何だろう(知ってる方がいたらこれも是非)…いや、そもそも一番最初のプログラムってどうやってやったんだろう?って。 Wikipediaで見たところ、世界で最初のプログラム言語は1941年にドイツで開発されたプランカルキュールという言語みたいなのですが、その世界初のプログラム言語を開発するのに何らかのプログラム言語を使用したのであればそれが最初?などと考えてしまいます。。。 ひよこが先かニワトリが先か?みたいな話ですが… コンピュータの電源をいれたら何らかの処理がなされて起動するといった処理をどうやって作ったのだろうか?と疑問に感じてしまいます。 電卓とかの計算プログラムの方が先なのかも知れないですが… そこら辺に詳しい方がいらっしゃったら是非教えてください。

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

  • ベストアンサー
回答No.1

>Windowsの開発言語って何だろう 確かC++じゃなかったですかね? >ランカルキュールという言語 初耳ですね。へえ。これは知らんかった。 通常のコンピュータであるノイマン式計算機だと、最初の登場作品はENIACで、回路を繋ぐ配線を一々繋ぎ変えてた、と思いますよ。さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 想像するに初期のYMOが使っていた「タンス」シンセサイザーに極めて近いんじゃないだろうか、とは踏んでいますが(もちろんもっとデッカいんでしょうがね)。YMOなんて言われても分らんか(笑)。 この「配線繋ぎ変え」がメンド臭いんで、その「配線繋ぎ変え」を擬似的に指示して実行させる、ってんで(ENIAC以降の)「プログラミング言語」が誕生したんじゃないか、と思います。多分媒体は「パンチカード」と言う紙媒体で、配線繋ぎ変えを紙にあけた穴で指示して、その紙をコンピュータに挿入して……って感じじゃないですか?さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 この「配線繋ぎ変え」指示が当初の機械語だったんだと思います。んでちょっとしてからアセンブリ言語、となったんじゃないですか?さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 いわゆる高級言語はFortranの登場が一番最初でしょう。当時は今で言う「数値計算」がコンピュータの使用目的だったんで「数値計算をわざわざパンチカードでアセンブリで記述して……」ってのがあまりにもメンド臭かったんで、Fortranが開発されたんだと思います。これで「計算」だけはラクになった、と。さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 次に登場した高級言語はLispですが、最初の実装は「始めて高級言語であるFortranで実装された高級言語」だったと思います。これが始めていわゆる「(高級)言語でプログラミング言語を書く」実例だったんじゃないでしょうか?さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 「ひよこが先かニワトリが先か?」ってのはこの辺から始まったんでしょうね。 >コンピュータの電源をいれたら何らかの処理がなされて起動するといった処理をどうやって作ったのだろうか? オペレーティング・システムですか? 最初は無かったんじゃないですかね?多分簡単な入出力くらいしか無かったでしょう。入れて出す、みたいな(笑)。さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 ファミコンやスーパーファミコン辺り知ってれば想像付きやすいんですが、要するにああ言う形で……1ソフト1動作、ってな感じだったんじゃないですかね。大体メモリが今に比べて貧弱だったでしょうから、コンピュータ上で2つも3つもプログラムを同時に動かす事も出来なかったでしょうしそんな必要性も無かった。さすがにそんな時に生まれてないんで、現物見た事も無いですし、触った事もないですが(笑)。 多分1960年代くらいからでしょう。「OSらしいOSが登場した」のは。それ以前は大型コンピュータさえファミコン/スーファミ並の環境だったと思います。パソコンで言うOSも……かなり遅れて80年代に入らないと登場してなかったんじゃないかな?やっぱりその時代以前はOS搭載するにも、メモリやストレージが貧弱だったんで、OS搭載するのは「資源の無駄」だったんですよ。ゲーム動かしたいだけで、ゲームを動かすのにも大変だったのに、OS搭載して余計な資源を消費されたくなかった、って事でしょうね。 カセットテープに記録された「ゲーム」を30分くらいかかって気長にロードしてそれだけを遊ぶ、ってのが初期の8ビットパソコンの環境だったんで、そう言う時代だったんですよ。 友達が富士通のFM-7と言う8ビットパソコンを買ってもらってて、「新宿ナンパストリート」ってゲームを遊ばせてもらったんですが、一回ゲーム終了するとまた30分くらいかけてデータをロードしなおして、って言うような状況だったんで、これは良く覚えています(笑)。OSなんてありませんでした(笑)。

pika_kichi
質問者

お礼

とっっっても分かりやすかったし面白かったですw(ちょっとしつこかったですがww) YMOは教授くらいしかわかりませんw 最初は配線繋ぎ買えとかパンチカードなるものでやってたんですね! しかもWindowsはC++という事も分かってスッキリです。 熟睡できそうです^^ ありがとうございました。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

とても数百字では足りないので、 Amazon.co.jp: モダン・コンピューティングの歴史: ポール E.セルージ, 宇田 理, 高橋 清美: 本 http://www.amazon.co.jp//dp/4624000234 あたりの書籍をあたるといいと思います。 #高いけどね :) それでもいくつか書いておくと、 >いや、そもそも一番最初のプログラムってどうやってやったんだろう?って。 これは、人間が「機械語」で書いていったんですよ。 アセンブリ言語ですらない。 >1941年にドイツで開発されたプランカルキュールという言語 Plankalkül は理論だけで実際に何かのコンピューター用として使われることはありませんでした。 「実用的な」高水準のプログラミング言語はFORTRANが最初とされていますが、 実はその前にいくつかプログラミング言語的なものは作られていたようです。 AUTOCODEとかFLOWMATCIとか。 あと、ENIACはいわゆる「ノイマン型コンピューター」じゃありませんし、 Lispの最初の実装はアセンブリ言語を使ってます。

pika_kichi
質問者

お礼

6000円出してまではちょっと。。。 ちなみにURLリンク開けませんでした(汗 >>いや、そもそも一番最初のプログラムってどうやってやったんだろう?って。 >これは、人間が「機械語」で書いていったんですよ。 機械語ってものを最初に考えた人凄いですよね。 機械と会話してみようと思ったんでしょうね、きっと。 一方通行の命令だけの回路じゃなく、受け答えできたら…なんて考えたんでしょうか?ロマンすら感じます。 未だに2進数とか16進数がよく分かってません。。。 ありがとうございました!

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

ENIAC だと, 処理は全て配線で指示するので「プログラミング言語」そのものが不要. そうでなくても, プログラミング言語で記述したものがそのまま実行されるわけではなく, 「CPU でが理解できる形」(いわゆる「マシン語」) に変換してから実行されます. だから, プログラミング言語なんか使わなくてもマシン語で全部書いてやれば OK. もちろん本当は「マシン語で書く」わけではなく, マシン語と (ほぼ) 1対1 に対応する「アセンブリ言語」で書いておいてから「人手でマシン語にする」(ハンドアセンブル) ということもよくあります. 普通は「電源を入れると特定のところから実行を開始する」という機能を CPU が持っているので, その「特定のところ」を ROM にしておけば「コンピュータの電源をいれたら何らかの処理がなされて起動するといった処理」もできます. 昔の TK-80 とか MZ-80 あたり, あるいは今でも PIC とかをやる人には (それなりに) なじみのある方法だと思う.

pika_kichi
質問者

お礼

>普通は「電源を入れると特定のところから実行を開始する」という >機能を CPU が持っているので, その「特定のところ」を ROM にし >ておけば「コンピュータの電源をいれたら何らかの処理がなされて >起動するといった処理」もできます なるほどという感じでした! だからファミコンはカセットを入れないと何にも起動しなかったのですね!!w ありがとうございました、感謝です。

関連するQ&A

  • CASLIIのプログラムで開発ができるの?

    基本情報処理技術者試験の午後のプログラム選択問題にCASLII(過去はCASLだったけど) そのアセンブラ言語なんぞで、何か新規開発ができるのでしょうか? C言語、Java、COBOLなら、色々な会社で開発してることはよ耳にしますが、CASLIIで開発してる とは耳にしたことがありません。もしもCASLIIで開発ができないのなら何の為に午後のプログラム言語問題にあるのでしょうか?それも知ってる方が居たら教えていただきたくて質問しました。 お願い致します。

  • プログラムの言語について

    プログラムの言語について 私は今プログラムの勉強をしてるんですが 自分はどんな言語からいこうかと思っています 私は将来的にコンピュータ関係の仕事をしたいと思っています といってもソフト開発かゲームプログラマーとか細かいことはまだ考えていないんですが そんなことも考えて 今は、プログラムの構造を理解するために言語を勉強すれば良いのか それとも、将来役に使う見込みのある言語を勉強すればいいのかわかりません わたしはHSPという言語?をつかってゲームを作ったりしています なの、変数の定義などあまり細かいことはわからなくても プログラムがどんなのかというものはちょっとわかります そもそも、言語が変わることで、”どうすればいいの~~”くらいに変わるものですか? あと、言語にはいろいろありますが、個々にどんなことに特化しているなどのことはあるでしょうか また、お勧めの言語などがありましたら、使いやすい(あなたが使っていて満足な)エディタなどあれば ご紹介よろしくお願いします

  • プログラム開発者は?

    今C言語やC++など勉強しようとしているところなんですが、プログラム開発者はC言語とC#とC++ではどれの方が多く使っているのでしょうか?それと、一般にプログラム開発者で使われているのはどのC言語ですか? 初歩的な質問ですが、どなたか教えてください、お願いします。

  • プログラムを捜しています

    昔コンピューターが開発された初期にFORTRANという プログラム言語があり、たとえば 1 FOR X=1 TO 5,1 2 Y=X^2+1 3 Print Y と入力すると、Y=X^2+1をX=1から5まで 1飛びに計算して  2, 5, 10, 17, 26 と出力することができました。これに相当する 方法は現在どうすればよいのでしょうか。 教えて下さい。

  • 作成プログラムの処理速度を測定したいのですが、

    作成プログラムの処理速度を測定したいのですが、 測定ソフトや容易な方法をご存知の方、ご教授おねがいします。 測定対象プログラム  開発環境:VisualStudio2008          .NET Framework 3.5 開発言語: C++/CLI   測定したい項目  実行されたメソッドとその処理時間

  • プログラム言語について

    いつも色々な質問でお世話になっています。 今月から私は会社(システム開発会社)の人材派遣担当になりました。 そこでいろいろなプログラム言語がありますが、どの言語はどのようなシステムによく使用されるとか、言語の種類一覧などを紹介しているサイトはないでしょうか? 得意先の方と話すにしても言語の種類・特性が分からない為、躊躇してしまいます。 参考になるサイトなどございましたらご教授下さい。 よろしくお願いします。

  • 自動アップデートプログラムについて

    プログラミングがわかっていないものですが、仕事上のお客さんから自動アップデートプログラムをしたいとのことで、そのような仕組みは 1、何言語? 2、開発するとしたらどのくらい費用が? 3、すでにできたソフトウェアが販売されているの? 以上3点の疑問におおよそでもいいので宜しくお願いいたします。

  • プログラム開発時について

     これから、グラフィック系のソフトを作成してみたいと考えてますが、分からない事があります。 どういったコンピューター言語がいいのか?(一応SAIや ピクシアのようなすばらしいソフトに近づける用に作成するのが夢です)  コンピューター言語を使用する際にライセンス料がかかるのか?   ライセンス無料でも上記2つのソフトウェアのような物を作成可能なのか?  例えばJPG画像を読み込み可能にしたり、出力可能にしたりすると、(JPG)と言う物自体にもライセンス料が発生するのか?  ちなみに今は今は(HPS)というソフトの初歩のやり始の勉強中です。  プログラム言語がライセンスフリーで、なおかつ上記ソフトの様な開発ができたら自己満足になってしまうかもしれませんが大変やりがいが出て創作意欲も沸いてくるしだいです。  よくNETをくぐってみるとC#やC++などをよく拝見しますが、こちらの方にもライセンスふりーでソフトの開発や、開発したものを、フリーなどで配布することが可能なのでしょうか? 出来るだけ軽めのソフトを開発できればと思っています。 プログラミング言語に、片足を突っ込んだ程度の自分にどこまで出来るか分かりませんが。幅広いご意見をお願いいたします。

  • プログラム言語を勉強したいのですが

    最近プログラム言語を勉強したいと思っているのですが、あまりにも種類がおおすぎて 迷っています。 C・C++・VC・VC++・Java・LINUX いろいろあるのですが、独学で覚えられるものでこれから先役に立つような言語を教えて もらえないでしょうか? 私的には、最終的にはアプリケーションの開発などに役立つものを覚えたいのですが このような言語に関わった経験が全くないのでよろしければおすすめの書籍などがあれば 一緒に教えてもらえないでしょうか。 乱文ですが、このメッセージを見た方よろしくお願いします。

  • プログラム開発環境に付いて

    はじめまして。 プログラムは大学時代にちょこっとかじった程度ですが、 最近改めてプログラムに興味がわいてきたので独学で勉強しようかなと思っています。 そこで、相談があります。 (1)プログラム開発用のノートPCを購入しようと思っているのですがwindowsとmacどちらがおすすめですか? 今、開発したいプログラムは、webページからデータをリアルタイムに取得できるプログラムや画像処理のプログラムを開発しています。これをしたい場合、おすすめなOSがあれば教えてください。 (2)また、上記のプログラムを行うためのおすすめの言語も教えてほしいです。 (3)独学でプログラムを勉強しようと思うのですが、ちょっぴりプログラムをかじった程度の人が改めて勉強するためにおすすめな本を教えてほしいです。 申し訳ないですが、教えていただけないでしょうか。

専門家に質問してみよう