generated at
たかがRuby頑張れないやつがソフトウェア開発頑張れるハズないだろう
>私が理解している限り、「良いソフトウェア」を開発するためには「小さいチーム」と「優秀な開発者」が最重要で、それらの欠如をIDEやら静的型言語やらで埋めることはできるというのは幻想。動的型言語は最初からそんな幻想を提供しない
>いまのRuby(動的型言語) vs Typescript(静的型言語)みたいな構図を見ていると、私がプログラミングをやり始めた15年くらい前はJava(静的型言語) vs Ruby(動的型言語)みたいな構図だったことを思い出して、なんだか愉快な気持ちになってきた
>「優秀な開発者」であれば、当然、自分の給料を稼いでくれているコードの全体像が頭の中に入っていて、IDEや静的型定義の支援なんかなくても、コードの定義や参照に脳内でジャンプできますよね。私はできませんけど
>TypeScriptからWeb開発に入門した人が「型天狗」になってるの結構厳しいものがある。型のおかげで下駄を履いてなんとかWeb開発できているだけなのに、それを自分の本来の能力と勘違いしている。
>一回くらい各言語の socket を使ってHTTPサーバーを自分で実装してみてほしいんだよな。いかにWebが型なんかなくて曖昧で雑なものか思い知れるから。その経験をスキップしていきなり静的型言語の世界に到達してヘイトを撒き散らかすのは、勘弁してほしいなりねぇ。おぉ、なんと老害っぽい発言!
>Next.jsTailwind CSSTypeScriptも、初心者の開発体験を最も重要視していて、長期的な拡張可能性や運用の安定性は軽視している。それによって「この方法こそが最高なんだ!」と信じ込む「woke」を生み出しまくってるんだよな。それはまさにJava vs Rubyの再来のような構図ですねぇ



yuisekiは、必要があればjavaでもcでもcppでもアセンブラ言語でも、なんでも書く、という覚悟を持っている
詳細はプロのプログラマを参照
>あらゆる プラットフォーム / プログラミング言語 / フレームワーク / データベース の、開発環境/実行環境を、調べて構築して維持できる
>デバッガプロファイラを使ってプログラムの実行時の挙動を詳しく調査し問題点を特定、修正できる
>自分の書いたプログラム要求通り確実に正しく動くことをソフトウェアテストによって客観的に再現性を持って証明できる
Svelteのこと全然知らないけどSvelteのOSSプロジェクトにもPull Requestを送ってマージされている
Vue.jsのこともよくわからんけどOSSにPull Request送りまくってる
Python機械学習のプロジェクトについてとか、なんの自信もないけど、Pull Requestを送ってマージされている
cppのOSSプロジェクトにも、Pull Requestを送ってマージされている
私はこの数行の変更のためにcppを勉強してtilemakerリポジトリのソースコードをちゃんと解読した
なぜなら、tilemakerが価値のあるソフトウェアだと信じていて、絶対にこの問題を修正したかったから
別に仕事で使うことはないけど個人的にPostgreSQLPostGISPythonの環境を構築して維持している
別に仕事で使うことはないけどRustHTTPサーバーを実装してみたりしている
全然意味わかってないけどRustWasmを通じてライフゲームを開発してみたりしている
全然意味わかってないけどLinuxカーネルをビルドしたりアセンブラ言語でOSを作ってみたりしている
全然意味わかってないけどシェルスクリプトRaspberry Pi用のLinux OSイメージを生成するプロジェクトもある



ところで、cppは、Rubyよりも遥かに複雑怪奇
あなたは、現実のcppのソフトウェア開発プロジェクトに触れたことはありますか?
すごいですよ!!
RubyもTypeScriptもオモチャのようなものだと思えますよ
私にとっては、なんかもう常識を超えた複雑さに感じる
だけど、私は、その複雑さも受け入れられる



なぜなら、実際のところ、真に優れたソフトウェア開発プロジェクトの多くは、cppを基盤としているから。例:



cppと同じくらい優れたプログラミング言語として、c言語のソフトウェア開発プロジェクトを紹介できます。例:
自作キーボードでお世話になるやつですね!



もちろん、Javaでも優れたソフトウェア開発プロジェクトがたくさんあります。例:



事実:Rubyよりも遥かに複雑なプログラミング言語と、それらに基づいたソフトウェア開発プロジェクトが、現実世界には存在する



世界の複雑さに耐えることは、ソフトウェア開発者にとって、非常に重要
ソフトウェアは、開発者が認識し記述できるだけの世界の複雑さのみを反映して、複雑になっていく
世界の複雑さに耐えられない人は、単純な世界観に固執し、単純なソフトウェアしか作れない
世界の複雑さに耐えられない人が開発したソフトウェアは、世界の複雑さを適切に反映した複雑さにはならない



私の伝えたい結論
世界はこんなにも複雑なのに、たかがRubyで音を上げている場合か?
プロのプログラマとして人類文明に貢献するなら、Rubyはオモチャのように読み書きできて、cやcppを書けなければならない
その覚悟が無いんだったら、プロのプログラマを名乗らないほうが良い
特定のプログラミング言語にネガティブな感情を持つということは、自分の可能性を殺しているので、やめたほうがいい