前々からRuby on Railsの話をよく聞きます。何でも、PHPよりも、使い勝手がよく、早く開発できるとか何とか。
僕自身は、どちらかというと、オープンソース系のソフトをいじるほうが多いので、PHP+MySQLのほうがまだマシな感じがします。
ただ、現状PHPを満足に読めるレベルでもありません。
そこで、これから本格的に何かのスクリプト言語を学ぶときは、PHPとRubyのどちらがいいのでしょうか?もちろん、メリット、デメリットあるのでしょうけど、いろんな観点から教えていただきたいと思います。
http://0xcc.net/blog/archives/000043.html
これはRuby, Python, JavaScript, Perl, C++(のSTL)で配列操作をする場合の比較。
端的に言ってしまうと少なくともここに書かれているような範囲ではどの言語を使おうとそれほど差は出ません。
言い替えるとこれから「Hello, World」から始めるならPHPもRubyも同じようなものです。
#個人的にはRubyの「ちょっと関数プログラミングっぽい」ところが非常に気に入ってはいるのですが、最初っからそのへんを理解するのは大変だと思うので…
ただ、わたしはプログラミングは何か実際に役に立つ〜それがたとえゲームであっても人工無脳であっても〜ものを書いてみないと身につかないと思っています。それから、なるべく早い段階で「先人の苦労の成果をどんどん使うやりかたを覚える」のも重要だと考えています。というのもひとりでスクラッチからこりこり何か書くのは今となっては労力のわりに結果が出ないのでたぶん途中で嫌になってしまうことが多いので。PHPの場合はPEARという標準ライブラリやSmartyなどのテンプレートエンジンがあり、同じような位置づけでRubyには(もちろん)標準のライブラリがあって話題のRoRがあったりします。
どちらもさまざまなリッチな機能をそれぞれの言語仕様や考え方に基づいて実現しています。
したがって、ひとつの答えとしては「あなたがいじりやすい環境およびそれを使って何をやってみたいかはRuby向けかPHP向けか」でどっちからスタートするか決めてよいと思います。
ですから、
できて、WebサービスやAPIをhackして、自社ホームページに活用するくらいでしょうか。
であれば今、自社サーバで動いている環境で使えるほうから始める、と割り切ってしまっていいのでは。
以前プログラマをしてました。
現状、仕事に就く際には、PHPを使える方がアピールポイントになるでしょう。
まだ、エンタープライズ用途でRuby(含Rails)が使われるケースは少ないと思いますので。
ただし、楽しさでは圧倒的にRubyでしょう。なにしろ、組んでて楽しいです。
仕事は今やっているんで、アピールポイントとかどうというのはいいんですが。
エンタープライズ用途ですか。。。難しいところですね。できれば、自分でアプリとか組んでみたいんですけれど、そんな時間使うのは、たぶん社内からの圧力でできないですね。
できて、WebサービスやAPIをhackして、自社ホームページに活用するくらいでしょうか。
http://f14.aaa.livedoor.jp/~teriyaki/wiki/index.php?%5B%5B%B...
平行しておぼえてしまう。私は、それをお勧めします。
基本的に、rubyもPHPも、言語仕様はそんなに変わるものではないんです。ただ、それぞれに得手不得手があるから、適材適所で使っていくということ。
もちろんそれぞれの言語ことに指向している思想というものがありますから、それぞれに特徴的な作法はあります。でも、言語仕様としては、どれもそんなに変わる物ではありませんから、両方いっぺんにおぼえることに、何の困難もありません。
ついでに、最近は何となく古めかしいイメージで人気のないperlなんかも、実は文字列操作などには大変使いやすい言語ですから、一緒におぼえちゃうといいですね。
というか、たいていのプログラミング言語というものは、何かがひとつ分かっていれば、あとはほんの簡単な言語仕様の概要やライブラリの使い方さえ分かれば、もうそれで十分使いこなせるものなんです。どれかひとつとこだわらず、似たようなものはみんなまとめておぼえてしまう。それが最も得だし、また現実的だということです。
これから取り組むなら、両方一緒におぼえてしまいましょう!!
両方ですか。。。まさか、そういうこともできるとは思ってもみず。でも、確かに、CSSとHTMLを分離して覚えるのって、大変ですもんね。一気に覚えたほうが手っ取り早いといえば、手っ取り早い。その上で、XMLも覚えてしまう、のような?
ありがとうございます。
出遅れましたが、とりあえず PHP をお勧めします。理由としては、
等々。。
1は他の言語を使っている方も認めてくれるんじゃないでしょうか?
2は主観ですが、トリッキーな記述はほぼ無いので読みやすいかと。
3はフレームワークというものですが、Symfony や CakePHP などは Rails の機能を取り込んで作られています。
なにかと馬鹿にされがち(?)な PHP ですが、「仕事」で使う言語としては一番便利だと思います。
また TomCat さんのおっしゃる通り、両方覚えてしまうのが一番ですね。
フレームワークという言葉自体はなんとなく聞いたことはあるのですが、PHPにもRuby的なものがあるんですね。知りませんでした。
確かに現在の仕事は使っても、オープンソース系のシステムのコードを触るくらいで、その上よく使うソフトがPHPをメインに書かれているので、仕事上は便利なんですよね。
ただ、頭のどこかで引っかかっているRubyの存在。。。かといって、元がCSSをメインにしているため、CSSも追っかけないといけないし。。。と、このへんで悩んでいるみたいです。
http://0xcc.net/blog/archives/000043.html
これはRuby, Python, JavaScript, Perl, C++(のSTL)で配列操作をする場合の比較。
端的に言ってしまうと少なくともここに書かれているような範囲ではどの言語を使おうとそれほど差は出ません。
言い替えるとこれから「Hello, World」から始めるならPHPもRubyも同じようなものです。
#個人的にはRubyの「ちょっと関数プログラミングっぽい」ところが非常に気に入ってはいるのですが、最初っからそのへんを理解するのは大変だと思うので…
ただ、わたしはプログラミングは何か実際に役に立つ〜それがたとえゲームであっても人工無脳であっても〜ものを書いてみないと身につかないと思っています。それから、なるべく早い段階で「先人の苦労の成果をどんどん使うやりかたを覚える」のも重要だと考えています。というのもひとりでスクラッチからこりこり何か書くのは今となっては労力のわりに結果が出ないのでたぶん途中で嫌になってしまうことが多いので。PHPの場合はPEARという標準ライブラリやSmartyなどのテンプレートエンジンがあり、同じような位置づけでRubyには(もちろん)標準のライブラリがあって話題のRoRがあったりします。
どちらもさまざまなリッチな機能をそれぞれの言語仕様や考え方に基づいて実現しています。
したがって、ひとつの答えとしては「あなたがいじりやすい環境およびそれを使って何をやってみたいかはRuby向けかPHP向けか」でどっちからスタートするか決めてよいと思います。
ですから、
できて、WebサービスやAPIをhackして、自社ホームページに活用するくらいでしょうか。
であれば今、自社サーバで動いている環境で使えるほうから始める、と割り切ってしまっていいのでは。
先人の苦労の成果を使うやり方を覚えるっていうのは非常に共感できます。CSS Hackの時にいろんなサイトで勉強させていただきましたので。
>今、自社サーバで動いている環境で使えるほうから始める、
確かにそうですね。じゃあ、PHPかなーと思います。
Perlは正規表現を使ったテキスト処理を短時間で製作でき、高速で実行してくれるということでCGIで多様されました。
PHPはWEB及びデータベースに関連した豊富な組み込み関数でPerlをほぼ駆逐しつつあり、いずれも豊富な実績に裏づけされ解説サイトや情報サイトも充実してますよね。
Rubyは、Railsというフレームワークが提供されたことで一気にブレイクしたように見えますが、生まれてから時間が経っているにもかかわらずWWW上の情報量はまだまだPerlやPHPの足元にも及びません。
”人気の出てきているスクリプトや言語”を学ばれる事はお勧めしますが、ある程度熟成するまでは常に手探り状態になり、下手をすれば本業に支障をきたすことになるかもしれないことを覚悟しておいたほうがよいでしょうね。
現在の忙しさは存じませんが、企業サイトを維持運営なさっておられるならば、現在使っているPHPのスキルをより充実させる事をまずはお勧めしたいと思います。その上で余裕があればRubyを齧っていかれればよろしいかと・・・
>ある程度熟成するまでは常に手探り状態になり、下手をすれば本業に支障をきたすことになるかもしれないことを覚悟しておいたほうがよいでしょうね。
確かにそうですね。流行に流されすぎて、結局目的を達成できなかったら意味ないですもんね。
皆さん、ありがとうございます。
先人の苦労の成果を使うやり方を覚えるっていうのは非常に共感できます。CSS Hackの時にいろんなサイトで勉強させていただきましたので。
>今、自社サーバで動いている環境で使えるほうから始める、
確かにそうですね。じゃあ、PHPかなーと思います。