全然困っているわけではなくただの好奇心なので、時間があるから教えてもいいよ!という方にお聞きしたいです。
ど素人なので、できるだけ易しい感じで教えていただけると助かります。
最近コンピュータのプログラムに興味を持っています。
(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なんてありませんでした(笑)。
とっっっても分かりやすかったし面白かったですw(ちょっとしつこかったですがww)
YMOは教授くらいしかわかりませんw
最初は配線繋ぎ買えとかパンチカードなるものでやってたんですね!
しかもWindowsはC++という事も分かってスッキリです。
熟睡できそうです^^
ありがとうございました。
No.3
- 回答日時:
とても数百字では足りないので、
Amazon.co.jp: モダン・コンピューティングの歴史: ポール E.セルージ, 宇田 理, 高橋 清美: 本
http://www.amazon.co.jp//dp/4624000234
あたりの書籍をあたるといいと思います。
#高いけどね :)
それでもいくつか書いておくと、
>いや、そもそも一番最初のプログラムってどうやってやったんだろう?って。
これは、人間が「機械語」で書いていったんですよ。
アセンブリ言語ですらない。
>1941年にドイツで開発されたプランカルキュールという言語
Plankalkül は理論だけで実際に何かのコンピューター用として使われることはありませんでした。
「実用的な」高水準のプログラミング言語はFORTRANが最初とされていますが、
実はその前にいくつかプログラミング言語的なものは作られていたようです。
AUTOCODEとかFLOWMATCIとか。
あと、ENIACはいわゆる「ノイマン型コンピューター」じゃありませんし、
Lispの最初の実装はアセンブリ言語を使ってます。
6000円出してまではちょっと。。。
ちなみにURLリンク開けませんでした(汗
>>いや、そもそも一番最初のプログラムってどうやってやったんだろう?って。
>これは、人間が「機械語」で書いていったんですよ。
機械語ってものを最初に考えた人凄いですよね。
機械と会話してみようと思ったんでしょうね、きっと。
一方通行の命令だけの回路じゃなく、受け答えできたら…なんて考えたんでしょうか?ロマンすら感じます。
未だに2進数とか16進数がよく分かってません。。。
ありがとうございました!
No.2
- 回答日時:
ENIAC だと, 処理は全て配線で指示するので「プログラミング言語」そのものが不要.
そうでなくても, プログラミング言語で記述したものがそのまま実行されるわけではなく, 「CPU でが理解できる形」(いわゆる「マシン語」) に変換してから実行されます. だから, プログラミング言語なんか使わなくてもマシン語で全部書いてやれば OK. もちろん本当は「マシン語で書く」わけではなく, マシン語と (ほぼ) 1対1 に対応する「アセンブリ言語」で書いておいてから「人手でマシン語にする」(ハンドアセンブル) ということもよくあります.
普通は「電源を入れると特定のところから実行を開始する」という機能を CPU が持っているので, その「特定のところ」を ROM にしておけば「コンピュータの電源をいれたら何らかの処理がなされて起動するといった処理」もできます.
昔の TK-80 とか MZ-80 あたり, あるいは今でも PIC とかをやる人には (それなりに) なじみのある方法だと思う.
>普通は「電源を入れると特定のところから実行を開始する」という
>機能を CPU が持っているので, その「特定のところ」を ROM にし
>ておけば「コンピュータの電源をいれたら何らかの処理がなされて
>起動するといった処理」もできます
なるほどという感じでした!
だからファミコンはカセットを入れないと何にも起動しなかったのですね!!w
ありがとうございました、感謝です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- その他(プログラミング・Web制作) ロボットの作り方を教えて下さい! なにも知らない素人です。 全て自作する場合、どうすればよいでしょう 6 2022/12/18 01:25
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- C言語・C++・C# C言語で移動平均のプログラムを作りたいのですが、数値をファイルから取ってきて計算をするプログラムはど 1 2022/09/29 01:21
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
楽しくて最高のプログラミング...
-
C言語、C+、C++、C#の違い
-
C++ ってなんて読む?
-
プログラムからアイコンファイ...
-
COBOLで文字タイプを数字...
-
UWSCはどのプログラミング言語?
-
Int('1234') で、strをかんたん...
-
プログラムに書かれる"%"記号の...
-
質問失礼します。 プログラム言...
-
C++における継続行
-
Excel VBAで文字化けする (英語...
-
rpa化する言語としてら何があり...
-
VBScriptで引数を省略したい場合
-
パスカルケースの由来。
-
プログラミング言語の制作方法...
-
Pythonって何を意識した言語な...
-
UNITY Float型の接尾辞fって
-
TO_CHARで小数点以下がある場合...
-
最新のプログラム言語を学ぶに...
-
C言語とhtmlの違いを どな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
質問失礼します。 プログラム言...
-
最新のプログラム言語を学ぶに...
-
COBOLでのNOT = の AND条件
-
C言語って古いですか?
-
rpa化する言語としてら何があり...
-
UNITY Float型の接尾辞fって
-
TO_CHARで小数点以下がある場合...
-
プログラミング言語の制作方法...
-
COBOLで文字タイプを数字...
-
プログラムに書かれる"%"記号の...
-
C言語とhtmlの違いを どな...
-
Int('1234') で、strをかんたん...
-
C++ ってなんて読む?
-
Excel VBAで文字化けする (英語...
-
C言語 解答について。
-
VBSでDim、Private、Publicの違い
-
Excelの開発言語ってなんですか?
-
C# でソフト開発をした事のある...
-
C#とC++のざっくりとした違いを...
おすすめ情報