(ヽ´ん`)「Rubyはオワコン。しかも開発者がネトウヨ」 [859233768]
■ このスレッドは過去ログ倉庫に格納されています
ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」
まつもとゆきひろ氏が考える、プログラミング言語の未来
https://logmi.jp/tech/articles/326541 インスタンス変数ばら撒きまくると
IDEがどこで生まれたのか分かんなくなるから嫌い
他人の書いたrubyコード読みたくないわ >>76
まぁまぁ変じゃね?
キリスト教、ではない >>75
なるほど
web系の中でも分野がある感じなんだろうな
ネトウヨなのはイカン >>82
就職は将来的に何を目指すかよく考えてね
いきなりブラックだったり保守すぎる現場はいると割と詰む
貯金があったり実家住まいなら半年くらい個人開発やるかスクール通うのもいいよ
フロントエンドの求人だと
React(Next.js/TypeScript)
バックエンドはAWS(Node.js or Python)
というのが多い 日本だと多いのはVueじゃないの
LaravelがVue組み込み推奨なのもある
Reactは本体はともかくアプリ用Nativeが可用性ダメで負債になってしまったな Goは流行ってるフェーズは終わったと思うけど仕事に困らん程度には広まった
ここ数年Goしか書いてないわ
昨今だとRust ageが目に付く割には全く仕事ないけどいずれ広まるのかね >>65
React.jsとかVue.jsで募集してるところはnode.jsだよ
今どきフロントエンドもバックエンドの知識必要だし逆もしかりだからWebエンジニアひとくくりで募集してるところ多いんじゃないかな? >>89
golangでどんな案件やってるの?
趣味では触るけど数年メンテするような仕事では使いづらい >>91 その手のフロントエンド技術はバックエンドと完全分離するのがベストだからnodejsとは限らない
そもそも規模大きめだとチームごと別だから言語が同じである必要もない phpもボチボチオワコンかな
LAMP(ドヤッていう時代でもないし >>92
普通にバックエンドのAPI書いてるよ
メンテに関してもGo本体は破壊的変更ないしライブラリはdependabot任せだし特に考えることないと思う プロは知らんけど、素人が使い捨てのスクリプト書くときは一番楽
Pythonさえ面倒な時がある 作者がネトウヨとかは別にどうでもいいが、Ruby はあくまで「より良いPerl」でしか無いんだよ
ちょっとしたスクリプトを書く分にはいいが、これで大規模開発なんて考えない方がいい
かつてそれをやってた会社もみんな痛い目を見て学んだんだろ サーバーサイドはもう何でもいいbffの後ろはgrpcだし
新規で開発するならnestjs が個人的に好き >>90
そっちか
「みなさんおなじみの」みたいな感じで出してきたけど、なじみ薄いな! ShopifyはWordPressのお店版的なサービスで導入例はグローバルでかなり多い
日本だと楽天とかモールが目立つのと採用してもデザイン独自化するから気づかないパターン Go 推してる奴が時々いるけど、なんであんなクソ言語中のクソ言語に我慢できるのか不思議だ。
言いたい事は幾らでもあるがその中での極め付けが「一般のユーザーにライブラリというものを書かせたくないから
意図的に generics を無くしました」ってやつ。言語の設計者本人が度々言っているように、Go というのは
「良いコードの書き方というものが解ってるのは俺らだけ。だから意図的に言語機能を弱めて作ったし、
お前ら低能IT土方は俺の考えた最強のコーディングスタイルにただ黙って下を向いて従っていれば良い」というのが
その設計思想のコアとなっている。そんな風に意図して不自由にされた道具をわざわざ使いたいと思う理由が無い。 一般のユーザーが作ったgemがコア部分の定義を上書きしてくるRuby Go は 2009 年に現れた新しい言語でありながら、その内容は「より良い C」の域を一歩も出ていないし
意図してそのように設計されている。Go は過去 30 年分のソフトウェアエンジニアリングにおける進歩を
全て無視して作られた言語であり、単に Google が開発しているというネームバリューだけで使われているに過ぎない。
とりわけひどいのがエラー処理だ。あれはエンジニアの指を腱鞘炎にするために注意深く設計されたのではないか。 広い心でrailsは許せてもCoffeeScriptテメーはダメだ >>93
フロントとバックをnodeで統一するかどうかの話じゃなく、今の時代フロントとバック両方できてAWSも使えるフルスタック気味の人がWebエンジニアとして求人されてるって話しだよ 死んだ子だと思われてたDartをflutterで立て直せたんだから、goだって立て直せるさ
知らんけど ShopifyはRustでRubyのjit作ったRubyガチ勢企業らしい >>70
並列処理を気軽に使いたいときには便利よな goを好きだというとムチャクチャ切れる奴らいるよな
ホント不思議 2009年にもなって「より良いC」だぞ。人を馬鹿にするのも好い加減にして貰いたい。
ANSI C から考えてもその後この分野でどれだけの発展があったと思っているのか。
SmallTalk 辺りから始まったオブジェクト指向の潮流があり、それが C++ に受継がれ
Java や C# に至り、一方では Lisp から始まった関数型言語が StandardML や OCaml を経て
Haskell に至り、そのエッセンスの一部が TypeScript の発生を促した。Rust は未だ発展途上の
言語ではあるが関数型言語の潮流を全面に受けながら C と C++ の後継となるべく野心的な模索を
続けている。オブジェクト指向の流れはまた Perl を基に Ruby を生み出し、Python にて安定的な
成功を見せながら JavaScript にも影響も与えている。このようにしてソフトウェアエンジニアリング
というものは互いに影響を与え合いながら、より良い言語を目指すべく、常に発展し続けている。
一方で Go はどうだ? golangで何十万行の大規模システムは作りたくないけど、マイクロサービスでWebAPIを量産するとような場面だと便利だな >>102
GOは継承が無いのが良い
オブジェクト指向は間違っていた
クラスは必要無いってのがプログラミングの結論だからな
reactも状態を管理するための関数を用意してクラスを排除してるし >>111
既に述べた通り、Go はその存在そのものがソフトウェア工学というものに対する直接的な侮辱だからだ。
それが侮辱を意図している事は、あのふざけた公式の言語ロゴからも明らかである。 >>111
GOの思想はオブジェクト指向の否定だからな
Javaとかしか使えないおじさんはキレるでしょ 静的型付け言語の流れが来てるのはいいことだと思うよ >>115
言語とフレームワークを混同してないか?
React のテーマというのはつまり UI = f(state) の事だろう
それを発見した React が偉大である事には異論は無いが
言語の設計とは無関係な話題だ。 クラスおじが不快になるのは分かるよ
reactもGOもクラスは不要だ、関数があればよいってなってるしな
JavaScript(TypeScript)とGOがその方向に向かっていてプログラミングも関数型、宣言的になってきてるからね
javaしか使えないオブジェクト指向おじさんはキレるでしょw >>117
それは違う。Go が否定するのはオブジェクト指向だけではない。
Go は大域脱出を否定し、型推論を否定し、たかがジェネリクスさえも否定する。
Go は全てを否定する。 ちなみにGoは1.18でジェネリクス入ったぞ
みたいに言うと俺が求めてるものと違うおじさん出てくると思うけど >>119
reactはフレームワークじゃないよw >>80
これシェアのランキングじゃないけど…
眼科行くか知能検査してもらった方がいいよ >>120
野党を腐すためにワタクシは優秀なエンジニアでごさいーとかやってたからな
もう終わりだよRubyおじw >>124
違うなら何だ?ライブラリか?
別にライブラリと呼んでもいいが、少なくとも言語ではないし
言語は JavaScript だろ。お前は余程オブジェクト指向に恨みがあるらしいが
JavaScript はプロトタイプ型オブジェクト指向の言語だぞ。
そのプロトタイプ型というのは失敗のアイディアだった為に
Lua に引継がれはしたものの、そこで消失しているが。 状態管理すんのうぜえ
これがオブジェクト指向の末路だったんだよな
もうクラスは不要なので状態を管理する関数があればよい
状態を持つオブジェクトは不要であるw >>127
ライブラリと呼んでいることもあるし、パッケージと呼んでいる場合もあるね
りあくとをフレームワークと呼んだらバカ認定されるからやめた方がよいよw 状態からUIを生成する、副作用を持たないレンダリング関数
状態から状態を生成する、副作用を持たない状態遷移関数
さっきも言ったが、こういった考え方が偉大な発見である事に俺は一つも異論を挟むつもりは無い
そもそも React のベースである reactive programming という考え方は
元々は Haskell で生まれて Haskell 上で研究されたアイディアだからな?
そうやってエンジニアリングというのは、研究があり、実験があり、それを踏まえた上で
次に進んで行こうという風に発展しているものなんだよ。
一方 Go がやっているのはそれら全ての否定だよ。俺が Go を嫌悪するのはそれが理由だ。 海外だとreactをframeworkに分類してるドキュメントもあるみたいね
この辺は境界が曖昧だから goはクラウドのマネージドサービスを活用して最短でローンチして売れなきゃ即サービス終了のコンテンツ使い捨て時代の言語だからな
そんな時代にコードの再利用とか将来の拡張とかを考えて丁寧にオブジェクト設計しても大抵無駄に終わるから、リリース後1年間ぐらい保守に困らない程度の書き殴りコードで十分って考えなんよ GoとRustは他言語と異なり以下の点で同じ方針
・classも継承も無くした
・例外(try-throw-catch等)も無くした
ただしその代わりの方針がGoとRustで真逆なところが興味深い
・Goはそんなものなくても地道にコツコツと書く
・Rustはclassと直交するような概念のtrait導入でクラスより便利に、代数的データ型Option/Resultと?オペレータ導入で例外より便利に 結局コーディングの快適さだよ
JS/TSは単純に書きやすい、クラスも明瞭だし この際だから PureScript の上の Halogen にも言及しておこうか。
React はその発想がとても先進的だし、先進的なアイディアを JavaScript 上に実装することで
人々が使い易いものを作ることに成功した。その一方で言語が JavaScript であることの欠点、
つまり頑張っても TypeScript 程度の型安全性しか得られないところに限界がある。
Halogen はその欠点を克服するものとして登場した。言語が PureScript であるから
その型推論の強さは数々の AltJS の中でもトップクラスだ。しかし PureScript の生成する
JS のコードが現状あまり効率の良いものとは御世辞にも言えず、今後の伸びしろに期待される。 >>133
その通りだ。ただ Rust の trait はその実装をミスったと思う。
fat pointer は悪いアイディアだった。素直に dictionary passing をするべきだった。
fat pointer にしたせいで、trait のメソッドを一つでも generic にした途端に
それが trait object を作れる資格を失うという結果になってしまった。
これはあくまでコンパイラの実装上の問題であるから、今後この問題が解決されることを願う。 >>130
人間がみんな賢ければそれでいいと思うよ
でもGoはバカでも書けるんだわ Matzって昔はリベラルだったけど島根の政治家と付き合ってるうちに保守オヤジ化したみたいだな
静的型付け+型推論という新しい技術を頑なに否定し続けるから若いプログラマから相手にされなくなった >>136
Rustのtraitをジェネリックの指定として使用した場合、
コンパイル時に各実型毎にコード生成して実行時コストゼロにするモノモーフィゼーションでの静的解決と、
実行時に各実型毎に呼び出すメソッド関数の実体を変える動的解決の、
2種類が現状のRustにあるわけだけど、
その後者の動的解決の時のメソッド関数テーブルを静的インデックスで持つ現状のfat pointer形式に加えて、
動的解決の2種類目として更に遅くなるが自由度を上げる辞書引き方式を加えよう!という提案? 結局はJavaScriptとPythonできたらええんやろ?海外でもこの2つの案件は多いらしいし >>141
いや、fat pointer を辞書渡しで置き換えるべきではないか?という意見。
更に遅くなるというのはぶっちゃけ良くわからない。結局それはコンパイル時に
サイズも各メソッドへのオフセットも確定している構造体から関数の実体を参照するだけなのだから
fat pointer をやめたからといって別に遅くはならないように思える。 >>116
まあそうだよね
自分が一生懸命覚えた概念を全部なくしても言語として使えるしスケールもするってことを証明しちゃったのが腹が立つんだよな
ちなみに事実誤認が多いから公式文書ちゃんと読んだほうが良いぜ >>130
KISSの原則って知ってるか?
簡単にしておけ、バカがw
人類は賢くなく、バカが大半だから機能も増やすよりも減らす方が正しい
これがGOの思想なんだよ
俺は頭が良いんだ!とかほざいてる奴は大抵チームを破壊するからな
何にも面白くないぞ ちなみに「バカ」ってのはサンスクリット語を語源としている仏教由来の単語だからな
仏教哲学の本質とプログラミングの本質的が抽象化であって具体化の逆であることは興味深いなw >>144
そりゃスケールはするだろ
あれだけ低レベルな言語なのにスケールしなかったらコンパイラの実装がおかしいわ
使えるかどうかで言うならそりゃ使えるよ。その論法で言うなら C だって使える言語だよ
俺が言ってるのはそういう事じゃなくて、言語として使い易くしようという気概がまるで見られず
無駄に冗長なコードを読ませて眼精疲労を引き起こし、無駄に冗長なコードを書かせて
腱鞘炎を引き起こすことに対して何の躊躇いも無いところが不愉快なんだわ まぁプログラミングは彫刻に似ている
仏教の哲学の本質も付け加えるの逆で削っていくことだから
彫刻は削っていくことで本質を抉り出す作業だ
その逆ではないw >>145
知ってるよ。Go がそのつもりで作られたものである事は良く知っている
俺はまさにその思想が気に入らないと言っている。お前が Go のファンだってんなら
そりゃ悪く言って済まないね。俺の発言に気を悪くもするだろうな
だが、それは謝るが、だからといって Go を好きになる事は無いね スケールするための条件はシンプルに保っていることだからな
副作用を持たないようにするためにはそれが関数であることが必要条件になる
状態を持って複雑になるオブジェクト指向じゃないよw 俺は彫刻と美術が好きだ
維新の会とかいう馬鹿の集団が三角関数を憎悪して愚民の人気を取ろうとしてるみたいだが
関数を憎悪する人間が増えるとプログラミングを理解できないバカが増える
その逆は無いw この業界って使う道具がどんどん変わっていくからすごいよな
よくついていけるもんだ >>150
もしかしたら何か勘違いをされてるかも知れないんだが、
俺はオブジェクト指向はどちらかと言えば嫌いな方だし
高級言語の分野では現時点で Haskell が最良の言語だと思っている
Haskell がどういう言語なのかは勿論知ってるよな? バカは機能を追加しようとするからな
天才はその逆では機能を削る
これは彫刻の美術と似ている
シンプルに保てよ、バカがw >>147
そんな言語他にもありそうなのにgoだけ何レスも連ねて叩きたくなる心理を自己分析してほしいな
言語仕様だけ見てるっぽいがgoのツールチェーン全体を見ると使いやすくする工夫はたくさんあるしCSの成果も活用してるんだわ >>155
ツールチェインがマシになりつつあるのは認めよう
あれだけひどかったモジュール周りがここ数年で改善されていることは特に認めよう
だが、ツールチェインだけでは言語仕様のひどさを覆い隠せるものではない ちなみに、そんな言語はもちろん他にもあるよ。
Kotlin がそうだ。「Javaより良い言語」を目指した Scala に対して
「より良いJava」を目指したのが Kotlin だ。志が低い。 機能を削ると「俺をバカにしてるのか!」とか言ってキレてくるバカが必ずしも出てくる
彫刻は石から本質を彫り出す作業であり芸術だが、バカは機能を削ることに反発する
だがモデルビルディングとは不要なものを捨て去り抽象化していく過程であって、その逆ではない
これは学問の本質だよw >>14
やる意味薄いし普及させるのが難しいからみんなやらないだけで
正直プログラミング言語作るのは簡単な部類
俺もゲーム開発向けにオリジナル言語作った事あるけど
KotlinやSwiftレベルのモダンな機能モリモリ導入した仕様でも一ヶ月かからず出来たよ >>158
それはそれで一つの思想だが、そこにはある一つの前提があるよな。
その前提とは「何が不要な機能で、何が必要な機能かを適切に判断できるのは
設計者である俺だけだ。だからその取捨選択をユーザーコミュニティに委ねるつもりは一切ない。
お前らは俺が決めたことにただ従えばいいだけ」というものだよな。
人をバカにしてるというのはそういう態度の事だよ。Go はそれをやっている。だから嫌いだね イカした言語を使ってるときは、言語を使いこなすために頭を使ってる時間が多いんだよな
Goは脳死で書けるんだわ あとGoの機能は結構オープンに議論されてるぞ
ジェネリクスなんかはそれで後から増えたしな >>162
初期の頃と違い、最近になってGoがそういう方向に行こうとしてるのは知ってるし
もちろんその事は歓迎する 一瞬流行ったような気がするけど
世の中は結局Javaに戻ってきたよな
俺はWEB系はもうやりたくない 俺は頭が良いんだよ!とか言ってマウントとってくるバカはどの世界でも嫌われるからな
それをやったのがRuby作者のまつもとゆきひろw
「野党は私みたいな優秀な技術者を嫌うのか!残念だ…」とか言って野党を腐して不特定多数のエンジニアにマウントを取っちゃったから
「は?なんだこいつ」「うぜえ」みたいになってエンジニア界隈から嫌われた
言語の生みの親がRubyコミュニティを破壊したのは笑ったよなw railsが今や足を引っ張ってるよな
小中規模でなんとなく作るか程度ならいいが、スケール性や中長期の拡張やメンテ性は頭を悩ますだろ ちなみにまつもとみたいに俺は優秀とか言ってくるバカのことをブリリアントジャークと言います
こういやつのそばで働いてる人間は必ず不幸になりますw HomebrewかVagrantくらいでしかお目にかからないな shellというランタイムがそこら中にあるというだけで使われているゴミを良くしてくれよ
cristalっつーrubyと同じシンタクスの言語が全く見向きもされないっつー事は
何か致命的な欠陥があるんだろうよ
だがそれでもshellよりかはマシ バージョンアップする度にプログラムが動かなくなるゴミ
Githubで1年も更新が止まってるrubyのプログラムなんて動いた試しがない
後方互換性の概念がないのかよ >>165
日本のエンジニア界隈は野党嫌い多いから大絶賛だったぞ 日本のエンジニアってほんとネトウヨ多いよな 何でだ
perlエンジニアの小飼弾みたいな例外もいるけど >>173
自分は頭が良いと勘違いしてるクソ野郎はネトウヨに近づいて行くからな
その逆は無いw
Googleはまつもとみたいなクソ野郎エンジニアを警戒して心理的安全性という概念を確立したからな >>173
日本のネット空間がネトウヨ的だったからだと思う ■ このスレッドは過去ログ倉庫に格納されています