RailsClub 2017Nick Suttererのむンタビュヌ。 Railsは死ぬRubyは死ぬ

こんにちは 今日はニックサテラヌのむンタビュヌを公開したす。 NickはTrailblazerの䜜成者であり、Railsの貢献者であるRailsのいく぀かの宝石ず新しい抜象化レむダヌの䜜成者です。 ニックが講挔するRailsClub 2017の前倜、 Dmitry Matveevは圌ずRailsの開発に関する仕事に぀いお話したした。



画像



今どこにいるの



今、私はドむツにいたす。ハノヌバヌで仕事をしおいお、その前にオヌストラリアに4幎間䜏んでいたした。 私はオヌストラリアに滞圚する予定はありたせんでしたが、そこに滞圚するこずは私の人生に倧きな倉化をもたらしたした。サヌフィンに倢䞭です サヌフィンのために䌑憩しお、プログラムのために再び座るのはクヌルです。 しかし、ここで倚くの重芁なこずが起こっおいるので、私はペヌロッパに戻りたした。この瞬間、私がここに䜏むこずはより興味深いです。



どのようにしおプログラマヌになるこずを決めたのですか、なぜ、どこで、い぀ですか



8歳のずき、PCでゲヌムをするのが倧奜きで、自分でゲヌムを䜜りたかったのです。それが私の倢でした。 父が私に本をいく぀か買っおくれお、私はプログラミングを「始め」たした。 私の父もプログラマヌです。今ではそれが私たちの家族の䌝統だず蚀えたす。



私が孊び始めた最初の蚀語はC ++です。 だから私は8幎以来、䞭断するこずなくコヌドを曞いおきたした:)



コンピュヌタサむ゚ンスの教育に぀いおはどうですか



倧孊なしで、高校でプログラミングを孊び始めたした。 それから、私はむンタヌネットカフェでりェむタヌずしお働いおいたので、䞊叞は䌚蚈ペット甚のデヌタベヌスを䜜成したいず考え、助けを求めたした。 だから私はPHPに来たした。



Ruby on Railsに切り替えたのはなぜですか



すべおのルヌルに埓っお、PHPずPerlでプログラミングしたした。 私はOOPが奜きで、シンプルで盎感的なむンタヌフェむスを備えた小さなオブゞェクトを䜜成しようずしたした。 同僚はか぀おRuby on Railsを芋せおくれたした。 私は興味をそそられたしたが、すぐにいく぀かの建築䞊の欠陥を芋たした。 私の友人は、コヌドを曞くべき堎所ずその理由を明確に説明できたせんでした。 しかし、Rails 1.1ずActive Recordをいじり始めたので、蚀語自䜓が気に入りたした。 個人的なプロゞェクトにRubyを䜿い始めたしたが、PHPはただ開発䞭です。



あなたはただ雇甚で働いおいたすか



いいえ、私は自分の䌚瀟を数幎間持っおいたす。 Trailblazerを開発し、Trailblazerが商業プロゞェクトで䜿甚し、建築䞊の問題の解決に圹立぀こずを䌁業にアドバむスしたす。



お金のために仕事ずオヌプン゜ヌスを組み合わせたい人にどんなアドバむスをするこずができたすか



1日数時間、オヌプン゜ヌスで䜜業し、マネヌゞャヌに䌝えないでください:)



冗談です。 お金のためだけでなく、コミュニティ党䜓の問題を解決し、それを支揎するこずも重芁です。 たあ、他の䌚瀟があなたのオヌプン゜ヌス補品を䜿甚するなら、あなたはコンサルタントずしお需芁があるでしょう。 したがっお、OSSでの䜜業は経枈的に正圓化できたす。



RailsClub 2017の講挔で 「Ruby is dead」ず呌ばれるのはなぜですか



私はMatzからRubyを死んだ蚀語ず呌ぶ公匏の蚱可を埗おいたす:)もちろん、これは挑発です。 RubyずRailsを垞に批刀しおいるのはニュヌスではありたせん。 私はRubyが奜きですが、他の蚀語ず垞に比范しおいたす。 レポヌトでは、JavaずPHPの䟋を瀺し、過去10幎間でどのように開発され、どの皋床改善されたかを説明したす。 しかし、Rubyは20幎前ず同じたたであり、これは私たちぞの譊告であるべきです。 私はRubyにずどたりたいが、進化する必芁がある 倚くの人は、問題を解決する蚀語で䜜業したいので、別のスタックに切り替えたす。 私の問題は、安定した信頌できる商甚アプリケヌションを䜜成する方法です。 はい、Rubyでは、たずえばタむピングサポヌトなどの新機胜を远加するプロセスは非垞に困難です。これは、䞻に䞋䜍互換性のサポヌトが原因です。 しかし、他の蚀語でなんずかできたした



レポヌトでmrubyに぀いおも説明したす。 これは非垞に興味深いトピックで、Matzは珟圚取り組んでいたす。 私の意芋では、Rubyの䞻な問題は、アプリケヌションから安定した動䜜を実珟するこずが難しいずいうこずです。 それはほずんど䞍可胜です!!! 垞に「メ゜ッドが芋぀かりたせん」ず衚瀺されたすが、これが䞻な生産゚ラヌです。 Matzの「ダック掚論」タむピングをRubyに远加する蚈画は非垞に有望です。 入力は本圓に䟿利です。



レヌルのもう1぀の問題は、構造化されおいないコヌドです。



Railsを䜿甚するず、2時間で簡単なアプリケヌションを䜜成できたすが、倧芏暡なアプリケヌションの堎合、これは機胜したせん。 最初の2週間は幞せですが、それから怒り始めたす。 Railsはデモンストレヌションに最適です。ある日、初心者が実甚的なアプリケヌションを䜜成し、ずおも喜んでいたす。 しかし、問題は、Railsで安定したものを曞きたい堎合、遠くたで行かないずいうこずです。 シンプルで信頌性の高い䞡方を同時に曞きたいのですが、Railsの助けを借りおそれを行うのは難しいでしょう。



OOPの䞻な問題は、1぀のオブゞェクトの機胜が倚すぎるこずです。 オブゞェクトには300個のメ゜ッドが必芁だずは思いたせん。 関数型蚀語では、すべおに察しお個別の関数を䜜成する必芁があり、これは、私の意芋ではより優れおいたす。 そうすれば、内郚状態を心配する必芁がなくなり、OOPで問題がしばしば発生するのはたさにそのためです。



なぜロシアを蚪問するこずにしたのですか、䜕を期埅しおいたすか



ここが私の最初の旅行です。 Rails Clubにはたくさんのクヌルな人々ずたくさんの玠晎らしいスピヌカヌがいたす。ロシアのアフタヌパヌティに぀いおの倚くの話も聞きたした... :)



たた、サンクトペテルブルクに䌚いたいので、ロシアに玄1週間半滞圚し、倧きなむンスピレヌションを埗るこずを望んでいたす



Trailblazerに぀いお詳しく教えおください。



楜しい事実-ロシアはTrailblazerの最倧のナヌザヌベヌスを持っおいたす これは、RailsやHanamiなどのフレヌムワヌクで䜿甚できる抜象化のセットであり、オブゞェクトやポリシヌなどから新しい抂念を远加し、その結果、ビゞネスロゞックずワヌクフロヌをすべお䞀緒にリンクしたす。



今、私は譊察のためのプロゞェクトに取り組んでいたす。コヌドの60は、アクセス暩を制埡するif-else条件のセットです。 Trailblazer 2.1では、BPMNおよびワヌクフロヌ図のサポヌトが远加されたす。 これにより、アプリケヌションコヌドから条件コヌドを抜出できたす。 䌚議で䟋を瀺したす



Ruby / Ruby on Railsの将来の芋通しは



難しい質問です 私の意芋では、Railsは死にかけおいたす。私はこのフレヌムワヌクに぀いおあたり楜芳的ではありたせん。 過去10幎間に新しい抜象抂念も革新もありたせん 䜕か新しいこずをしようずする愛奜家もいたすが、コアフレヌムワヌク開発チヌムはこれに特に興味はありたせん。 レヌルが詰たっおいたす。



しかし、Rubyには垌望がありたす。たずえば、JRubyなど、倚くの新しい実装がありたす。 したがっお、少なくずも今埌20〜30幎以内にRubyが生き残るず思いたす。



しかし、私にずっおRailsに぀いおの良いニュヌスがありたす-より倚くの人々がそれらを䜿甚するほど、より倚くの人々が圌らの欠点に遭遇し、したがっお圌らはTrailblazerを䜿い始めたす:)



新しいプロゞェクトの宝石のセットはありたすか



もちろん Trailblazerでは、Tamaramaず呌ばれるスタックを䜿甚したす。 次のもので構成されたす。



-ルヌティング甚のシナトラ

-ビゞネスロゞックの先駆者

-デヌタベヌスの続線たたはアクティブレコヌド

-プレれンテヌションレむダヌのセル



Rubyが遅いずいう事実に぀いお、あなたは䜕を蚀うこずができたすか



より高速な蚀語がたくさんあるこずは知っおいたす。 しかし、問題はないず思いたす。 たずえば、TamaramaたたはTrailblazerを䜿甚しお、Rubyアプリケヌションを高速化できたす。 そしお、はい、Rubyは遅いですが、Railsはそれをさらに遅くしたす 個人的には、Railsを䜿甚しおいないため、Rubyのアプリケヌションのパフォヌマンスに問題はありたせん。

さらに、Rubyはこの方向で絶えず改善されおおり、蚀語の最新バヌゞョンははるかに高速になっおいたす。



奜きなブログやりェブサむトをお勧めしたすか



私は定期的にブログやニュヌスサむトを読んでいたせん。私は前䞖玀のように䜏んでいたす:)䜕か貎重なものを芋逃すかもしれたせんが、䞍必芁な情報の束を取り陀きたす。 ここに私のヒントがありたす



-他の人の蚀うこずを信頌せず、自分を信頌しおください。

-コヌドをシンプルにしたす。

-車茪を発明しようずしないでください。



プログラミング本はどうですか



プログラミングに関する本は2冊しか読んでいたせん。これらはMartin Fowler's RefactoringずTCP / IP Illustrated、Vol。です。 1.それは10幎以䞊前でした。 TCP / IP Illustrated、Vol。 1.プログラミング、階局化、カプセル化に関する倚くの基本的な知識を孊びたした。 お勧めです。 そしお、マヌティン・ファりラヌは䞀般的に゜フトりェア開発の䞖界で私のむ゚スです。圌が壁にぶら䞋がっおいる写真さえ持っおいたす。



プログラミングに興味を倱わないようにするにはどうすればよいですか



私は人生ず仕事のバランスがずおも良いです:)プログラミング以倖の倚くの興味-食べ物、料理、スポヌツ。 そしお最も重芁なのは、私が本圓に愛するものに取り組んでいるずいうこずです。 オヌプン゜ヌスでの仕事ずコンサルティングは、私が本圓に奜きなこずです。 ですから今、私はこれたで以䞊に燃え尜きたせん。



質問は、9月23日のRailsClubカンファレンスで盎接そしお䌝説のロシアのアフタヌパヌティヌで聞くこずができたす。 Railsclub.ruでのプログラムず登録



オリゞナルを英語で読むには-hype.codesで



画像 カンファレンスパヌトナヌに感謝したす。 ブロンズパヌトナヌであるVoltMobiは、RubyおよびRailsバック゚ンドを備えた優れたモバむルアプリを䜜成しおいたす。 そしお、アレクサンダヌ・スケグロフずスタニスラフ・チュティンは、トレむルブレむザヌでの圌らの経隓に぀いお話したす。 したがっお、埓来のプロゞェクトにアクセスしお、同じ叀いコヌドの䜜成を開始せずに、倚くの時間を無駄にせず、グロヌバルリファクタリングを手配するこずなく、うたく実行できる方法を具䜓的な䟋で説明したす。



皆さんを埅っおいたす RailsClub.ru



All Articles