• ベストアンサー

言語を多数習得する意味

プログラミング初心者です。趣味の範囲でWeb上の簡単なシステムの設計を行っています。 現在PHPとMySQLを使っていますが、本格的にAjaxを学ぶ必要があるのか悩んでいます。 というのも、プログラミング言語を学んでいくと、PHPとJavaScript、JavaとC+のように、どうも性質が似通って感じられる言語が多くあり、この双方を習得する意味が、果たしてあるのだろうか、と感じてしまうわけです。 企業などで作業すれば当然その職場で使われている言語を使用しなければなりませんので、そう言う意味で必要だとは思います。ですがもし個人が趣味の範囲で設計を行うとするのなら、例えば「最低限Javaさえ習得すれば何でもできる」といったことが言えてしまうのでしょうか。 抽象的な質問ですみません。 そういう意味での意見、感想、上の質問への回答も含め、答えてくださると嬉しいです。

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

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.3

>>プログラミング言語を学んでいくと、PHPとJavaScript、JavaとC+のように、どうも性質が似通って感じられる言語が多くあり、この双方を習得する意味が、果たしてあるのだろうか、と感じてしまうわけです。 例に上げられた言語は、どれか1つを完璧にマスタすれば、普通のWebシステムがまかなえるという状況には現在ありません。なので、似通っているけど、複数をマスタする必要がありますね。でも、全部ってわけではなく、Webの世界:(PHP or Java)+(JavaScript), その他の世界:(C++)って大雑把に分けるのが普通でしょう。 >>例えば「最低限Javaさえ習得すれば何でもできる」といったことが言えてしまうのでしょうか。 言えないと思います。とくにJavaが「ピュアJava」を意味しているなら。普通にやりたいことを実現するなら、ごちゃごちゃしたいろんな技術をマスターしないと、やりたいことができないです。このあたりの話題は、「JavaからRubyへ」の「苦痛・低生産性・もたつく立ち上がり」などの単語が見られる第2章とか「実践Ruby on Rails Webプログラミング入門」などのJava(Struts)とRuby(RoR)のコード比較などを読まれると状況が把握できると思います。 さらに、C++がメインの分野(複雑で速いレスポンスが必要な分野)には、やはりC++が必要ですね。 なお、現在では、No.1さんが書かれている「Ruby on Rails(RoR)」が注目されています。これは、「Webシステムをプログラマの能力や頑張りではなく、使いやすい道具(ツール)を開発して生産性をアップする」という発想で作られています。つまりは、「飛行場を作るのにスコップとツルハシと人力」じゃあなく「ブルドーザを発明して効率よく作り上げる」っていう発想ですね。日本人的には、額に汗しないで、楽して仕事をすることが「悪」と考えられた歴史がありますので、RoRに対して反発がある方もいらっしゃるかもしれません。 もしかすると「開発期間が1/5~1/10になるRoRには消えて欲しい。俺のJavaでの請負単価が下がるじゃないか!」なんて考える方もいらっしゃるかもしれませんね。 >>本格的にAjaxを学ぶ必要があるのか悩んでいます。 Ajaxは現在注目されている技術ですが、DB設計など、普遍的で、この先もしばらくは消えないような基礎技術を学ばれるほうがいいと思いますよ。 P.S. 先日、日経BP社のフロアでソフトウエアファクトリ研究会なんてのがあったのですが、そこで「RoR」の話題が出ていました。それはアジャイル開発手法の実例としてでした。アメリカ・中国・ベトナム等のソフト会社の現状との比較で「日本にはアジャイルを否定する会社も多い。でもそれではシステム開発の世界で、”日本だけ一人負け”になるかもしれない。若い人には、そうした危機感のない方も多いように思う」という発言もありましたね。

knight6625
質問者

お礼

正に望んでいた回答でした。ありがとうございます。 現在はやはりそれぞれの言語の特徴をしっかり把握した上で、臨機応変に使い分けていく必要がありそうですね。色々と書籍を漁りながら、あまり浮気性にならない程度に知識を増やしていこうと思います。 RoRに関しても興味深いです。効率化や自動化が雇用問題に発展した歴史を鑑みると、開発環境の革新的な変化は色々な弊害をもたらすのでしょう。 日進月歩といわれる業界ですが、日本も世界的な進歩に立ち遅れないよう、個々人が意識を持っていく必要があるかもしれませんね。

その他の回答 (3)

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

>PHPとJavaScript、JavaとC+のように、どうも性質が似通って感じられる言語 それらは、まったく思想の異なる言語です。 まずPHPとJavaScript PHPはサーバーで実行されますがJavaScriptはクライアントで実行されます。 JavaとC++ これだってJavaはVMが必要ですが、C++はネイティブコードをはきます。 根本的な性質が違います。 さらにいえばJavaのジェネリックとC++のテンプレートも思想がまるで違います。 似通ってると感じるとするならHelloWorld のような単純なコードぐらいです。 >最低限Javaさえ習得すれば何でもできる それは要求されている環境でJava-VMが動く事が前提になっていますよね? そのJava-VMは誰が作るのですか? WindowsやUNIXが全てではありません。世の中にあるマシンのほとんどは Java-VMが動きません。 例えば私はゲーム開発をしていますがサーバーサイド以外でJavaを使う事は ありません。 webを使っているということはapacheやbindも使うこともあるでしょう? そのソースがjavaで書かれているでしょうか? 他にもデバイスドライバ等、下位層のものはJavaで作ることは出来ません。 ほとんどのプログラマが上位レイヤーを作っていると考えておられるのなら それは間違いです。例えば貴方の使っているWindowsPCには 多くのメーカーのパーツからなりたっていると思いますが 各メーカーはドライバも作る必要があります。 >「最低限Javaさえ習得すれば何でもできる」 Javaのできる範囲の事が出来ます。 例えJavaが動くWindowsであってもJavaで高速に動く3Dのゲームを作れといわれたら 現時点では無理です。

knight6625
質問者

お礼

なるほど、どの段階で何を開発するかによって最適とされるものも、その前提として要求される技術も変わっていくということですね。 「なんでもできる」という言葉を軽率に言ってしまったようですね、申し訳ありません。私は高水準言語で開発することを主に考えていましたし、何より業として行っているわけではないので、ドライバや、より機械語に近い言語で書かれるべき部分に関しては全く無視して考えていました。 >Javaで高速に動く3Dのゲームを作れといわれたら現時点では無理です。 これに関しては驚きました。正直ゲームなどの開発では、殆どがJavaでまかなわれてしまうのではないかという間違った認識を持っていました。 参考になりました。ありがとうございます。

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

>PHPとJavaScript、JavaとC+のように、どうも性質が似通って感じられる言語が多くあり、 まさにその通りなんで、 >「最低限Javaさえ習得すれば何でもできる」 というよりも、 「最低限Javaさえ習得すれば、どんな言語でも半日でマスターできる」 というほうが、現実に近いかと。 言語ごとに得意不得意はあるんで、やりたいことに向いた言語を使えばいいかと。

knight6625
質問者

お礼

なるほど。私の知人が通っている大学ではJavaを中心に講義が組まれていると聞いていますが、最低限Javaをマスターすれば問題ない、という考えなのかもしれませんね。一つの言語を習得すれば他が楽になる、というのは私も経験があります。 回答ありがとうございます。

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

JavaはC++からの流れをくむ言語ですので、 考え方や文法に似通ったところがあるのだと思います。 ただ、お互いに得意な領域はあると思いますので、 両方知っていて得をすることはたくさんあっても、 損をすることは全くないでしょう。 一方、PHPとJavaScriptは、活躍する場所が全く異なります。 PHPはサーバーサイド技術の代表選手で、 JavaScriptはクライアントサイド技術の代表選手です。 両方をうまく組み合わせて、リッチなWebサイトを構築するのに 役立ちます。 最近の個人的なトレンドは、RubyとRuby on Rails(RoR)です。 まだRubyに取りかかったばかりなのですけれど。 また、今月中に「Ajax on Rails」という本が出るようですので、 私としてはこちらも要チェックです。

knight6625
質問者

お礼

なるほど、ありがとうございます。PHPとJavaScriptは確かにそういった違いがあると本で読んだことがありますね。ですがどうもJavaScriptで行うことはPHPで全て出来てしまう気がして、、修行不足ですね。 Rubyはまだよく知らないのですが、Javaに近い言語という印象を受けています。機会があれば、幾つか他言語の本も読んでみたいと思います。 回答ありがとうございます。

関連するQ&A

  • プログラミング言語を三つ習得する

    「三つ」という数に特に深い意味があるわけではないのですが、そのくらいはプログラミング言語を習得したいと計画しています。最初は「C」に決めています。 のこりの二つとしては、どういうものが適当でしょうか。将来も消えることなく活用範囲が広いものをと考えています。定番の、良い標準テキストもある言語を希望しています。よろしく御教示下さい。

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

    プログラミング言語の習得について こんにちは。某大学の理工学部数学科に通う4年生です。 プログラミング言語について質問させていただきます。 僕は先日基本情報技術者試験を受験しました。 その試験ではプログラミング言語を1つ習得しないといけなかったためC言語の入門書を一冊勉強しました。 今家にはC++とJavaの入門書、C言語の中級書もあります。 そこで質問なのですが、 続けてプログラミング言語を勉強するには、C言語の中級書、上級書というように1つの言語を徹底的にマスターした方がいいですか? それとも、C++、Javaの入門書を一通りやってC以外の言語も一応使えるようにした方がいいですか? ちなみに大学院に進学する予定なのでまだまだ勉強できる環境にあります。 宜しくお願いします。

  • プログラミング言語の習得順?

    C++は、Cを習得していないといけないのでしょうか??それとも、いきなりC++から習得できるのでしょうか? 例えば、ロシア語と中国語は、(言語の習得という点で)どちらを先に勉強しなければいけないということはないと思うのですが、プログラミング言語の場合、数学のように、1次方程式より先に2次方程式を習得することはできない、というようなことがありそうだと思って質問しました。 C++が必要になり、勉強しようと思っているのですが、言語間の関係がわからないので、ご教授くださいませ。 プログラミング初心者です。

  • 数多くのプログラミングをどうやって習得するか。

    私は、プログラミングを始めたばかりの初心者です。 いきなりC#を勉強中です。 独習C#を読んでいる最中で、これをマスターすると、もっといろんなプログラミング言語を学ぼうと思っています。 私の知り合いには、以下、こんなにもプログラミングをできる方がいます。 Ruby、Ruby on Rails、VB.NET、C#、PHP、CakePHP、JavaScript、jQuery、HTML5、CSS、VBA、MySQL、PostgreSQL、SQLite こんなにもできるなんて、すごいですよね? ここまでできるのに、どうすればいいのでしょうか? もうひたすら努力しかないのでしょうか? しかも、その方は、まだ大学生です。 プログラミングの習得には、すごく時間を有すると聞いたことがあります。 私もこれだけできるようになりたいです。

  • プログラム言語の習得およびお勧め

    お世話になります。 最近、転職を多少念頭において、プログラミングの勉強をしようと思っているのですが、どの言語がこれからの時代必要かまたはお勧めか、また方向性についてご教授お願いします。 ちなみに、以前unix-cプログラミングとネットワークの仕事をしておりましたのでC言語等の知識はあります。 (現在は別の職種です。) プログラム言語の習得について違う方も同じような質問されていて重複すると思いますがよろしくお願い致します。

  • 将来はフリーソフトを作れるようになりたい。プログラミングの学習方法について

    高校一年生です。 最近、学校でC言語について学びました。学んだといっても 四則演算のプログラムを作ることができるようになった程度です。 将来はあらゆる言語をつかって趣味の範囲でプログラミングができればと思っております。 フリーソフトの製作、簡単なゲームプログラミング、web製作に活かせることが目標です。 そこでプログラムをつくるにあたって大切なことなどありましたら教えてください。こちらの趣向としてはC言語、PHP、Java、AJAXなどを学習できたらと思っております。これらを学ぶにあたってオススメな学習方法や解説サイトなど教えていただけると幸いです。 Visual C++は導入ずみです。プログラムをつくる環境はこれでこなせるでしょうか? またアドバイスもいただけると嬉しいです。 よろしくおねがいします。

  • PHP、C#などの習得方法を教えてくだ

    php、rubyなどのスクリプト言語や、java、C#の効果的な習得方法、おすすめの書籍を教えてください。

  • C言語より後に開発されたプログラミング言語は

    C言語を基にして開発されたのでしょうか? C++,C#はもちろんそうですが、Java、PHP、JavaScriptなどもそうなのでしょうか?と言うのも、C言語の関数とこれらのプログラミング言語の関数がかなり似ているところ(共通しているものも)があるからです。また、Excelの関数とも似ているのですが、これらのプログラミング言語と何か関係があるのでしょうか。

  • 言語の違いは何ですか?

    最近C言語の技術者が不足していると言われていますが、その他の言語を習得していても、C言語ははじめての場合、習得に時間がかかるのは何故ですか? C、JAVA、VBなど沢山言語がありますが、どう違うのですか? また、言語を覚えてプログラマーになるためには、どういった知識・素養が必要なのでしょうか? わかる方がいらっしゃれば、是非教えて下さい。お願いします。

  • 最適な言語は何ですか

    必要にせまられてプログラミングを学びたいのですが たとえば株価のHPなどで刻々と送られてくるデータをもとにリアルタイムにグラフを描いたりするにはどんな言語が適しているでしょうか。 できれば習得に容易で上記用途に特化した言語を教えていただきたいのですが。 よろしくお願いします。

専門家に質問してみよう