web-dev-qa-db-ja.com

RubyまたはPython?

この質問は非常に主観的で自由回答です。自分で調べて、自分で決断したほうがいいかもしれません。しかし、私はそれをそこに出して、他の人からいくつかの考えを得たいと思います。

簡単に言えば、私はラットレースで燃え尽きて、今年は自己資金によるサバティカルを利用しています。その多くは、企業のGrindから離れて旅行することですが、新しいテクノロジーを試したり、いくつかの自己学習プロジェクトを実行したり、プログラミングの速度を維持したりすることもできます。プログラミング、プレッシャーがないとき!

これが問題です。私は生涯のC/C++/Javaプログラマーです。私はプログラミングのキャリア全体でこの言語のファミリを使用してきたので、私は少し波状のブラケットスノッブです。だから私はこのグループにそれほど構文的に関連していない言語を学びたいです。基本的に私が探しているのは、比較的一般的な目的で学ぶのが楽しい言語で、C++/Javaとは異なる新しい概念があり、優れたコミュニティーを持つ言語です。 2番目の考慮事項は、優れたWeb開発フレームワークがあることです。三次的な考慮事項は、それが完全に学術的ではないということです(読んでください:それを使用してそこに実世界の仕事があります)。

私はそれをRubyまたはPythonに絞り込みました。Rubyの私の印象は、それが非常にWeb指向であるということです-それの唯一の実際のアプリケーションはWebを行うためのサーバー側スクリプト言語(主にRuby Rails)。Python)の印象はほとんどありませんが、熱心なファン層がいるようで、かなり多目的な言語のようです。

TL; DRで、できるだけ簡潔に説明します。C++/Javaの人がプログラミングについて新しい見方を学ぶには、これらのうちどれが良いでしょうか?そして、どちらがよりオープンで汎用的で、より幅広いアプリケーションに適用できますか?今はRuby=に傾いていますが、サーバー側のウェブ言語としてしか使われていないように見えるほど心配しています。

24
Bobby Tables

Ruby Rails(Webアプリケーションフレームワーク)のせいで)が一般的な言い方をするようになったという事実に騙されないでください。プログラミング言語であり、他の言語を使用できるあらゆるものに使用できます。

Ruby=で遊んで、恋に落ちるかどうかを確かめてください。そうするか、しないかです。これは、グレイトフルデッドの音楽のようなものです。好きか、そうでないかです。立って。

ルビーはあなたの脳を伸ばします。多くの点で、C++/Javaからは遠く離れています。私はCとC#の出身ですが、Rubyの動的さとメタプログラミング能力は非常に酔わせることがわかりました。

そうは言っても、Pythonは完全に優れた言語であり、中括弧のせいであなたをバストアップします。

両方を学びませんか?私は定期的に両方を使用しています:Ruby RailsおよびPythonを使用したプログラミングでは、Google AppEngineでの作業に使用します。

35
Adam Crossland

私は確かにRubyをほとんど使用していませんが、Pythonの印象は次のとおりです。

  • 関数を鉛筆で描くための疑似コードを書くと、実際に書いたものがis Pythonであり、実際のコードにするために必要な書き直しが非常に少ない場合があります。擬似コードをすべてスキップして、Pythonで直接自分の考えを表現することもできます
  • Python=は、一般的なタスクのように思える何かを実行する必要がある場合、必要な関数(高レベル)が標準ライブラリに組み込まれている傾向があります。たとえば、早い段階で、ファイルを開いて1行ずつスキャンすると、答えは 'for myline in myFile:dostuff(lines)'と同じくらい簡単でした。これは、「バッテリーが含まれる」アプローチと呼ばれるものであり、他のいくつかの言語とは異なります日常の操作がもっと面倒な場合に使用

これら二つのことが私には際立っています。

17
Andrew M

あなたが一年間サバティカルを取っているなら、私はそれぞれ1週間か2週間を費やして、あなたが一番好きなものを自分で決めることをお勧めします。私は両方の経験がありますが、どちらもどちらも優れているので、どちらを選ぶかを決めるだけで十分です。

9
Jason Webb

IMO、Pythonを使用する必要があります。その理由は、より用途が広く、ほとんどすべての用途に使用できるからです。 Rubyは、お気づきのとおり、Webフレームワークにより、Web開発でより多く使用されています。Pythonとは異なり、Rubyは、GUIデスクトップアプリケーションの開発にはあまり適していません。 、数値、統計または画像処理プログラム。

7
Marcin

RubyはRailsよりもずっと長いので、世界中のRuby != web、それはとてもうまくいきます。システムに関連して実行できることや、実行できることについて、システムのホストが多数あります。 RailsフレームワークがRuby世界の残りの部分を飲み込んだようです。そして、はい、私はRuby =ファン。

一方、Pythonには多くのメリットがあり、Linuxのほぼすべてと統合されています。これにより、(Ruby、Javaなどと比較して)より大きなプログラムに組み込むのはおそらくかなり簡単になります。 Pythonで記述されたUbuntu Linuxインフラストラクチャはかなりあり、Pythonはシステムプログラミングに応用できます。そのWebフレームワークは本当にいいと聞いたので、まだ使っていません。

とはいえ、RubyとPythonはどちらも同等の機能を備えた言語であり、あなたの生活を非常に簡単にすることがわかります。Rubyコミュニティにはもっと多くのWeb責任者がいますが、それだけではコミュニティ全体ではありません。私はこれをいくつかのインフラストラクチャプロジェクトでも使用しています。

6
Berin Loritsch

これは、「 理想的なプログラミング言語学習シーケンス) および 同様の質問 の特殊なケースです。必要なのは「1つの完璧な言語」ではなく、心を開くために複数の言語パラダイムと複数の学習経験が必要です。

RubyとPythonに絞り込んだとおっしゃっていましたが、ラケット(人気の高いスキーム)から始めることをお勧めします。学習用に構築されており、関数型プログラミングに頭を伸ばします。インタラクティブなプログラミングと動的なタイピング。仕事(文字通りゼロ)、非常に小さな断片化されたコミュニティ、主要なWebフレームワークがないため、これに悩まされることはありません。しばらくの間、頭を揚げてから、次に進んでください。 。

次に、RubyまたはPython可能な仕事について学習します。両方を学習することをお勧めします。これら2つのうち2つ目の学習は、最初は彼らの違いにもかかわらず。可能性のある仕事については、私の直感はRuby Railsのおかげで機能することですが、この領域にはZopeの機能もいくつかあることを知っています。少なくともそれらの1つだけでなく、少なくとも何かを構築するのに十分な長さのもう1つも確認してください。

正直なところ、あなたはおそらく自分でこれまでに学んだよりも、どちらかを使って仕事を始めてから最初の1週間をより多く学ぶでしょう。彼らは両方とも、多くのツールと文化とイディオムを備えた大きなエコシステムを持っています。

tl; dr:両方とスキーム

5
Jesse Millikan

私もJava/C++の出身で、PythonでDjangoフレームワークを使用して過去4か月間にわたってプログラミングを行ってきました。本当に素晴らしいです。いつでも問題や質問がある場合は、既存の投稿の説明を見つけることができます。Rubyはまだ使用していないため、保証できませんが、時間があれば必ず試してみます。

個人的には、Pythonを使用して非常に迅速に処理を実行できる方法が気に入っています。便利な関数がたくさん組み込まれているからです。

1
chiurox

Rubyに投票するID。私は.NetおよびC#のバックグラウンドから来て、Python=を最初に試しましたが、Rubyちょうど私を魅了しました=)
そこに多くのシステムのものを書いています、そしていくつかのRails dev to。それはPythonとしてシステムプログラミングで可能であり、ウェブで最高だし、私にはもっと洗練された気分だ。

1