web-dev-qa-db-ja.com

Rubyは何をしましたか(またはそれはRailsでした)?

ほとんどのプログラミング言語には、その使用法と適用性に影響を与えるいくつかの設計上の決定があります。

例えば:

  • Pythonはコードの保守性/可読性に焦点を当てており、インデントは言語自体の一部でした。
  • Javaの意図は、クロスプラットフォームOOPであり、C++よりも「使いやすく」「使いやすい」ことでした。
  • Objective-CはCのOOラッパーとして構築されており、当時のC++の将来を知らない
  • Erlangは、高度なフォールトトレラントおよび並行システム向けに設計されています
  • Webページの動的作成を処理するために設計されたPHP
  • Javascriptの良い部分を公開し、OOP構文糖を追加し、JSのニュアンス(グローバルなど)を隠すように設計されたCoffeeScript舞台裏など.

各プログラミング言語は、特定のニッチなIMHOを利用して活用しようとしました。上記は、プログラミング言語の創設の原則とは何か、そしてそれらの進化と広範な採用可能性を支配するものについての私の見解です。もちろん、もっとたくさんありますが、リストは例としてのみ意図されています

しかし、私はRubyの基礎となる設立原則とその人気の高まりを理解するのに苦労しました。今日人気のあるRubyの設立原則は何でしたか?それとも、Railsフレームワークを設計した一人の男の天才ですか?後者の場合、RubyはRailsの設計をより良く/より簡単/より速くしたと思いますか?どのような意味で?

作成者による最も一般的に引用されている理由は、「...弱く型付けされた楽しいプログラミング言語が欲しかった」です-新しいプログラミング言語を完全に作成する理由としてはわかりません!プログラミングは言語に関係なく非常に楽しいIMHOです(各言語にはいくつかの悪い部分がありますが、回避するか、それと共存します)。

では、現在の言語では利用されていないRubyをどのようにニッチに利用しましたか?広く採用されるようになったRubyの「強み」(USP)は何ですか? Rubyは、これまでに行われなかった(または非常に困難だった)ことを何でしたか?

私はRubyプログラマではなく、単にRuby noobなので、混乱しています。

免責事項:これは炎上戦争ではなく、Rubyとプログラミング言語のタイプの答えを探していません。広く採用されるようになったRubyが基づいている設計上の決定を探しています。普及するためにRubyが満たすニッチは何ですか、それとも純粋にRailsに起因するものですか?

13
PhD

Rubyが離陸した理由はたくさんあります:

  • Railsフレームワーク。Railsは、Webアプリケーションの開発を容易にし、開発者の生産性を向上させるために多くの有用なパターンを組み合わせました。これをJavaの冗長で面倒なWeb開発と比較してください。 「ワンマンショー」の.NETプラットフォームブログのWebアプリケーションを数分で作成するのは驚きました。
    Grails、Playなどの多くの新しいJVM Webフレームワークで「Rails効果」を確認できます。そしてスプリングルー。
  • TwitterやGithubなどの成功事例。新興企業はできるだけ早く市場に出回る必要があり、Railsがあればそれが可能です。成功事例は証拠でした。
  • Rubyプログラミング言語自体は美しく、強力で表現力があります。私見、RubyはRails成功の秘訣です。
    きゅうりとシナトラの美しさ、DSLの美しさを正しく見てください。
  • 実験と革新を恐れない熱心で勇敢なコミュニティ。
  • (個人的な意見であり、決定的な理由ではないかもしれません)日本で作成されました。 「メイド・イン・ジャパン」のイメージに勝るものはありません。
    私にとって、さまざまな国で作成されたプログラミング言語を学ぶことは、新しい人と会うことと同じです。楽しくて教育的です。
    ルビー/日本、OCaml /フランス、ルア/ブラジル、LISP /火星:)
11
Chiron

これはタイトルの質問に直接答えることはしませんが、提起されたいくつかのポイントに対処します(つまり、Rubyが作成された理由)

Rubyの作成者である松本幸弘「Matz」の引用。Rubyの作成に影響を与えたものを説明するのに役立つ可能性があります。

  • 「Perlよりも強力で、Pythonよりもオブジェクト指向のスクリプト言語が欲しかった」
  • 「Ruby世界中のすべてのプログラマーが生産的になり、プログラミングを楽しんで幸せになるのを助けることを期待しています。それがRubyの主な目的です。 =言語。」

したがって、基本的に、Matzはプログラマーの幸福のために設計された非常にオブジェクト指向の言語を求めていました。

13
SuperMaximo93

Ruby(Railsを組み合わせたもの)により、構成上の規約が一般的になりました。

古い(Ruby on Rails)以外の)方法は

  • 「誕生日」というフィールドを持つデータベーステーブル「人」を定義します。
  • プロパティ "birthday"を持つビジネスクラス "person"を定義します
  • データベースとビジネスクラスの間でデータを転送するためのヘルパークラスを書く
  • リスト内の人がどのようにGUIを作成する
  • 1人のプロパティを編集するためのGUIを作成する

convention over configurationを使用すると、このための基本作業は自動的に行われます。

  • あなたはコードで人を定義します
  • データベーステーブル、マッピング、gui要素は、強力なインタープリターまたはコードジェネレーターによって自動的に作成されます

反対:すべての方法を学ぶ必要があるので、Ruby on Rails on first run)の学習は困難です。

長所:規則を知ったら、他のコードを理解するのは非常に簡単ですRuby on Rails開発者はすべて同じ規則に従う必要があるためです。

その間構成上の規約は多くのコーディングエコシステムに参加しています

5
k3b

まず、Rubyは「現在の言語」です。おそらくRubyが1995年に作成されたときに人気があった言語)

Rubyが好きです。Perlが好きだったのと同じ理由で:

  1. パワフルで表現力豊かです。 RubyまたはC++の5行の代わりにJavaコードの約1行を書くことができます。最小限の手間で因数分解できない繰り返しはありません。 。

  2. ダイナミックです。メソッドとプロパティは実行時に作成できるため、データベーステーブルなどの外部で定義されたものの定義を複製したり、アプリケーションを再構築したりすることなく、オブジェクトをラップできます。

  3. 読みやすく包括的である言語(Programming Ruby)に関する優れた本があります。

  4. パブリックドメインパッケージ用の単一のリポジトリと、リポジトリへの便利なコマンドラインインターフェイスがあります。

しかし、私はRuby読みやすいのでPerlよりも優れています。

Ruby Pythonと比較するページはたくさんあります。私は両方とも好きです。私はRubyを好みますが、Pythonの経験は限られています。

4
kevin cline