• ベストアンサー

プログラミングの一番最初

いつもソフトウェアの仕組みについては不思議だなあとおもっているのですが、OSのプログラムって言うのはどうやって書くのでしょうか? あるいは、Basicでも。Basic言語を書いてプログラムを作るソフト自体は どうやってつくるものなのでしょうか? そもそも最初の最初はどのうようなことをして画面に文字などを表示させたのでしょうか?

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

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

面白い組み合わせで引くとわかるかもね http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=3IM&q=%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9+%E9%B6%8F%E3%80%80%E5%8D%B5%E3%80%80%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= 「アセンブリ言語」とか、「機械語」とかほかの言語で作れば良し! >そもそも最初の最初はどのうようなことをして画面に文字などを表示させたのでしょうか? ところでOSはどうやって実行する? http://www.algolab.co.jp/~lum/pcnyumon/nyu061.htm 似たような事かと

himajinnosuke
質問者

お礼

わかりやすいページ教えていただいてありがとうございます。 すべての動作に命令してやらないといけないんですね。 そう考えると今のパソコンはもの凄い。。。

その他の回答 (3)

  • ralf124c
  • ベストアンサー率52% (232/446)
回答No.4

テーマが大きすぎて一言では申せません。 テクニカルなことは昔の「電子計算機概論」などの学術書に原理等が記述されております。 PC分野でどうしてこうなっていったのか、なぜこうしようと思ったのか、出来上がっていく過程など、アーキテクチャ面からアプローチしたければ、とりあえず、「スティーブン・レビー」著「ハッカーズ」という本をおすすめします。 学生当時、必死になって読んでいたブルーバックスの「マイ・コンピュータ入門」三部作(当時は2部だった)にも2KバイトBASIC処理系のコードが載っていて(6809CPU用だったと記憶してますが・・・)感動したことが・・・。

himajinnosuke
質問者

お礼

なるほど、今度図書館で探してみたり本屋で探してみます。

  • furyfox
  • ベストアンサー率56% (58/103)
回答No.3

既に回答にあるように最初の最初は機械語から作っていますが、 現在コンパイラ(言語を書いてプログラムを作るソフト)を機械語からゴリゴリ書くことはありません。 C言語のコンパイラはC言語で作られています。(Basicは違うかもしれません。) つまりC言語のコンパイラ:バージョン1からバージョン2が作られるわけです。 ちなみにC言語は元々OSの開発をする為に作られた言語です。 これは機械でも同じ事が言えます。ネジを作る機械のネジはどうやって作られたか? 400年前は鋳型にいれたり、熱して加工するしか作る方法がなかったでしょうが 今はネジを作る機械があるので、それを利用します。

himajinnosuke
質問者

お礼

なるほど。ネジのたとえ、しっくり来ました! いろいろ効率化をはかるためにしてるんですね。 またいろいろ疑問はわいてきましたがそのときは おねがいします

回答No.2

関連するQ&A

  • C言語の仕組み

    C言語の仕組み printfという命令で画面に文字を表示できますが、文字が表示される画面はMS-DOSの画面や開発プログラムの実行ウィンドウの中ですよね。 もしC言語がPCに直接命令できるのであれば、画面全体が真っ暗になって、そこに文字が表示されるべきなのではないかと思いました(つまり、OS上で動くべきではない)。 しかし、仮に全く最初から文字を打つとしたら、ディスプレイの仕組みを理解して、ドットで文字を表示させなければなりません。 いったいprintfというのはどこに対して命令しているものなのでしょうか

  • プログラミングとコンピュータについて

    プログラミングとコンピュータについて 大学でプログラミング(C言語)を勉強をしててふと思いました プログラミングでどうやってCPUとかメモリとか、そういったコンピュータの深い部分を操作できるのでしょうか? すみません 抽象的でどう説明したらいいかわかりません 簡単なプログラミングだったらカレンダーとか電卓とか作れますが、これらのプログラムってCPUとかメモリとかOSとかの根本的な部分があればこそ成り立つものですよね 例えばCPUの状態を表示するソフトウェアだったりレジストリを削除するツールだったり、こういうプログラムってプログラムが直接コンピュータの根本的な部分と直結してるってことですよね? つまりハードとソフトの境目がどのような構造なのかよくわからないって感じですかね ソフトを作るのはプログラミングだけどソフトとハードを繋げるのもプログラミング ゲームとかスクリーンセーバーとか電卓とかを作っても、これでどうやってwindowsやLinuxは作れたんだろう?って思ってしまいます C言語や他のプログラミング言語を学んでいけば自ずと理解できるものなんでしょうか? 無知は承知で質問します どうにも不思議で、しかし腹立たしくてむずがゆいです 誰か教えてください、お願いします

  • プログラミングについて

    僕は今15歳でプログラミングに最近興味を持ち自分でプログラムを作りたいと思ってます。言語は何がいいのかさっぱり分からなく、インターネットで調べると、初心者には[javascript]が向いているらしくそれを勉強したいのですがどのサイトをみてもさっぱり意味がわかりません。 プログラムを書いているのをみると英語やいろいろな文字で書かれていて、自分は何を使ってどのように書いていいのかわかりません。僕が今作りたいプログラムは携帯やパソコンのアプリケーション、ソフトウェア、簡単ゲームなどです。わかりやすく最初から説明してくれているサイト、本などを教えてください。 分かりづらくてすいませんが、本当にすごく困っているのでよろしくお願いします。

  • 必要なプログラミング言語は?

    PCデスクトップ上で、 文字が一定時間で表示・切り替わるソフトを 考えております。 スクリーンセーバーの文字版のような感じで、 どのウィンドウよりも常に前に表示されます。 このようなソフトウェアを作るにあたって 必要な言語をご教授ください。 よろしくお願いいたします。

  • 「プログラミング」の「本質」?

    こんにちは。 僕は今C言語を独学してる大学生ですがプログラミングに関してわからないことがあります。 まず、プログラミングの入門書には主にその言語の文法の解説だけしか載ってませんよね。 しかし実用的なソフトウェアを作るには文法以外にも大事な概念とか機能がありますよね?(実装とか組み込みとかライブラリとかフレームワークとかAPIとか.NETとかexeとか) 入門書はその部分を曖昧にしてると思うんですよね。 例えば「APIはOSとアプリケーションを繋ぐ窓口」とかいう感じで。 僕は「API」がどういう仕組みでどういう役割を持ち具体的にどう使えばいいのかを知りたいわけなんですよ。 この詳しい解説はいったいどんな本に載ってるんでしょうか? 次にソフトウェアって、僕の考え方が正しいかわかりませんが、他の色んな部分に繋がっていますよね。 例えばブラウザは「ネットワーク」に、OSは「ハードウェア」に。 その「連結部分」がいったいどういう仕組みで何が支配してるんでしょうか? もちろんネットワークもハードウェアも仕組みが違うことはわかりますが、「Hello,World!」と表示する道具をどう弄れば「連結部分」となり得るのでしょうか? 以上の二つが僕が疑問に思ったことです。 文才が無くてすみません。 僕自身何がわからないのかわからないので。 つまり、作りたいモノがあっても「プログラミング」という一つのカテゴリーが大きすぎてどうやればいいかわからないということです。 ちなみに僕は人工生命のシミュレーションソフトを作ってみたいんですが、Linuxとかを弄ってみたいなと思っています。 誰かこの疑問に答えてくれませんか。 こいつのせいでプログラミングをやる意味が見出せずプログラミングに対して恐怖すら覚えるようになってきました。 助けてください。 お願いします。

  • プログラミングをしたいのですが

    大昔8ビット(MSX)BASICは色々勉強しました。 JavaScript、VisualBasicは初心者レベルです。 ソフトを開発したいのですが何が最適でしょうか? やることはOSの区別無く実行でき、ランダムに文章を表示させる程度のことです。 できましたらプログラムを解析されたくありませんし(Javascriptではソースを表示させられます) VisualBasic6.0で解析できないようにできるのでしょうか? また、古いそうですのでもっと別の言語をやるべきでしょうか? お願いします。

  • プログラミングについて(Windows)

    質問させていただきます。 個々のプログラミング言語に関してではなく、組んだプログラムをハードに読ませ演算させる方法に関しての質問です。 たとえば、「整数nの十倍」を求めるプログラムを紙に書いたとします。そこから次の作業を知りたいのです。 プログラムを書くのは、ワードパッド、メモ帳でいいのでしょうか。 その保存形式と保存するドライブはどうなりますか。 Windowsのプログラム一覧にそのプログラムの名前は表示されますか。 この作ったプログラムの画面は、黒地に白い文字になりますか。 いろいろ御質問させていただきましたが、宜しくお願いいたします。

  • 画面上の文字認識ソフトについて

    画面上の文字認識ソフトについて 画面上に表示されている外貨通貨の数値をリアルタイムに取得したいと考えています。 もし既存のソフトウェアで、画面上の文字認識ができるソフトウェアがあるならば紹介して頂けないでしょうか。 また、もし既存のソフトウェアで該当するものが無いなら自作を考えているのですが、 文字認識・取得のノウハウについてまとめられているサイトや書籍があれば教えて頂きたいです。 特に言語は限定しません。より効率的に実現が可能である言語(または良いAPIがあるもの)を探しています。

  • プログラミング

    インターネットやメールを使いこなせるようになったので、何か変わった事に挑戦したい(ゲーム作成)と思い、プログラミングにトライすることにしました。 エクセルのVBAを使ってプログラミングをしているのですが、逆にこのような動作をするのならマウスで動かしたり、いつも知っている通りした方がが速いんじゃないか?と疑問を抱きはじめました。  プログラムするに当たって色々な言語(C言語やJava etc)の存在がある事をしりました。  一体、何の言語がプログラム初心者にとって学びやすいのですか? またお勧めサイトがあれば紹介してください。 私の参考にしているサイトは(http://www.happy2-island.com/)です。 ちなみにOSはWinME メモリは128 Office2000を使用しています。

  • 重複しない最初の文字を取り出す

    学校の課題で 「標準入力された文字列の中で、重複していない最初の文字を表示せよ」 というプログラムが出題されました。 例えば、 pen pan eagle と入力した場合、penは前に文字列がないので重複がない、panはpが重複するがaは重複しない、eagleはeもaも重複するがgは重複しなので、 p a g と表示するようなプログラムです。 どういう感じで書けばよいでしょうか? 言語は何でもよいといわれたのですが、私が何とかなりそうなJavaかPerlだとありがたいです。

専門家に質問してみよう