1

私は現在、2つの言語のどちらも知らない。ソフトウェアの設計は完了するまでは近づいています。パフォーマンス重視のデスクトッププログラム:RubyまたはGo?

興味深い:

  • ルビー:楽しいです。思考プロセスに従います。人間のために作られた。
  • Go:良好なパフォーマンス。高速コンパイル時間。

Rubyのパフォーマンスについてはわかりません。もしGoよりもずっと遅いなら、私は後者(ここで典型的なスピードについて話す)に行くでしょう。

私は結局両方を学ぶでしょうが、今はどちらが最初かを決定します。

更新:これは非常に基本的な画像編集プログラムです。技術的、特に知覚される速度が高くなければならない。起動時間は特に重要です。

+3

人間の言語に近いほど、遅くなります。 –

+0

私はおそらく私も考慮すべき重要なものを見落としたことがありますか? – Jonta

+1

私は移動に精通していません。パフォーマンスが重大であることをもっと伝える必要があります。デスクトップ環境での2つの違いは1秒未満になる可能性があります。 –

答えて

0

私はこれらの言語がパフォーマンス重視のアプリケーションでは最悪の選択肢だと思います。 Goについてはあまりよく分かりませんが、RubyはPythonに似ています(遅くても)、Pythonは地獄のように遅いです。私が読んでいたように、GoはRubyよりはるかに高速ですが、他のプログラミング言語に比べて2〜3倍遅くなっています...それはあなたが何をしようとしているかによって異なります。私はリアルタイム物理学のようなものを選ぶことはしません。

http://shootout.alioth.debian.org/u32/performance.php?test=nbody

Why is go language so slow?

http://attractivechaos.github.com/plb/

私は長年のカップルのためのpythonで取り組んできた、それは本当に遅いですし、私はあなたがそれを嫌うだろうと確信しているとRubyは非常によく似ていますPythonとそれは遅いですが、Goがあまりにも新しくなったので、私はそれについて多くは分かっていません。私は話すことができません。

+1

これが当てはまる場合、Rubyはおそらく問題外です。 – Jonta

+5

何か?利用可能な最も遅いベンチマークにリンクしました。なぜ[平均値](http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=all)にリンクしないのですか?あなたが大きな絵を見るときには、より多くの方が見やすくなります。あなたはちょうど1つのベンチマークを選んだだけで、そのベンチマークが平均からどうして離れているかを考えれば、おそらくちょうど良く書かれていないでしょう。 – ryeguy

+0

ベンチマークは最適化されていません。 [この記事](http://blog.golang.org/2011/06/profiling-go-programs.html)では、コードの最適化により、すべての競合他社(C++を含む)より速く進められました。しかし、正規表現のベンチマークでは、ちょっとした問題があります(http://groups.google.com/group/golang-nuts/browse_thread/thread/e9dd6669e7f88d0f)。移動は競合他社に比べてまだ新しいことを忘れないでください。 –

2

あなたは本当にあなたがgそれは非常に主観的なテーマだからです。

例えば、人々は、通常、作業しやすくなったり開発しやすいシステムに対して、ある程度の技術的または知覚された速度で取引しています。また、あなたがしたいことも重要です。各言語には独自の長所と短所があります。 RubyはGoより速いかもしれません。あなたが本当にスピードを必要とするなら、おそらくCのような金属に近い言語を見ているべきです。

時には、ユーザーからのスピードの要求も主観的です。私はかつてユーザーが特定の仕事をするのに時間がかかりすぎると思ったシステムを持っていました。技術的にスピードアップする方法はなかったので、私は "Processing ..."ウィンドウをアニメーション化しました。ユーザーは画面上で「何か」起こっているものを見ることができるため、より速く進んでいると考えました。ストップウォッチでは、実際には数秒かかりました。

+4

ええ、私はゴーが本当に速かったという印象を持っていました。 Google Inc.の最初のプレゼンテーションから思い出されるように、Cよりわずか10-20%だけ遅いです。 – Jonta

+0

@JOnta - 考えられません。それを使ったことはありません。 – drekka

9

悲しいことに、いずれの言語もデスクトップ画像編集プログラムには適していません。

お使いのデスクトップを覚えていない場合は、WindowsまたはMacのいずれかと仮定します。

それはあなたの要件の2を失敗したので、Rubyは適切ではありません。

  • 起動時に、その標準のかなり大きな部分をロードする必要はなく、複雑なVMを、初期化する必要があるため、それはひどい起動時間を持っていますライブラリー
  • は、それが画像処理はその起動時間が優れたとされて行くが、静的にリンクされ、マシンコードにコンパイルされ

を伴う計算の種類をやって(C/Javaの/ゴーと比較して)非常に遅いですスピードはcですCに失う(すなわち、 C/C++の後に選ぶことができる最速の言語です)。

しかし、GoはMacデスクトップアプリケーションを作成するためのサポートを全く持っていません(Objective-C/Cocoaランタイムとの橋渡しはありません)。Windowsデスクトップアプリケーションの作成は非常に貧弱です。

Windowsを使用している場合、起動時間を短縮する言語はC/C++/Delphiのみです。 C#には受け入れ可能な起動時間があり、タスクには十分速いです(非常に普及しているpaint.netはC#で書かれており、BSDライセンスのコードの古いバージョンを見つけることができます)。

Macの場合、私はObjective Cをお勧めします。これはプラットフォームの母国語であり、最高のドキュメントとフリーの開発ツール(XCode)が最適です。 https://github.com/philippec/Pixenを出発点として使用できます。

+0

また、ベクトル画像編集の場合、SketchはMac OS Xの出発点です。これはXcodeに含まれています。 –

+0

go's guiバインディングサポートは時間の経過とともに増加しているかもしれません... – rogerdpack

関連する問題