- ベストアンサー
PHPもしくはRubyを学ぼうと考えているのです
自分のスキルアップのために、Webプログラミングを習得しようと考えています。そこで習得のし易さや今後の成長性を考えてPHPとRubyに白羽の矢を立てたのです。 そこで皆さまにお伺いしたいのですが、躓かずに楽しさや面白さを感じながら習得する手助けとなる書籍やWebサイトがあったらお教え頂きたいのです。以前アセンブラを専門学校で学んだ時は、プログラミングをしてきた経験者に向けた内容だったため「難しいというか、会話の内容が理解できない!」と、ただただ苦痛で挫折した経験があり、同じ轍は二度踏まないように学習したいのです。 何卒ご協力賜れるよう、宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>他の人とは違った言語を習得して自分の肥しにできたら、と。たまたま立ち読みした「日経プログラミング」では PHPもRubyも習得しやすいとあったので例に挙げましたが、Web系でこれからくる波、これから主流となりそうな言語があれば、先んじて習得したいと考えています。 なるほど。大体概要は分かりました。 ただ、ちょっとだけ「誤解がある」ようなんで、そこだけ補足しておきます。 まず「Web系言語」との事なんですが、原理的にはそんなモノないんです(笑)。これはWindows使っている人(過去の自分も含めて)は「Web系」「デスクトップ用」と言語の境界線があるように考えちゃうんですが、そんな境界線は実はありません。 基本的にサーバーはOSにLinuxやFreeBSD等のUNIX系のOSが使われているケースが多くて、要するにLinuxやFreeBSD上で走る言語はすべて「Web用として」使えちゃうのです。それこそC言語からLispまで、ですね。後は「Webアプリが作りやすい」か「作りづらいか」と言う差しかないのです。確かに、そこが結構重要で、要は「言語として扱いやすいか」と「Webアプリを作る為のライブラリ/ツールが充実しているのか」の2つの意味がある、って事なんですけどね。 (ちなみに、Webサーバーを構築しているOSを作った言語、と言う意味ではそれこそC言語は究極のWeb言語、って事になってしまいます)。 例えば次の単純な仮定をしてみます。DaimaruDoさんが、ご自分で「Webサーバーを」自宅に持った、とする(実際は個人サーバーを持つのはセキュリティだ何だ難しいので薦めませんが、単に「仮定の話」です)。当然DaimaruDoさんの「個人所有の」モノなんで、何をどうしようとDaimaruDoさんの勝手です。 「俺はこれから、このサーバーではHaskell(と言うマイナー言語)"だけ"でCGIを作るぞ!!!掲示板だろうが、OK WaveみたいなシステムだろうがすべてHaskell"だけで"書いてやる!!!」 と決めたとします。そうすると、このサーバー内ではHaskell"だけが"Web用言語として機能するんですね。 あるいは、DaimaruDoさんがこのサーバーをお小遣い稼ぎの為に「レンタルサーバーとして」公開した、とします。当然「Haskellファン」のDaimaruDoさんは 「当サーバーはCGI用の言語としてHaskellしか使用できません。」 と断り書きを入れておきます(そして当然そのように制限をかけます)。 あるDaimaruDoさんからスペースを借りてるユーザーから 「すいません、PerlのCGIを使いたいんですけど……。」 と問い合わせがあっても断固断ります(笑)。あくまでもHaskellしか使わせない、と(しかしそれはそれでマニアックな人気が出そうですが・笑)。 さて、この単純な仮定で分かるのは次の事柄です。 サーバー内でどの言語が「Web言語」として機能するか、と言うのはサーバー管理者(広い意味ではそのサーバーを運営している会社)次第であり、どの言語がWeb用として機能するか、と言う決定権は実はその管理側が握っている。 そして、当然、「どの言語を使わせるのか?」の判断に関して言うと、「人気がある言語」が判断基準となります。 さて、ここで分かるのは「(例えばレンタルサーバーの)管理側が"どの言語をインストールしてユーザーに使わせようか?"と言う判断基準はある種市場のニーズに従っている」し、ある言語が人気が出る為には「サーバーにインストールされていて使われないと何とも言えない」と言う事です(笑)。従ってある種「堂々巡り」なのです。分かるでしょうか? と言う意味では >Web系でこれからくる波、これから主流となりそうな言語 と言うのは難問です(笑)。ホントに「今までWebで使われなかった"新しい言語"」と言う意味だとしたら、実はRubyもPHPも「既に成功している/来ている」って言い方も出来るのです。なんせ、ある程度のレンタルサーバーでは「既にインストールされて使われている」実績があるから、ですね。 恐らく、キチンと統計取ったワケではないんですけど、日本のレンタルサーバーなんかで「使用可能」とされている言語の順位としては Perl→PHP→Ruby→Python が順でしょうね。Perlが一番「インストール済み使用可」でPythonが一番「インストールされていて使用可能なサーバーを探すのが難しい」です。実はPHPもRubyも「2番手/3番手」であって、実は結構なユーザー数はいると思います。 そうすると、 >Javaは既にスペシャリストで溢れています いやいや(笑)、商業ベースはどうだか知りませんが、結構PHPやRubyのスペシャリストはいると思います(笑)。違いはJavaは「企業ベースで」主に使われているだけで、家に帰ってまでもプログラムする「真性のプログラム好き」は自宅ではPHP使ってたりRuby使ってたりする可能性があります。ただ、会社で「そんな事は言わない」だけだったりして(笑)。(例:「会社でもRuby使ってみたいんだけど、上司に掛け合うのメンドくせえなあ。」) そうすると、前出の4つの言語「以外に」"これから来る"言語を考えるべきなのか、なんですが、これは予測が難しいですね。そして、その理由は先ほど言ったように「LinuxやFreeBSDではどんな言語も使えてしまう」ので、単に自分のコンピュータで「使いやすかった」言語がWeb用に転化された、と言う背景があるから、なのです。決して「Web用に設計されたから」それが広まったワケではないのです。 とまあ、そう言う概要を押えておいてください。実際、例えばオープンソースソフトウェアの「WikiWikiWeb」(と言うソフトの一種)なんて見てみれば分かるんですが、それを書いてる言語でPHPやRubyなんてワリにメジャーな範疇じゃないでしょうか?「もう既に浸透している」って事が分かるでしょう。まあ、「日経」がどう言う文脈で書いていたか知りませんが(元々ビジネス向け出版社ですしね)。 と言うワケで、本題に戻ると、「Web向けか否か」考えるのはあまり得策じゃない、と言う言い方が出来ます。 ただし、恐らくPHPはスタンドアロンのプログラムを作るのは難しいんで、「どっちにも転用出来る」Rubyを学んだ方が「ツブシは効く」んじゃないかな、と言う事です。
その他の回答 (5)
- include_ab
- ベストアンサー率60% (35/58)
これは難しい問題ですね。 私的には、PHPの方を進めます。 何故かというと、使用者の数です。 どのような言語にしても、まずは使用者が多くないと 理解されませんし、また評価もあまりされません。 例えば、友人や同僚などと言語の話をする場合(そんなことはほとんどないですが)、 ある程度使用者が多くメジャーなPHPと、 使用者が少なく(PHPと比べ)比較的マイナーなRubyですと、 話が合わない可能性があります。 このことはビジネスにも影響を与えます。 就職を例に取れば、Rubyを使える人間と、PHPを使える人間、 どちらを取るかといえば、圧倒的に後者です。 仕事では、使える人数によって使用言語が決まることもあります。 ただし、趣味でやりたい場合は、どちらでも良いと思います。 また、これからくる言語ですが、 PHPは今現在かなりきてます。 Rubyは海外では知らない人が多いので(国産なので)微妙かと。 あとは、XMLですね。これも現在かなりきてます。 とりあえず、現在はPerlからPHPへ移行しているところが多いので、 あと数年はPHPで大丈夫でしょう。 また、伸びるとすればXMLですね。汎用性の高さから、 これからは、主流になっていくと思います。
- takahirown
- ベストアンサー率25% (1/4)
普段主にJavaでB to BのWebアプリケーションを設計・製造を行っている者です。 私は仕事ではほぼJava一本でやっていますが、自宅でサイトを作成するときはもっぱらPHPを利用しています。その理由は「Javaよりはるかに楽」という点です。また、PHPのクラスの書き方はPHP5からかなりJavaに近い書き方ができるようになってきました。普段使い慣れているJavaのコーディングができる点でも私は親しみを感じています(スクリプトの中では一番素直な書き方ができるなという印象です)。 おすすめのサイトで http://f32.aaa.livedoor.jp/~azusa/index.php というサイトがあります。 ここはPHPもそうですがJavaScriptも紹介しています。Webアプリケーションを作成するには必ずJavaScriptも書きます。覚えていて損はないものなので是非マスターしてみてください。
- tenderfeel
- ベストアンサー率56% (215/379)
私はPHP勉強中です。 関数が多いから覚えるのが大変です…。 Google先生 http://www.google.co.jp/ PHPマニュアル http://jp.php.net/ PHPプロ(講座がある) http://www.phppro.jp/ phpspot(エディタ配布がある) http://phpspot.net/php/ あとこのサイトのPHPカテゴリもよく見ます。 本はまだ買ったことないです。(ネットで事足りてしまうので)
- cametan_42
- ベストアンサー率62% (163/262)
アセンブリ言語の経験はある、って事ですが、全くの初心者として考えても構わないのですかね?(挫折した、とあるんで、ちょっとその辺曖昧なんですが) PHPは他に詳しい人もいるでしょうから、そっちの方は良く分からないんで他の人に任せますが(笑)、Rubyだったら、取りあえずオンラインチュートリアルがあります。 プログラミング入門 - Rubyを使って -: http://www1.tf.chiba-u.jp/~shin/tutorial/index.rb 取りあえず上記のサイトで一通り見てみたら良いでしょう。 (どっちかと言うと全くのプログラミング初心者向け、ですが、それでも概要は分かるでしょう。経験者だったら半日もかからず読破できるでしょうし。) あとは定番書籍だと次の書籍のどっちか、って事になるんじゃないでしょうか? たのしいRuby(第2版): http://www.sbcr.jp/books/products/detail.asp?sku=4797336617 プログラミングRuby 第2版 言語編 & ライブラリ編: http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06642-8 http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06643-6 前者の書籍の方が若干優しいそうですが、その辺は実際本屋で確かめるか、Amazon辺りで書評を調べてみれば良いと思います。 (Ruby関係は他の言語に比べても、割に本屋に置いてあると思います。) Rubyに対しての個人的意見では、変数の参照方法にちょっとクセがあるし、手続きをメソッドに渡す、と言う作業が若干Lisp系に比べると使いづらい、と言う気もしたんですが、概ね構成が綺麗な言語(一貫性が良く見える)だな、とは思いました。 良い言語だと思いますよ。
- inu2
- ベストアンサー率33% (1229/3720)
その前に、 web系だったら HTML、CSSは必須。他にJavaScriptもある程度知っていなくてはなりませんがそこらへんのスキルはどうでしょう? PHPもRubyもとっつきやすさで言えば、アセンブラよりも楽ではありますが、つきつめてゆけばゆくほど難解です。 web系であれば、ある程度のネットワークの知識、サーバーの知識も必要ですから言語そのものを含めて多岐にわたる知識を必要とします
補足
HTMLやCSSの知識は一般的に、JavaScriptに関してはごく基礎的なものしか理解していません。Web業界でも企画のプランニングやプロデュース、ディレクションがメインなため、“広く浅く”知識は有していますが、自分のスキルアップのため、何かしら作品が作れるようにと勉強しようと思ったのです。
補足
はい。基本的にはズブの素人と考えてくださって構いません。 Javaは既にスペシャリストで溢れていますし、他の人とは違った言語を習得して自分の肥しにできたら、と。たまたま立ち読みした「日経プログラミング」ではPHPもRubyも習得しやすいとあったので例に挙げましたが、Web系でこれからくる波、これから主流となりそうな言語があれば、先んじて習得したいと考えています。