
8,013 文字

Hey、コーディングはバイブであるべきです。ちなみにバイブコーディング、つまりバイブの魅力は、最近本当に本物ですね。DHH、キーボードをハンマーのように打つのが大好きな男です。コーディングはバイブであるべきです。バイブコーディングの魅力、つまりプログラマーがもたれかかってAIでプロジェクト全体をプロンプトで進めていくスタイルですが、これは部分的に多くの開発環境が非常に不快な作業環境だという事実に基づいているように見えます。確かにその通りです。
私はそこには他にも何かがあると思います。タイピングしていて、あなたが地点Aにいて地点Bに行く必要がある時、そしてこれは完全に理解されている道のりです。疑問はありません。シンプルです。人々はこれをボイラープレートと呼ぶことが多いですが、まあボイラープレートかもしれませんが、それはあなたが取り組んでいるものに特有のものなのです。
でも要点は分かります。これが起こる時、私は少し憂鬱感があって、まあいいや、今は基本的な入力作業をする時間だ、ただそれだけだという感じになります。この経験をしたことがない人がいることは知っています。やるべきことを既に全て知っているという経験です。
この時点で単純にタイピングするだけでいいのです。でもしばらくプログラミングをしてきた私たちの大部分にとって、これは非常に頻繁に起こります。そしてタイピング速度のようなものが実際にとても重要になってきます。なぜなら、欲しいものが既に正確に分かっている。今度は1,000行のコードをタイピングして完成させなければならないからです。
だからAIが実際に生産性を向上させる最大のチャンスを持つことがなぜ魅力的なのか理解できます。それをやればずっとずっと速く進めることができます。私のタイピング速度は?えーと、普通はVimで猿のようにタイピングしてちょうど100から120くらいです。150に近いと思います。優れた自動補完などを考慮すればという感じです。
うーん、だから扱いにくい言語やフレームワークで作業している全てのプログラマーが、ソフトウェア開発のコーディング部分を手放すことを待ちきれないのも当然です。コードを書くことを雑用だと感じていました。私も引退を探しているでしょう。ここには私が今まで考えたことがなかった洞察があります。それは、ある集団の人々がいることを忘れがちだということです。これは明らかに私が自分のエコーチェンバーの中で生きていて、自分の供給品で酔っているということです。
人々は時々これを自分のおならを嗅ぐと呼びます。私はその表現があまり好きではありません。実際にそこに入るのは難しすぎる感じがするんです。今まで言った中で最もばかげたことでした。私は世界をプログラミングは楽しいものとして見ています。だから、なぜその部分を手放したいと思うでしょうか?そして本当にプログラミングが好きでないなら、自分でやることが少なくなることの魅力をより理解できます。
でも私は違います。つまり、プログラミングを始めた時は純粋にプログラムが欲しかったからです。ちなみに、素晴らしい動機です。これは大丈夫です。みんながいつも聞くのは、今日でも何人の人が「何を作るべきか」と2つ3つ4つ5つと聞きます。それがあなたの答えです。何を作るか?どんなプログラムが欲しいか?そのプログラムを作るのです。実際にそれほど単純なことです。コーディングを学ぶことは必要でしたが、システムを生き生きとさせるための不便なステップでした。それが全て変わったのは、私がRubyを学んでRailsを構築した時でした。
Rubyの前提全体がプログラミングの幸福です。コードを書くことは喜びであるべきだと。歴史的に、この言語は前述のプログラミングの幸福を追求するために、実行時パフォーマンス、メモリ使用量、その他のマシンへの配慮をトレードオフすることを厭いませんでした。最近では、ケーキを食べて持つこともできるようです。
30年間の絶え間ない改善の後、Rubyは今では信じられないほど高速で効率的になったにもかかわらず、作業する喜びを保っています。確かにずっと速くなりました。それは認めます。以前よりもずっとずっと速いです。JavaScriptがパフォーマンスを大幅に向上させたのと同じように。RubyのパフォーマンスをGoと比較してみてください。
つまり、比較にならないですよね?そういうことをする時、最もシンプルなことから実際に真の仕事をするものまで、確実に違いが分かります。でも私はこれを言いますし、人々はよく忘れがちですが、Ruby on RailsとGolangのようなもののベンチマークを比較する時、しばしばこんな風に見えます。このリクエスト毎秒は25k リクエスト毎秒のようで、こちらは150k 明らかにgoはもっとずっと良いです。
忘れがちなのは、彼らが送っているのは文字通りhello worldのJSONブロブだけだということです。実際には何も送っていません。実際に何も作業していません。テンプレートを構築していません。何もしていません。ただ愚かな言葉を言って、おそらくあまり意味のない愚かな例を与えているだけです。
だから実際にそれに関して言えば、実際に真の製品を構築している時、goはずっと上から始まります。+Yが巨大ですが、機能を追加するにつれて、どんどん低くなっていきます。Rubyではずっと低いところから始まりますが、プログラムの複雑さが大きくなるにつれて、その差は小さくなっていきます。人々はこの線が存在することを忘れています。まあ、その通りです。
サービスとしてhello worldを書いているなら、友よ、腰を据えてrustでいこう。なぜなら毎秒200,000リクエストが必要だからです。でも興味深いものを構築しているなら、その数字はずっと下がります。ずっとずっとずっとずっと下がります。だからそれはあまり重要ではなくなります。
この時点では、まあ、Ruby on Railsの2倍の速度かもしれませんが、マシンあたり1Kリクエスト対2Kリクエストの違いのようなものです。そして顧客がいないという事実は、実際にはリクエスト毎秒に影響しません。いいか、兄弟。顧客すらいない君が、なぜそんな判断をしているんだ?聞いて、その精神は今これ以上ないほど明るく輝いています。
厳しい愛情です。厳しい愛情だと知っています。なぜマイクロサービスをやっているんですか?なぜ?正直、人々が愚かなことをやめるべき理由はたくさんあります。始める時、誰かがプロジェクトを構築して、サービスとしての認証のようなものを使用する時。彼らは何でも使用できるものを使います。
S3やExcelスプレッドシートに全てを保存して、何とかやり遂げます。Levels.FYIを覚えていますか?1億ドルの企業です。彼らは文字通りGoogleスプレッドシートにデータを保存して1億に到達しました。実際に超スマートでなくても、かなり遠くまで行くことができます。最も完璧な方法で正しい製品を構築するよりも、何かをすることの方が良いのです。
私は今ここで作っているこの小さなゲーム、ここで作っているゲームについて考えています。このゲームを最初に構築した時、プレイできるところまで行って、私たちの基本的な仮定が実際に本当に悪い仮定だったことに気づきました。実際にゲームとうまく機能しませんでした。
それらはゲームを超つまらなくしました。だから、私たちがハックして、プレイできるところまでゴミのコードベースとゴミのUIを作ったことをとても嬉しく思いました。私たちのアプローチにたくさんの問題があることを認識するために。再考して違うものにしましょう。だからスピードは非常に重要なことが多いのです。なぜなら製品がどれほど素晴らしいかを本当に想像することはできないからです。手に取るまでは。
そして、私はそれがプログラミングの巨大で素晴らしい部分だと思います。時々、ただそれを作らなければならないのです。それだけです。不満を抱いたプログラマーは、厄介な構文、大量のボイラープレート、エコシステムのハイパーチャーンからの脱出が可能だということをついに認識しました。それがAIの魅力です。その全ての不快さを隠してくれるだけです。
それは清掃です。それは単にベッドの下に散らかったものを押し込んで部屋を掃除するようなものです。それは問題を消し去りません。それも良い指摘です。彼は全く正しいです。AIがボイラープレートを書いても、コードを読まなければならない時にボイラープレートが消えるわけではありません。すごい、何て素晴らしい指摘でしょう。
ちなみに、DHH、まだコードを読まなければなりません。私は彼が主張していることは、Rubyではメタプログラミングができるということだと思います。だからメタプログラミングを使えば、文字通りボイラープレートを消すことができます。まあ、デバッグが難しくなることはありますが、多くのことを消すことができます。
でもボイラープレートを単純に生産するだけなら、まだボイラープレートを読まなければなりません。そのボイラープレートにどれだけのバグが存在するか知っていますか?ボイラープレートコードと考えるものにバグを見つける頻度は狂気的です。モンキーパッチは罪ですが、素晴らしいです。確かに。確かに。モンキーパッチは罪ですが、それは素晴らしい罪です。
モンキーパッチは地獄への道ですが、とても楽しい道です。えー、やる時は本当に気持ちよく感じますが、何が起こったかを理解するのに3時間かかるバグがあって、その時は人生を憎みます。えー、でも本能は正しいです。プログラミングはバイブであるべきです。楽しいはずです。
ラインノイズが基本的なアイデアや決定を曖昧にしないように、英語に十分近く似ているべきです。コンピューターが好む厳格さを優先するのではなく、人間の読者に役立つ表現の豊かさを可能にするべきです。Rubyはそうです。ここでDHHと私はおそらく意見が合わないでしょうが、私はRubyにエキスパートになるまでやったことがありません。
だからもしかしたら、Rubyが素晴らしいかどうかについて違う考えを持つかもしれません。つまり、人々はTypeScriptを愛していますが、TypeScriptをうまく動作させるために人々がやる厄介なタイプのことを見たことがありますか?それは一部では深刻なお尻の痛みです。そしてそれは多くの人がこれらの巨大なものを置く責任です。人々はTypeScriptウィザードを雇って、あなたのコードベースに入り、これらの宣言的な狂気のファイルをファイルの後にファイルを作らせ、そして偽の言語で偽のタイプを持つために文字通り数秒のコンパイルがあります。それは戦争犯罪です。
でもそれは違う種類の戦争犯罪です。それは本当に素晴らしいエディター体験を与えてくれます。だからもしかしたらそこに何かがあるのかもしれません。分かりますよね?えー、コードを書くことを手放すことに興味がないことを考えると。それは私がAIに私の手から取り除いてもらいたい不快な部分ではありません。そして何のため?AIのカラスの殺人のためのプロジェクトマネージャーになるため?
素晴らしい。ネズミのいたずらですよね?ネズミのいたずらとカラスの殺人。とても私は覚えていませんが、この名前を忘れましたが、英国人がこんなにお高くとまっていたという事実が大好きです。彼らは王室にいてグループの動物をグループの動物として言及する方法がないと決めました。
代わりに、あれは何ですか?猫の集まり。それは雲です。それは猫の雲です。あれは何ですか?カラス?それは殺人です。えー、私のキャリアの大部分でマネージャーの梯子を上がるオプションがありましたが、Rubyを書くことが本当に好きなので、着実に拒否してきました。それは仕事の最も楽しい部分です。
共感できます。共感できます。えー、それはRubyを書く時にAIに役割がないということを意味しません。私は一日中LLMと会話し、コラボレーションし、APIを調べ、概念を明確にし、愚かな質問をしています。AIは素晴らしいペアプログラマーです。でもコードを駆動するキーボードを永続的に渡す前に引退しなければなりませんでした。すごい。
もう一度読み直します。AIは素晴らしいペアプログラマーです。でもコードを駆動するキーボードを永続的に渡す前に引退しなければなりませんでした。素晴らしい。私はこれが好きです。彼がRubyについて書いていて、私はRubyを学ぶ願望が全くないにもかかわらず、概念を愛することができます。そして私の一部は、人々がRubyやElixirについて話すのを聞くたびに、何かを見逃しているに違いないと思うのです。
本当にElixirに取り組み始める日が来るかもしれないと思います。TJがプログラムを書きました。私もプログラムを書きました。彼はElixirで書きました。私はGoで書きました。そして私たちはこれらのプログラムに対して2つの異なる用途を持っていますが、ほぼ同じものです。
そして私は座ってこう考えています。もしかしたら私のをelixirに変形させるかもしれません。もしかしたら私はelixir Andyになるかもしれません。分かりますよね?もしかしたらある日、コードを書きたいと思うことは、現代世界で交通手段として馬の世話をするような古風な概念になるかもしれません。趣味として行われますが、経済的価値はありません。確かに。これが起こりうる日があります。
これらの飽くなきトークン食いの知性と創造性をどこまで押し進めることができるのか、誰も知らないと思います。そして私は彼らの前進に賭けることはしませんが、プログラマーにとっての彼らの魅力の大部分がRubyが築かれた知恵にあることは明らかです。プログラミングは人間を好意的に扱い、お世辞を言うべきです。私は結論が好きです。
つまり、全ての言語の進化について本当に考えてみると、これがこれまでの目標でした。私たちは言語をより表現豊かで人間にとって意味的に理解しやすくしようとしています。つまり、ある時点ではただのマシンコードでした。あなたはパンチカードでものを叩いているだけでした。そして今、私たちは見ることができるものに移行しました。
だから、私は感情を理解しますし、それはおそらく正しい感情だと思います。Rubyが私向けかどうかはわかりませんが、もしかしたら私が見逃している方かもしれません。分かりますか?そんなことを考えたことがありますか?あなたには非常に多くの人がこの明確な境界を持っています。ここで、今すぐ試してみましょう。
ここの何人の人がRubyを絶対に使わないと思いますか?1をタイプしてください。これを見たいだけです。Okay。ここの何人の人がRubyを絶対に使わないと思いますか?1をタイプしてください。Okay、たくさんの1が来ました。そして私はあなたを責めません。RubyはJavaのようにかなり愚かな評判を持っています。Javaは本当に悪い評判を持っています。Okay、次の質問の準備はできていますか?これが次のフォローアップ質問です。
これはうまくいかないことがわかっていて、あなたの一部は嘘をつくでしょうが、私はただ興味があります。1をタイプした人の中で、Ruby on Railsの経験がある人はどれくらいいますか?私の推測では、あなたの大部分は持っていません。Ruby on Railsの経験がないが、それが嫌いなら、チャットで69をタイプしてください。まず、試したことがないものを嫌いになることはできます。
Okay?それができると言っているだけです。それは大丈夫です。みんなが作るジョークを言うつもりはありませんが、それができると言っているだけです。それは良いことです。でもあなたがチャットに聞いています、何を期待していましたか?I Well、いや。つまり、チャットのチャットはミッドレベル開発者のかなりまともな近似です。人々はこのチャットが千年代の集まりだとは思っていません。いくつかのジェネレーションXといくつかのジェネレーションZですが、主に千年代です。
だから、実際にそれはミッドレベル開発者の集まりです。そして私はミッドをかなりだめという意味で使っています。えー、また基礎。まあ。でも私はそこに興味深いことがあると思います。百匹の猿の実験を聞いたことがありますか?それはこんな感じになります。百匹の猿がいます。あなたはそのうちの一匹を人口から取り出します。
あなたは彼らに何らかのことを教えます。この実験はすでに偽であることが証明されていて、今でも私たちは皆それを言って真実だと主張していると確信しています。あなたは彼らにこれまで学んだことのない新しい活動を教えます。あなたはそれを人口に戻します。それから別の猿を取って、新しい活動を教えます。5匹目か6匹目の猿に着く頃には、彼らは活動を超速く学習できるか、すでにそれをどうやってやるかのアイデアを持っているようです。
だから時々Primeが試したことがないものを嫌いになることはできないと言いますが、Ruby on Railsは変な匂いがしすぎると思います。だから私の答えは69のままです。フェア。フェア。でも人口の一部で憎しみが発達していて、その憎しみは実際には実在しないかもしれないという現象があります。
分かりますよね?なぜ私はRubyが好きではないのでしょうか?本当のことを言うと。なぜ私はRubyが好きではないのでしょうか?これは人々の頭の中に存在する楽しいことで、あなたはしばしばそれについて考えません。既知の既知、未知の既知という句を聞いたことがありますか?待って、既知の既知、えー既知の未知、そして未知の未知がありますよね?でも実際にはこれの4番目があって、実際に私はそれらの分岐の最も重要なものと考えています。
それは未知の既知があることです。なぜあなたは何かが真実だと思うのでしょうか?なぜそう思うのかさえ知りません。ただそれが真実だと思っているだけで、なぜかわからないのです。実際に私はそれらの分岐の最も危険なものと考えています。なぜならそれが愚かなTwitterを愚かにするものだからです。
あなたはただ「ああ、そうだ、私はそれが嫌いだ」と言います。「ああ、私はそれが嫌いだ」を超えて一度も何も考えたことがありません。だから、とにかく、ただいくつかの考えです。もしかしたら私は座って、Rubyを本当の試行、本当に本当の試行を与えて、「Hey、Rubyは素晴らしいかそうでないか?」と言わなければならないでしょう。わかりません。
私の次の言語としてRubyかElixirかに本当になってきています。そして私はその2つのうちの1つを試してみます。本当の試行を。偽のお尻の試行ではなく。えー Elixirについていくつかの基本を読んだり、Elixirで少し遊んだりしたことがありますが、実際に本当に本当に素晴らしい試みを与えるようなことです。Elixirをやれ。そうですね、私はおそらくElixirをやることになると思います。ただより良い感じがするからです。
でも、とにかく、要点はわかります。Hey、コーディングはバイブであるべきです。分かりますよね?コーディングはバイブであるべきです。それはバイブなのです。名前はVibagenです。


コメント