プログラミング初心者です。
ただいまRubyとJavaScriptを勉強中です。
ふたつの言語の主な違いはなんですか?
ーーーーーー
初心者が最初に習う言語をぐぐった所、
とっつきやすいってのと、汎用性が高いため
このふたつを習っています。
触りだけ習った感じだと、
・Ruby シンプルで簡単
・JavaScript 複雑で難しい
っていうイメージです。
JavaScriptの方が汎用性が高いからこんなに複雑なのかな?と思うのですが
どうなのでしょうか。
・JavaScriptにしかできなくてRubyにはできないこと、
またRubyにはできるがJavaScriptにはできないことなどありますか?
・ふたつの言語の主な特徴はなんでしょうか。
・また、コーディングの際、
基本はRubyで書いて、
JavaScriptにしかできないところはJavaScriptで書く、みたいなことはできるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
Rubyの方が「人間にやさしい」言語であるのに対して、JavaScriptの方が「処理系を実装するのにやさしい」ということが言えるかな、と思います。
Rubyは、プログラマーにとって快適になるように、処理系が縁の下でいろいろなことを暗黙のうちにしてくれています。これに対してJavaScriptは言語仕様がシンプルで、縁の下でやってくれていることは非常に少ないです。
JavaScriptは、言語仕様がシンプルであるために処理系の進化(性能の最適化)が非常に進んでいるし、また、ブラウザなどに組み込むのも容易です。Rubyは、言語仕様が複雑であるため、たとえば組み込み用途ではよりシンプルな言語仕様であるmrubyなどが開発されたりしました。
RubyとJavaScriptのプロセスが相互の協調するような書き方はできますが、1つのプロセスの中でRubyとJavaScriptを混在させることはできないですね。(将来的に、JavaScriptの処理系を埋め込んでいるRubyの処理系が登場したり、JavaScriptで実装されたRubyの処理系が登場してくる可能性もないわけではないと思いますが...個人的には、ちょっとそのメリットが思いつかないです。)
投稿2015/03/14 22:13
総合スコア971
0
Webシステム、で言うならば
JavaScriptは使っているパソコン上で動きます、
rubyはWebサーバ上で動きます。
なので、JavaScriptとrubyは、まず用途が違います。
私の場合Webシステムで使った技術は「JavaScriptとjava」「JavaScriptとC#」「JavaScriptとphp」
のように、大体はJavaScriptとそれ以外を組み合わせて使います。
初心者が最初に習う言語をぐぐった所、
とっつきやすいってのと、汎用性が高いため
このふたつを習っています。
JavaScriptはともかく、rubyはどうでしょうね。
下記のようなサイトを見るとrubyは下位が多いです。
http://blog.codecamp.jp/programming_language_popular/
初心者なので勉強する、と言うことであれば
勉強しやすい言語であることも大事ですが、
使用している人が多いと言う理由で言語を選ぶのもよいかもしれません。
使用している人が多いと言う事は潰しのきく技術であると共に、
調べたときに情報が手に入りやすいです。
投稿2015/03/15 02:45
総合スコア187
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
最も明確な違いは、誰がその言語を実行するか、です。
rubyは、接続先のサーバー上で動いています。
Javascriptは基本的に、ブラウザ内で動いています。(例外はありますが今回は触れません)
例えば、1つの入力窓と、1つの表示部があるページがあるとします。
1つの入力窓に数値を入力すると、自動的に表示部に+1された値が表示されるとします。
入力窓に数値を入れられたと判断するのは、html内に書かれたJavascriptです。
htmlを解釈するのも、Javascriptを実行するのも、ブラウザです。
その数値を
http://hoge.com?value=数値
という形でリクエストすると、+1された結果が返ってくるURLがあるとしましょう。
そのURLを呼び出して結果を取得し、表示部に表示するのも、Javascriptです。
このような動作はよくajaxなんて呼ばれますね。
では、上記のURLにアクセスされたとき、数値を+1するのは誰がやるのか?
やっとrubyの登場です。
rubyは、与えられたvalueというパラメータから数値を取りだし、+1して、結果を出力します。
rubyを実行するのは、上記のURLを提供しているサーバーです。
もちろん、この程度の事ならURLを呼び出すなんて事をせず、Javascriptだけで数値を+1することもできます。
しかし、例えば入力された値をサーバーが記録していきたい時はどうするか? それはサーバー上で動いているrubyにしかできません。
これらが、両者のできること、できないことの説明にもなります。
rubyは他の言語と比べると記述方法などに独特の部分があるので(それが悪い事ではありません)、ゆくゆくは他の言語も習得したいという事であれば、その2つから選ぶなら、個人的にはまずはJavascriptをマスターするのが良いと思います。
ただ、両者とも、実はあまり初めてのプログラミングの学習には向いていません。
それは、コードの書き方がどうだからではなく、両者ともスクリプト言語という性質上、プログラムを書いてから実際に実行するまで、どこにエラーがあるかほとんどの場合分からないからです。
学習時間の大半を何故動かないかの究明に費やすのはとても効率が悪いし、くじける要因になります。
学習目的が分からないのでなんともいえませんが、純粋にプログラミングを勉強するという目的であれば、JavaやC#など、実行する前に明らかなエラーが無いかチェック(コンパイル)して、エラーがあればここが間違ってますと親切に教えてくれる開発環境ソフトがある言語をおすすめします。
投稿2015/03/15 01:46
総合スコア358
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/03/15 06:16
2015/03/15 13:03
2015/03/17 16:37
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。