• ベストアンサー

プログラミング全般(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

  • このプログラミング言語は何?

    映画でプログラマが使っていたプログラミング言語(だと思います)が何かを知りたいのですが、以下のようなプログラミング言語はありますか? ・ACCESS(違うかも)と言うキーワードが行のはじめにあった。 ・そのプログラマはサーバーやデータベースにアクセスしようとしていた。 ・ソースは黒い画面に緑の文字で書かれていた。 ・書いたソースはコンパイルはせず、逐次処理されているように見えた。 ・そのプログラマは「アクセスに失敗した!」と言っていた。 回答よろしくお願いします。

  • プログラミング言語Javaに慣れている人に質問というかお願いです

    プログラミング言語Javaに慣れている人に質問というかお願いです 私はJavaに関しては勉強を始めたばかりの初心者です とりあえずブロック崩しを実行してみたくてソースをホームページから探しています が、なかなかうまく実行できるものがありません ブロック崩しのソースをもっている方、いませんか? リンクを貼って頂けるのも助かります ちなみに私が使っているのはUNIXでJavaのバージョンは1.6.0_18です

    • ベストアンサー
    • Java
  • プログラミング言語の質問です

    プログラミング言語の質問です プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

  • プログラミング言語の質問です。

    プログラミング言語の質問です。 プログラミング言語を今から勉強しようと思います。 そこで、オブジェクト指向の言語として(というより、今の社会で役立つ言語として)習うべきなのはどの言語でしょうか? 私は候補として、javaとC++を知っていますが、どう違うのかは分かりません。 どちらもCからの派生みたいなことは知っています。 そこで、javaとC++を比較して (1)どう違うのでしょうか?(できることの違い) (2)どちらの方がより優れていると思いますか? 今のところjavaとC++を考えていますが、他の言語の方が良いなら教えてください。 その他、プログラミング言語に関して知っておいたほうが良いことがあれば、 ぜひ教えてください。 回答よろしくお願いします。

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

    コンピューター関連に詳しい人にお聞きします。 最近プログラミングに興味がわいてきました。 調べてみるといろいろな言語があるということが分かり、うぃきなどで調べてみたのですが意味が分かりませんでした。 javaやc、c++,phpなど実生活ではどのような場で使われているのでしょうか? それと俗にプログラマーと呼ばれる方々は、それらの言語すべてに対して知識があるのでしょうか? またプログラミング言語同士には、なにか繋がりがあるのでしょうか?例えばc++はcの派生といったようなもの。 回答よろしくお願いします。

  • プログラミング言語を作りたいと思ってます。

    プログラミング言語を作りたいと思ってます。 でも完璧初心者なので何をすればいいのかまったく分かりません。 まず言語の勉強をした方がいいのは分かっているのですがどれから始めればいいのか分かりません。 後、プログラミング言語は種類がありますが作るならどれがいいのでしょうか? 作り方の手順はどうすればいいのでしょうか http://kmaebashi.com/programmer/devlang/index.htmlを読んでみましたがまったく分かりません。 ほかに覚えたりしないといけない物があれば教えてください。 10年以内に基礎だけ完成させたいです。 回答お願いします

  • プログラミング未経験です。javaを学ぶ前に

    プログラミング未経験の男です。 質問 『javaを学ぶ前に学んでおいたほうが良い、初心者にも取り組み易い言語はなんでしょうか?』 幾つかの理由から、プログラマという職業に強い関心を持っています。web系、オープン系、汎用系、組み込み系、制御系の中のどの分野で働いていきたいのかはまだ決めていません。 プログラムを実際に組むという事を自分では今まで一度もした事がありません。 自分は事情により、来年、数ヶ月間java言語を学校で無料で学べる事になりました。 学べる言語はjava限定なのですが、無料でプログラミングを学べる事から受講したいと考えています。 自分は来年まで待たずに、なんでもいいのでとにかく簡単なプログラムを自宅で実際に組んでみたいです。 プログラマという職業は自分に果たして向いているのかどうか、早く確かめたいのです。  javaを学ぶ前に学んでおいたほうが良い、初心者にも取り組み易い言語はなんでしょうか?

  • javaとC言語について

    ふと疑問に思ったのですが、プログラミング言語にjavaとC言語と言うものがありますが、これから先(将来)、どちらの方が役に立つ(主流になる)と思いますか。 よろしくお願いします。

  • プログラミング言語Javaに詳しい方に質問です

    プログラミング言語Javaに詳しい方に質問です と言っても実行の仕方みたいなものですが 学校の宿題でプログラミングの宿題を出されました 私はブロック崩しをやろうと思って、インターネット上から ソースコードをダウンロードしました JavaにOSは関係ないみたいですが、一応言っておくと 家のパソコンはWindowsXPです ダウンロードしたソースコードをメモ帳に保存し、 コマンドプロンプト上で実行したらうまくいきました そこで学校のパソコンでやったらこれが上手くいかないわけです ちなみに学校のパソコンはUNIXです コンパイルしてもエラーはないのです ただUNIXのでやるとappletviewerを実行したとき アプレットが初期化されていないと表示されてしまい 何にも起こらないんですよね ターミナル上にはなんだかよくわからない"at"から始まる 警告みたいな感じなのがたくさん出てきていたのが気になったのですが なぜかわかる方いますか?

    • ベストアンサー
    • Java
  • Javaプログラミングに関する質問

    研究のため、Java言語を使ったインターネットブラウザの製作をしているのですが、IEでいう「戻る」ボタンを作りたいのですが当方素人のためよくわかりません・・・ ソースコードを添付するので指摘していただけると助かります。 研究発表に使うため、至急回答していただけると助かります。 ↓ソースコード http://www.geocities.jp/g_player17/jibmain.java