• ベストアンサー

プログラミング全般(Java.C言語等)について。初歩的な質問です。

始めまして。最近プログラミングに興味があるのですが、技術的な事以前の事をお伺いしたいのでよろしくお願いします。 素人が自分なりの言葉で長々と質問してしまうかもしれませんので、そういったことを不快に思われる方はスルーして下さい。逆に、厳しく、鋭くツッコミながらも的確なアドバイスをいただける方よろしくお願いします。 上記にもございますが、仕事にしたいとか抜きで、単純にプログラミングという作業に興味があります。そこで、過去ログ等を見ていたところ今後はjavaが更に伸びてくるのでは?という方の意見がチラホラ見れましたのでWebで検索してみたり、本日、本屋さんに行って参考書を読んでみました。 プログラミングで作ったプログラムは具体的にどのような製品で使われていますでしょうか?これが大きな質問です。 私がプログラミングやプログラマーと聞いてまず思い浮かべるのがゲームソフトなのですが、例えば過去にドラクエIIIと言うファミコンソフトがありました。この様なソフトの中には長方形の形をしていて、左右からムカデの用に足が生えたチップ?という物が入っていると思うのですが、この中にプログラマーの方がプログラミングしたデータが入っているという認識で間違いないでしょうか?パチンコ、パチスロ等でもメインのコンピュータ的な物があると思うのですが、そちらも全てプログラミングされた物でしょうか? あと、javaのどの入門書を読んでも、始めは冷蔵庫などの家庭用の製品等の為にプログラミングしていたと書いてあったのですが、これは電化製品のどのような場所に使われているのでしょうか?そう考えると、デジタル表記のある電化製品はやはり中にチップの様な物等があって、指示された仕事をするようプログラムされているのでしょうか?もしそれらも含めて全てプログラミングによって形成されているとなると、世の中のかなりの物がそれぞれの言語でプログラミングにて中枢を作られているということですよね? ちなみに、javaのHP上でコンパイラーという物をダウンロードし、そこに言語ファイルを製作していくことによってコマンドプロンプトという画面に結果等を表示させると思うのですが、(この辺は浅知恵なので間違っていたらすいません)ヤフオクなどで説明文をHTMLで製作し、出品確認ページに行くと実際にHTMLに応じた画面(改行、空白、枠等)になります。ということは商品説明をつくっている時に使用した説明文のソースがヤフオクで言うプログラミングという認識見たいな形でよろしいのでしょうか? あと、java用にプログラミングしたソースはどのようにしてその商品やWeb上に組み込まれるのでしょうか? かなりわかりにくい説明だと思うのですが、わかる部分だけでも良いので(もしくはURL)アドバイスいただけるとありがたいです。 よろしくお願いします。

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

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

この書き込みをしているということは 貴方自身OS(WindowsかMacOS、あるいはLinux)を使っていますよね? それ自体もプログラムです。 OS自体は主にC言語とアセンブラで作られます。 >例えば過去にドラクエIIIと言うファミコンソフトがありました ドラクエ3等のファミコン時代はアセンブラですね。 スーパーファミコンの時代の後半にCのコンパイラが登場します。 C/C++がゲーム機でまともに使えるようにんなったのはPSの頃からだと思います。 またコンシュマーゲームではJavaは使われていません。 DSやプレイステーション、XBoxも言語はC/C++です。 Javaがゲームに使われるのは一部の携帯電話のゲームとWEBゲームですね。 (C/C++とJavaではそれぞれ得意としている分野があります。 メモリーをシビアに使うゲーム機はJavaが不得意としている分野です。) ちなみに私自身ゲームメーカーに勤めています。 >電化製品のどのような場所に使われているのでしょうか? DVDレコーダー等に使われることが多いようです。 Javaが使われているものは本体の後ろ側等ににJavaのロゴが入っていると思います。 >パチンコ、パチスロ等でもメインのコンピュータ的な物があると思うのですが、そちらも全てプログラミングされた物でしょうか? そうです。最近は演出の為、WindowsでDirectX(C/C++)が使われていると聞きます。 >java用にプログラミングしたソースはどのようにしてその商品やWeb上に組み込まれるのでしょうか? WEBの場合サーバー上で動くので使っている側はただのHTMLしか見えません。 また商品といってもパッケージソフトではJavaが使われることは、ほとんど無いです。 あとjavaもC/C++も基本的にはコンパイルして使います。ですから商品化されたものの中には ソースは入っていません コンパイルやコンパイラについてはWikipediaを参照すると良いでしょう。 http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9 ちなみにコンパイラ自身もプログラムです。 そのコンパイラ自体はどうやって作るかって質問は過去ログに沢山あると思います。 簡単に説明すると例えば有名なC言語のコンパイラのgccはソースコードが公開されていますが、それ自体もC言語で書かれていますが それをコンパイルするのにもgccを使います。 最初の最初は機械語とアセンブラで組むしかありませんが Ver1からVer2を、Ver2からVer3を作るといった感じでコンパイラを作っていきます。

tamanegi99
質問者

お礼

こんばんは。アドバイスありがとうございます。また、ご返信が遅くなりまして申し訳ないです。 私がjavaの欄に質問したにも関わらず、製品ごとに使われた言語の違いを教えていただきありがとうございます。この様な柔軟な対応は非常にありがたいです。 なるほど。良く耳にする「C言語、C++」等は比較的新しいハードやソフトに使われているのですね。その前のFCやSFではそれ以前に主流だった言語が使用されている事が多いとの事で、簡単に時代の流れが分かったような気がします。 現在使用しているOS、IE等を始め、プログラミングに必要なコンパイラ自身もプログラムとの事で、これからどんな物に関しても注意深く見てみたくなってきました。 私にとって非常に有益な情報をありがとうございました。

その他の回答 (3)

回答No.4

>プログラミングで作ったプログラムは具体的にどのような製品で使われていますでしょうか? ケータイだと、こんな感じかな。 iアプリ http://www.nttdocomo.co.jp/service/imode/make/content/iappli/about/index.html#001 EZアプリ (Java™) http://www.au.kddi.com/ezfactory/tec/spec/ezplus.html S!アプリ http://developers.softbankmobile.co.jp/dp/tool_dl/java/emu.php 基本的に、ケータイの内部に元々から入っている機能(通話機能や電話帳など)は、Cです。そこから、インターネットより落としてきて利用したりするJavaのアプリが、上記のような登録商標になっているものですね。 一歩外に出れば、こういったのもあります。 「Blu-ray BD-J Application Development using Java ME」 http://www.blueboard.com/bluray/index.htm 「BD-J」 http://en.wikipedia.org/wiki/BD-Java SYS-CON Java Industry News 「InterVideo WinDVD BD Earns Java Technology Certification」 http://java.sys-con.com/read/279396.htm かんたんに言うと、Blu-rayのようなHD対応のコンテンツ内でメニューなどを作成する際には、こういった最新技術を使った方がよりインタラクティブ性を発揮できるらしい、とのことです。(さすがの私でも、仕様書のありかを見付けれなかった・・。ていうか、まだ公開されてないよね?) >あと、java用にプログラミングしたソースはどのようにしてその商品やWeb上に組み込まれるのでしょうか? アーカイブファイル http://www.hellohiro.com/jar.htm Java Web Start http://www.utj.co.jp/xml/dev/java/dxjava_3.html

参考URL:
http://techon.nikkeibp.co.jp/article/NEWS/20060626/118540/
tamanegi99
質問者

お礼

こんばんは。アドバイスありがとうございます。 私がjavaと聞いて知っているのがやはり、携帯のアプリソフトでした。電話帳や通話機能に関してはC言語ということで、携帯という1つのプログラム上で色々な言語で作られたプログラムを作動させるのですね。(これに関してはPCも同じですね) 色々と元を辿っていくと非常に面白く、更に興味がわいてきます。 URLの方参考にさせていただきます。ありがとうございました。

noname#39970
noname#39970
回答No.2

ヤフオクが判るなら ヤフーにゲームが有るのは知ってる? あれ java製。 ヤフオクのHTMLでの結果表示などは「CGI」。別物。(一部javaでも作られている可能性は否定しない)

tamanegi99
質問者

お礼

ありがとうございました。

回答No.1

私も、専門家ではありませんが、今までJava・VisualBasic・C言語などPC上でのプログラミングや、マイコン使用の経験があります。 まず、簡潔・明瞭でない説明であること 私の経験に基づいた話であるので、間違った情報が潜んでいる可能性があることをご容赦ください。 プログラミングにより、作成されたプログラムは、PC上で実行されて結果を表示したり、機械装置を制御するのに用いられたり、今日では、暮らしのさまざまなところに入り込んでいます。 自動車について言えば、エンジン制御・ABS・エアバッグ・オートマチックなどさまざまです。携帯電話にしてもそうです。プログラムがなければ、今日の機械・機器は、ほとんど動かないといっても過言ではないかもしれません。テレビやエアコン、考え出したらきりがありません。 左右からムカデの用に足が生えたチップ?> これは、ROM(Read only Memory)というもので、おっしゃるとおり、この中にその機器用にコンパイルされたプログラムコードが収められています。CPUは、このROMの中の情報を読み出し、その情報にもとづいで各種の動作をします。 javaの場合の、PC上でのプログラムの実行形態はいくつかあります。 (1)コンソールアプリケーションとして実行 (2)GUI(Graphical User Interface)アプリケーションとして実行 (3)Webブラウザ上での実行 (4)サーバ側での実行 (1)~(3)は、自分のPC上でプログラムが実行されます。 (2)~(3)は、アプレットといわれます。(2)は、アプレットビュワーで実行し、(3)は、htmlタグの中で、アプレットを呼び出す方法で実行されます。Webで公開しているページ上で見ることができるアプレットは、その時点でダウンロードされて、自分のPC上で実行されます。 (4)は、JSP・サーブレットと呼ばれます。これは、プログラムの実行自体はサーバ内で実行されるため、ユーザは、サーブレット使用の際には、サーバに要求を出します。すると、サーバがその要求に基づいて処理を行い結果を返します。ユーザ側では、結果を受け取ります。(イメージ:Web上の検索のページなど) javaという言語の最大の利点は、プラットフォームを選ばないという点にあります。Javaが登場する以前は、プログラミングは、それぞれの動作するハードウエアやOSごとの決まりごとで行う必要がありました。が、Javaは、VartualMachine(JavaVM)というものを用いることで、ハードウェアやOSに依存しないプログラミングを可能にしています。詳しくは参考書などを見ていただくと良いと思います。

tamanegi99
質問者

お礼

おはようございます。ご回答ありがとうございます。 やはり、身の回りの様々な物がプログラムされた物によって動かされたり、反応したりしているんですね!言葉を砕いた分かりやすいご説明本当にありがとうございます。 下半分の実行形態に関しては私も素人のくせに聞いた為、具体的な方法はなんとなくしか分からないのですが、HPや書籍を見ながら参考にさせていただきたいと思います。 (ただ、実行形態という言葉の表現が使いやすいのと、4種類程の実行方法があるというのは理解できました) ありがとうございました。

関連するQ&A