PHPとJavascriptを使える者です。(※1)
今から新しいプログラミング言語を学ぶとした場合、かつ、PythonとRubyの2つが選択肢としてあった場合、どちらを選択した方が良いと思いますか?
また、その理由も併せて教えて頂けると嬉しいです。
※1:後で追記しました。
ウェブ系をメインにやるならやっぱりRailsの存在は欠かせない。Rails自体の生産性はもちろん、それを支えるライブラリがこれでもかとあるので個人的にはRuby押しです。プログラミング人口はPythonの方が多いけど、githubや国内ではクックパッドはじめRubyはコミュニティが盛んだから情報量においては問題ないかと。ちなみに新規事業系ではRailsが過半数を占めるくらいにデファクトになりつつある。
Pythonのウェブ系フレームワークではdjangoがメジャーだけどルーティングが正規表現だったりと、初めは取っつきづらい上に日本語情報が公式ドキュメントくらいしかないので、英語が得意でないと実務レベルで使えるようになるには時間がかかる。
といってもウェブ系以外ではPythonの方が主流ではあるし、言語自体の相性もあるのでまずはどちらも試してみるといいと思います。
大変参考になるご意見ありがとうございます!
PythonはWeb系以外で主流であるのですね。Web系以外というとコマンドラインとかソフトウェアとかですよね?
コマンドラインやソフトウェアを作るつもりがこれらの言語で無い場合は、迷わずRubyで行けって感じでしょうか?
ちなみに今はWeb言語はPHPを使ってるのですが、Rubyに乗り換える意味ってありますかね?個人で趣味程度に使うレベルなので案件がとりやすい云々は自分には関係ないのですが、単純に言語の好き嫌い程度の話になるのでしょうか?
代表的なものとしてLinuxディストリビューションの一番手(※パーソナル用)であるUbuntuのかなりのソフトウェアはPythonで作られていますが、Ruby製というのはあまり聞いたことがありません。
Rubyに乗り換える意味というのは、それは単にRubyを使った開発の方が捗るかどうかということに尽きると思います。Rubyの特徴というと一言で表すのは難しいですが、徹底したオブジェクト指向(モデルの独自メソッド追加が容易など)、$マークやセミコロン、中括弧の省略でストレスレスなコーディングなどが挙げられます。
同用途のフレームワークが乱立するPHPと違い、Ruby≒Railsと言われるほどにRailsへの関心が高く、githubやクックパッドのような大規模サイトも積極的に情報発信を行っているのも魅力的です。
ただ本当にプログラミングは物は試しなので、ドットインストールあたりを見ながらまずは軽く触ってみるといいと思います。(Rails入門もありますし)
ありがとうございます!!
Rubyやってみたいと思います^^ご丁寧な解説ありがとうございましたm(_ _)m
初心者向けにはPythonがまだいいかなと思います。C系やRubyなどは記述が簡略化されすぎ&自由すぎで、初心者が学習するには不向きです。プログラミングを一度マスターすれば言語が変わってもそんなに戸惑うこともないので、ホントはVBとかの方がいいかもなぁとは思います。
回答ありがとうございます!!
>記述が簡略化されすぎ&自由すぎで、初心者が学習するには不向きです。
簡略化というのはrubyで言うと行末の;がなかったり、@をself(this)を表す為に使ったりとそういうことでしょうか?
簡略化されていることと初心者の学習には向いていないことの繋がりが見えなかったのですが、これはどういった理由からでしょうか?
また、自由過ぎというのはいろんな書き方が出来てしまう為、人のコードを読むときのコストが上がったり、書き方が身に付きづらかったりするということでしょうか?
>ホントはVBとかの方がいいかもなぁとは思います。
Mac使いなのですが、Objective-Cはどうでしょうか?(今学習中です)
特にPerlに顕著なのですが、ひとつの処理の仕方に色んな書き方があって、これはやっぱり初学者には良くないです。きちんと動作が把握できる前に書き方のバリエーションを広げてると、前に進む前に横に広がっちゃって、深く理解できないです。それよりは記述のしっかりした言語の方がいいと思います。ホントはPascalとかオススメですけど、教科書や処理系が少ないな…(笑)
あと「クラス」とかは初学者にはかなりハードル高いです。Objective-Cはあんまオススメしませんね。
PHPとJSは使えるのでプログラミングを学ぶのが初ということでは無いのです。PHPでもクラスは使ってプログラムは組んだりしてますし、JSはプロトタイプでプログラムを組んだりします。
「新たに違う言語を学ぶ場合」と質問内容で表現した方がより伝わりやすかったですね。。。
>きちんと動作が把握できる前に書き方のバリエーションを広げてると、前に進む前に横に広がっちゃって、深く理解できないです。
確かにいろんな書き方が出来るのって困りますよね。javascriptなんかもクラスの実現方法にいろんなやり方があって、どうすれば良いのかわからなくなったことがあります^^;
をや。初学者ではないのですね。失礼しました(笑)。
すいません。もっと明確に表現すべきでした。
みんなの回答 2 件
ウェブ系をメインにやるならやっぱりRailsの存在は欠かせない。Rails自体の生産性はもちろん、それを支えるライブラリがこれでもかとあるので個人的にはRuby押しです。プログラミング人口はPythonの方が多いけど、githubや国内ではクックパッドはじめRubyはコミュニティが盛んだから情報量においては問題ないかと。
ちなみに新規事業系ではRailsが過半数を占めるくらいにデファクトになりつつある。
Pythonのウェブ系フレームワークではdjangoがメジャーだけどルーティングが正規表現だったりと、初めは取っつきづらい上に日本語情報が公式ドキュメントくらいしかないので、英語が得意でないと実務レベルで使えるようになるには時間がかかる。
といってもウェブ系以外ではPythonの方が主流ではあるし、言語自体の相性もあるのでまずはどちらも試してみるといいと思います。
初心者向けにはPythonがまだいいかなと思います。C系やRubyなどは記述が簡略化されすぎ&自由すぎで、初心者が学習するには不向きです。プログラミングを一度マスターすれば言語が変わってもそんなに戸惑うこともないので、ホントはVBとかの方がいいかもなぁとは思います。
関連するトピックス