初心者が一人でWebアプリを作れるようになるにあったて
受付中
回答 2
投稿
- 評価
- クリップ 5
- VIEW 2,790
これからプログラミング言語を学んでWebサービスを作りたいのですが、
PHPかRubyを学ぶか迷っています。
という質問を受けます。
またある方は、一人でポータルサイトを作りたいですが、初心者が1人で最低限の機能を持った
ポータルサイトを作るにはどれくらいかかりますか?
などと色々と質問されます。
PHPやRubyを学ぶにしてもどんなWebサービスを作るにも、
プログラミング言語だけでなく、SQLやインフラ周り、最低限のHTML/CSS/javaScriptの知識はあった方がいい。
などと答えたり、4、5ヶ月くらいは真剣に勉強する必要がある。
などと答えたりします。
長くなりましたが、今後PHPかRubyのどちらを学ぶべきかという質問に対し、
PHPプログラマーとRubyプログラマーの方に質問です。
あなたが上記のような質問をされたら、どちらのプログラミング言語(PHPかRuby)をおすすめしますか?
理由も含めて教えていただきませんか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+4
PHPの場合、中括弧を使った構文やifとかwhileといった基本的な言語構造はJavaScriptと共通するので、覚えやすいかもしれませんが、微妙にJavaScriptと混同して間違えるとか、標準ライブラリがオブジェクト指向でない関数群になっている、そして引数の順序にも統一感がないなど、使いにくい部分もあります。あと、PHP自体がWebサーバで使う前提の言語ですが、cakeやFuel、Zendなど、フレームワークはいくつか存在します。
Rubyは最初からオブジェクト指向の言語なので、大半の操作がオブジェクトのメソッドとして行う形となっていて、言語的に「きれい」な感じになっています。Web開発に使うとなればRailsほぼ一択なので、それも基準として考えたほうがいいでしょう。
あと、第三の選択肢としては、Node.jsという方法があります。どうせフロントエンド開発にはJavaScriptが必須なのですから、バックエンドも同じ言語で書ければ効率的ですし、さらにはバリデーションのルーチンを両者で共有するなんて芸当もできてしまいます。
もっとも、新たな言語を覚えることは一時的には負担になりますが、プログラマとしての視点を広げるという意味合いでも必ず役に立ちますので、順序はあっても「必要な言語をすべて覚える」くらいの勢いでもいいと思います。もちろん、ある言語で書かれたコードを利用したいという状況なら、その言語しかほぼ選択肢はないわけですし。
まとめれば、
- フロントエンドとバックエンドを1つの言語で済ませたい:Node.js
- プログラムをきれいに書きたい、Railsを使いたい:Ruby
- とりあえずWebで動くものを作りたい、フレームワークを選びたい:PHP
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
言語を覚えるのには、作りたい目的をもって覚えるのは一番いいと思います。
とはいえ、せっかくプログラミング言語を覚えるのに、 Web サービスにしか使えないのはもったいないです。
そういった意味でいろんな用途に使える Ruby がいいのはないでしょうか。
Ruby はちょっとしたツールを作るのにも適しているので、今まで手作業でやってた面倒な作業がプログラミングを書いたら、すぐできた という経験はいいモチベーションになるはずです。
また、私もできることなら言語はいろいろと覚えた方がいいとも考えています。
Ruby は純粋なオブジェクト指向言語ですし、最初に覚える言語としても適していると思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.10%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2014/08/05 11:01
Node.jsも視野に入れてみます。
大変参考になりました。
ありがとうございます。