プログラミング蚀語の歎史Rubyの過去、珟圚、未来に぀いお

画像

倚くの堎合、人間のうわさがIT補品を「死」に長幎蚎えおいたす。 これが起こらない堎合、噂は蟛抱匷く埅ち続けたす。 そしお、い぀かプロゞェクトが終了するず、誰かが確かにしばらく埅っお、「しかし、これが起こるず蚀った」ず蚀うでしょう。



PHPは䜕幎続けお「死」を予蚀したしたか しかし、圌だけにそう思われたす。 そしお最近、圌はさらに積極的に開発し始めたした。 Rubyプログラミング蚀語はゆっくりず開発されおおり、東掋、より正確にはアゞアの䞖界芳に特城的なゆったりずしたペヌスです。 圓然、差し迫った日没を告げる人々がいたした。



ただし、Rubyコミュニティはすべおの生きおいるコミュニティよりも掻発であり、䞀郚の研究では、その人気が再び高たっおいるこずが瀺されおいたす。 ずもあれ、RubyはWeb開発の分野で特別な䜍眮を占めるこずに成功したした。 クリ゚むタヌはどのようにしおこれを達成したしたか 圌に今䜕が起こっおいるのですか Rubyの未来は



Rubyの䜜成者である束本幞宏別名「Matz」は、お気に入りのプログラミング蚀語Perl、Smalltalk、Eiffel、Ada、およびLispを最倧限に掻甚し、機胜的か぀呜什的なプログラミングパラダむムを新しい蚀語に統合しようずしたした。 圌はしばしば、 Rubyを人生を反映する自然ではあるが単玔ではない蚀語にしようずする哲孊的思考を繰り返したした 。



画像 秋には、マッツはロシアを蚪問する予定です。 圌の蚪問は、次回のRuby on Railsカンファレンスず同時に行われたす。



1993幎2月24日は、Ruby蚀語の誕生日ず芋なされたす。 しかし、その日は、この蚀語の名前だけが発明され、コヌドはただ存圚しおいたせんでした。 束本は、「ルビヌルビヌ」ず「コヌラルコヌラル」ずいう2぀の名前のバリ゚ヌションから遞択したした。 最初の遞択肢が遞ばれたのは、それが束本の埓業員の䞀人の星占いによるず石だったからです。



Ruby 0.95の最初の公開リリヌスは、1995幎12月21日の日本の囜内蚘者䌚芋で発衚されたした。



その埌、2日以内にさらに3぀のバヌゞョンのRubyが公開されたした。 Rubyの以前のバヌゞョンでさえ、束本が特に重芖した機胜はすでに含たれおいたした。オブゞェクト指向蚭蚈、継承を持぀クラス、むテレヌタヌ、クロヌゞャヌ、䟋倖凊理、ガベヌゞコレクションです。



1995幎から2002幎の間に、Rubyに関する玄20冊の本が出版されたした。 日本では、Pythonよりも人気のある蚀語になりたした。



囜際瀟䌚の知り合いは、1998幎にドキュメントを英語に翻蚳し、最初のメヌリングリストを䜜成した埌に始たりたした。 2000幎以降、Rubyは䞖界䞭に広たり始めたした。これは䞻に「Rubyのプログラミング実甚的なプログラマヌガむド」ず「Rubyの痛烈なガむド」ずいう英語の本の登堎によっお促進されたした。



1999幎のRuby 1.3のリリヌスに続いお、英語での最初のruby-talkメヌリングリストが公開されたした。



ただし、2004幎たで、Rubyはペヌロッパず米囜で広く知られおいたせんでした。 その機胜ずサポヌトされおいる倚数のプラットフォヌムにより、Rubyは埐々に芖聎者を獲埗しおいたす。



2004幎に、 Ruby on Railsフレヌムワヌクが登堎したした。 David Heinemeyer Hanssonが37signalsず共同で䜜成し、Railsコア開発チヌムず数癟人のオヌプン゜ヌス開発者の努力により拡匵および匷化されたした。



転換点



Rubyの歎史における重芁なむベントは、2003幎のRuby 1.8.0のリリヌスず、2007幎のRuby on Rails 2.0フレヌムワヌクの新しいバヌゞョンでした。 この時点で、深刻な商業プロゞェクトにこの蚀語を䜿甚するこずぞの関心が倧幅に高たりたした。



画像



「だから、RailsはRubyを人気にしたした。 これは事実です。 私はRuby開発者になりたした。それが私のキャリアを倉え、Railsのおかげで倚くの玠晎らしい機䌚を䞎えおくれたした。 圓時の倚くのルビストは同じように行きたした。 Railsのおかげでここにいたす。 倚くの堎合、Railsは実際に人々に倧きな圱響を䞎え、文字通り圌らの生掻を改善したした。 人々はより良​​い仕事、より良い機䌚、そしお良いお金を埗たした。 これは私たちの倚くにずっお「ゲヌム」ずいう甚語の根本的な倉化でした」 ずピョヌトル・゜ルニカは曞いおいたす。



バヌゞョン1.8より前の蚀語が開発され、以前のバヌゞョンずの互換性が維持されおいた堎合、その埌の束本幞宏率いるRuby開発者は完党な互換性を拒吊したした。 そのため、Ruby開発は2぀のブランチに分割されたした。バヌゞョン1.8のサポヌト*新しいバヌゞョン1.9の䜜成*は、次のバヌゞョンの蚀語であるRuby 2の先駆けです。



2009幎のRuby 1.9.1および2010幎のRails 3.0のリリヌスでは、コメントの倧郚分が考慮され、修正されたため、より良い倉曎が行われたした。



実瞟



2011幎たでに、テストによる開発TDD、MVCコンセプトを実装するための完党なモデル、ORMActiveRecordを介したデヌタベヌスの操䜜、デザむンパタヌンデザむンパタヌンなど、ほずんどすべおの最も有望なテクノロゞヌずプログラミングアプロヌチがRuby / Railsに実装されたした、䟿利なPrototype JavaScriptフレヌムワヌクAJAXを䜿甚した簡単な䜜業甚を䜿甚し、分散Gitバヌゞョン管理システムGithub.comず連携したす。



このフレヌムワヌクは、SaaSクラりドコンピュヌティングの開発に応甚されおいたす。



Ruby on Railsは、Twitter、SoundCloud、Airbnb、Diaspora、Groupon、Basecamp、GitHub、Hulu、Scribd、Kickstarter、Change.orgなどの人気サむトの䜜成に䜿甚されたした。



2012幎3月31日、投祚の結果によるず、RubyのISO / IEC 30170暙準が採甚されたした。



2015幎11月、Ruby 2.3.0-preview1がリリヌスされたした。 数か月間、コミュニティはRuby on Rails 5.0のリリヌスを監芖しおいたす。



2016幎6月のデヌタによるず 、プログラミング蚀語の人気の高たりを枬定するTIOBEむンデックスは、Rubyが10䜍であるこずを瀺しおいたす。 ただし、これは昚幎に比べお6ポゞション高いです。







その他のルビヌ



いく぀かのRuby実装がありたすCで曞かれた公匏むンタヌプリタヌ、JRuby-Javaの実装、.NET IronRubyプラットフォヌムのむンタヌプリタヌ、Rubinius-䞻にRubyで曞かれ、Smalltalk-80 VMのアむデアに基づいたMagLevは、Smalltalkベヌスの別の開発ですBlue RubyのGemstone-ABAP仮想マシン甚のRubyの実装、MacRuby-オペレヌティングシステムの機胜ずの最倧限の統合に焊点を圓おたMac OSの実装、mruby-プログラムぞの埋め蟌みの実装。



長幎にわたり、公匏通蚳者は、Unix、Microsoft WindowsWindows CEを含む、DOS、Mac OS X、OS / 2、Amiga、BeOS、Syllable、Acorn RISC OSなどを含むほずんどのプラットフォヌムに移怍できたした。 Windows専甚のRubyInstallerむンストヌラヌがあり、Cygwinの䞋で実行しおUnixずの互換性を高めるこずができたす。



時間が経぀に぀れお、RubyずRuby on Railsはほが同矩語になりたした-特に未経隓者の間で。 実際のずころ、Ruby on Railsフレヌムワヌクはプログラマヌのデフォルトの遞択肢になっおいたす。 進化し続け、無料のたたです。 このフレヌムワヌクは、MVCModel-View-Controllerテンプレヌトのフレヌムワヌク内でWebアプリケヌションのコンポヌネントを蚘述し、アプリケヌションサヌバヌおよびデヌタベヌスにアクセスするためのむンタヌフェむスずの既補の統合も提䟛したす。 指定されたツヌルは、簡単なブログたたはプラむベヌトWebペヌゞを数時間で䜜成しお実行するのに十分です。



他のRubyフレヌムワヌクがありたす。



「 Merbは、Ezra Zygmuntowiczによっお䜜成されたプロゞェクトです。 ファむルのダりンロヌドを高速か぀スレッドセヌフにするためのハックずしお始たりたした。 そしお、圌はこのハックから、Webアプリケヌションを開発するためのモゞュヌル匏のスレッドセヌフで高速なフルスタックフレヌムワヌクぞず、興味深い方法で取り組みたした。 Merbには、フルスタックモヌド、APIモヌド、および最小にトリミングされたマむクロモヌドの3぀のモヌドがありたした。 これは、Rubyの䞖界で最速の存圚でした。 それは7幎以䞊前のこずです」ずPiotr Solnica氏は蚀いたす。



2008幎、MerbチヌムはRuby on Railsの䞀郚になりたした。



Sinatra-最倧50行のコヌドのマむクロサむトおよびマむクロサヌビス甚。 EventMachine-長時間の非同期タスク甚。 小さなWebアプリケヌションを開発する必芁がある堎合は、 Padrinoを䜿甚できたす。



「パドリノはシナトラです。 小芏暡なサむトに十分䟿利です。 そしお、APIを䜜成したす。 より冗長で重いRailsの代替品です」 ず、トヌスタヌのナヌザヌをニックネヌムfrolinで曞いおいたす。



批評



ToasterナヌザヌはRuby on Railsの欠陥に぀いおどう思いたすか



「ルビヌずレヌルに私を終わらせた䞍利な点は、玠晎らしいDAO \リポゞトリ、レゞストリなどすべおを備えた正気なDataMappingActiveRecordのやや耇雑で効果的な類䌌物がないこずです。」 Kirill Saksin、PHP開発者、バック゚ンド



1. Railは倚くのメモリを消費したす。 Railは䞀般に小芏暡なプロゞェクトでは冗長です。 シナトラ、パドリヌノなどがより優れおいたす。

2.倧芏暡プロゞェクトの長期サポヌトの難しさ。

3.ホスティング事業者の問題。 PHPホスティングの䜜成ず保守ははるかに簡単です。 もちろんlocum.ruずherokuがあり、それだけです。

4.人事䞊の問題。 PHPたたはJavaで[開発者]を芋぀ける方が簡単です。
ドミトリヌ



「いく぀かのサむトを曞いた埌、私は原則ずしおRailsずRubyが意味をなさないこずに気付き、DjangoずPythonに戻りたした。 私にずっお、Pythonのスクリプト蚀語から-私たちのすべお。 デスクトップでは既に䜜成でき、モバむルではKivyで䜜成できたす。 そしお、Node.jsは、リアルタむムアプリケヌションの非同期性ず機胜ずずもに既に存圚しおいたす。 Rubyを普及させるために、今埌数幎間でルビストが通垞以䞊の䜕かを思い付かない堎合、圌は単玔に死ぬでしょう。 レむドン



顧客の堎合



1.ワヌドプレスなし。 はい WordpressがRubyで曞き盎されるずすぐに、怠け者ではない人は誰でもそれを䜿い始めるでしょう。



2. Joomla Webサむトを䜜成できたすか コンテンツマネヌゞャヌが既に管理パネルに慣れおいるだけです。



3.そしお、なぜホスティングに200ルヌブルの費甚がかかるのですか 私のオフィスの隣人は40以䞊を獲埗した。



プログラマヌ向け



1.ブレヌスはどこにありたすか



2.魔法。 たくさんの魔法。 日付によるデヌタベヌスの準バヌゞョン管理に至るたで、すべおを独自に実行したす。 これに慣れる必芁がありたすが、誰もが準備ができおいるわけではありたせん。



3. mysqlに接続できるようになるたでに2日かかりたした。 おそらく、私は最も経隓豊富なプログラマヌではなく、stackoverflowに関する豊富な質問であり、この段階で䞭退しおWordpressのむンストヌルを垌望する人の半数を瀺唆しおいるだけではありたせん。
むリダヌド



Rubyを保護するための匕数



すべおのRubyパッケヌゞおよびラむブラリが準拠する必芁がある詳现な暙準のおかげで、アドオンの開発は簡単です。 したがっお、いわゆるRuby Gems英語-gemの䞭には、゜ヌシャルネットワヌクやサヌドパヌティサヌビスずの統合から既補の電子商取匕プラットフォヌムたで、ほがすべおのタスクを解決するためのモゞュヌルがありたす。



サヌドパヌティラむブラリを䜿甚するために必芁なのは、リモヌトたたはロヌカルリポゞトリにあるラむブラリぞのプロゞェクトの䟝存関係を蚘述するこずだけで、次回このラむブラリをビルドするず、アプリケヌションに自動的にロヌドされたす。 たた、開発者間のプロゞェクトの移行を簡玠化したす。プロゞェクトをビルドするために䟝存関係を手動で共有する必芁がないため、開発者はRubyレビュヌの1぀を䜜成したす。



このプログラミング蚀語の利点に぀いお、Habraナヌザヌは、urvallaずいうニックネヌムで、次の蚘事を曞いおいたす。

プログラミング蚀語は、構文だけでなく、ガベヌゞコレクタヌであるだけでなく、蚀語パラダむムであるだけでなく、その哲孊でさえありたせん。第䞀に、それはこのコミュニティが䜜成したコミュニティずコヌドベヌスです。 特に今、オヌプン゜ヌスの時代に。 そしお、ここRubyではカルマで初めおの脂肪プラス。



Rubyは遅いこずが知られおいたす。 Rubyはむンタヌプリタヌ蚀語なので、議論するのは困難です。 そしお、これは兞型的なものであり、ほずんどの堎合、PHPで排他的に曞く人からこれを聞きたす。PHPも解釈可胜であり、合成テストの速床に関しおはほが同じレベルです。 ほずんどの堎合、これらは叀いバヌゞョンの悪名の゚コヌです。



実際、私はRailsずSymfony2の䞡方で䜜業しなければなりたせんでした-実際のRailsアプリケヌションでは、同じレベルの最適化でより高速に。



たた、䞻な負荷ずボトルネックは倚くの堎合デヌタベヌスであり、Webアプリケヌションは単なるビゞネスロゞックのレむダヌであるこずを忘れないでください。 そしお、そのようなレむダヌはうたくスケヌリングしたす。


珟圚ず未来



画像

Ruby and Rails開発者カンファレンス



珟圚、Rubyで䜕が起こっおいるのかに぀いお、䞀郚のRuby開発者ず話し、プロゞェクトの芋通しに぀いおの意芋も孊びたした。



最近、Rubyずそのフレヌムワヌクはどこで需芁がありたすか



-RubyはRuby On Railsフレヌムワヌクの人気の倧郚分を占めおいるため、アプリケヌションの䞻な分野はWeb開発ずそれに関連するすべおです。



圌の芋通しは䜕ですか



-Rubyの呚りに非垞に匷力なコミュニティが圢成されたした。 この蚀語に察する関心が最近わずかに䜎䞋しおいるにもかかわらず、Rubyは匕き続き積極的に開発し、前進しおいたす。



どんな蚀語やテクノロゞヌもRubyの「キラヌ」ずなる可胜性があるず考えられたすか



-具䜓的なこずは䜕も思い浮かびたせん。 ElixirずCrystalがありたすが、私の意芋では、それらはただかなり若いです、そしお、あなたはあなた自身の危険ずリスクでのみそれらを䜿うこずができたす。 個人的には、Goの方向に目を向けおいたすが、代替ずしおではなく、特定の問題を解決するための远加ずしおです。



 Alexander Tipugin。TM 䌚瀟の Ruby開発者 



最近、Rubyずそのフレヌムワヌクはどこで需芁がありたすか



-Rubyプログラミング蚀語ずRuby on Railsフレヌムワヌクの䞻な専門分野は、スタヌトアップの開発です。 Ruby on Railsでは、暙準゚ンゞンを超えるナニヌクで技術的に耇雑なプロゞェクトを非垞に簡単か぀迅速に䜜成できたす。 名刺サむトが必芁です-ワヌドプレスを取りたす。 オンラむンストアが必芁です-Bitrixを賌入したす。



しかし、「7本の赀い線ずそれらのすべおが互いに垂盎である必芁があり、その䞀郚は緑色でペむントされ、䞀郚は透明であり、1぀は子猫の圢である」独自のスタヌトアップが必芁な堎合-これはRuby onのタスクですレヌル



圌の芋通しは䜕ですか



-蚀語ずフレヌムワヌクは進化し続け、コミュニティは成長し続けおいたす。 今幎、蚀語の䜜成者である束本幞宏は、 http//railsclub.ruでモスクワに到着したす。 誰もが、近い将来に準備が敎うはずのRailsの5番目のバヌゞョンを埅っおいたす。



どんな蚀語やテクノロゞヌもRubyの「キラヌ」ずなる可胜性があるず考えられたすか



-過去数幎であったRubyの呚りの誇倧広告はおさたりたす。 Rubyはもはや流行ではありたせんが、スタヌトアップを構築するための効果的なツヌルであり続けおいたす。 殺人者はいたせん。



 オレグ・バルベコフ 、最高経営責任者゚ノロヌネ 



そしお最埌に、ナヌザヌ「Habr」にニックネヌムurvallaで再びフロアを提䟛したす。


Webアプリケヌションを蚘述するための倚くの優れた蚀語ずフレヌムワヌクがあり、Ruby with Railsは䞀床にすべおの狌男りサギを殺す銀の匟䞞ではありたせん。 単玔に、私の意芋では、重芁な基準のセットを採甚し、それらの1぀たたは2぀を遞択しようずしない堎合、RoRは本圓に倚くのポむントを獲埗したす。



成熟床を含む-これはもはや朜圚的なものだけではなく、老人でもないヒップスタヌプラットフォヌムではありたせんしかし、䞡方の䟋がたくさんありたす。 そしお、RubyずRailsの䞡方がただ成長ず開発の可胜性を秘めおいるので、圌が長い間老人になるずは思いたせん。



All Articles