次世代言語24 Go Nim Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/03/22(火) 03:23:41.60ID:ZDHdo9X7
スレタイ以外の言語もok

前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/
2022/04/10(日) 01:24:17.90ID:7I8wnXlj
Rustのプログラミング開発効率の良さには感動した
めっちゃ便利やな
2022/04/10(日) 01:24:40.32ID:fmRbxCQk
あ、すまん、分かると思うが、772訂正。

× 1,000-10,000程度
○ 1,000-10,000行程度
2022/04/10(日) 01:35:56.55ID:o4uZiwRi
>>772
用語の使い方からも
間違った対比からも
知的レベルの低さが露呈している
そこは単純にモノリスvs.マイクロだけであってOOPやRESTは関係ない
2022/04/10(日) 01:51:37.37ID:lgnAhvFe
>>772
web系というかブラウザやらOSやらの低レイヤーで考えるべきかと
OSもマイクロカーネルにしたらバグ少なくなるのかね
2022/04/10(日) 01:55:17.11ID:G67EgXPk
Nimの話題ロクに出てこないね
自分は使ったことないけど、使ったことある人はどう?
他の言語との違いや特色教えてくれると嬉しい
2022/04/10(日) 01:55:40.00ID:fmRbxCQk
>>775
まあ揚げ足取りはどうぞご自由にだが、話は通じてるようだ。
それで、反論は出来ないのか?
だとすると、やはりRust信者は低脳だとしか思えない。
(議論する気があるのなら、そのレスでは駄目だし)

・巨大化したコードベースではどうしても見落としが発生するから、全部所有権を強制化してコンパイラでチェックする
という直接的な解決策をRustは採用しているが、
・そもそも巨大化しないようにひたすら分割し、見落としが発生しにくい規模に抑える
という、上位アーキテクチャでの解決策もあるのだよ。
これは「データ競合」の時も言ったろ。
そこに問題があれば、解決策もそれなりに用意されてる。(格好いいかはまた別だが)
それでは解決出来てない!不十分だ!と言うのなら、
どうにも取りきれなかったバグがRustによって取りきれ、結果的にキラーアプリ化するはずなのだが、
実際これがないだろ。
なら、これまでの地味な方法でも何とかなってたって事なんだよ。
2022/04/10(日) 02:03:42.86ID:fmRbxCQk
>>776
> OSもマイクロカーネルにしたらバグ少なくなるのかね
通説としてはそういう事になっている。(まあ知ってると思うが)

Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。
とはいえ速度重視ならモノリシックの方が上だし、
堅牢性重視ならマイクロカーネルってのは、技術的にも正しいと思う。

俺が言ってるのはもっと単純な話で、
機能が少なければ、実装に必要なコードも少なく済み、見落としも減る、という、至極当たり前の話。
だから「仕様を必要最低限に絞る事こそ最強」という話だね。
これもよく言われているとも思うけど。
だから、マイクロカーネルの方が仕様が小さいから実装コードも減り、結果的に「見落とし」のバグは減ると思うよ。
2022/04/10(日) 02:03:43.80ID:Yq6q8jid
Nim、vlang、Zig、Zenらへんはマイナーすぎてなんとも
D言語が使われなかったのと似たような理由で使われなさそう
2022/04/10(日) 02:04:15.32ID:UjiUu+PI
結論は変えるつもりがなくそこに至るまでの論理だけを手を代え品を代えひねり出し続ける
信者もそれに対する批判も不毛なんだ
2022/04/10(日) 02:06:36.51ID:NYexxOz5
>>778
アーキテクチャとアプリと言語は全て別問題なのに区別がつかずにごっちゃに話しているキチガイに見えます
2022/04/10(日) 02:21:42.17ID:UjiUu+PI
そんなことより次々世代言語にどういう特徴を持った言語が来るか予想しようぜ
2022/04/10(日) 02:34:28.97ID:NYexxOz5
>>780
IT大手各社が珍しく揃って支援&採用しているRustだけが最近のプログラミング言語の中で長期に残りそう

>>783
Rustを置き換えるような次々世代言語は
Rustが備えるC言語並の速さ省メモリと安全性を押さえた上で異なるアプローチとなるだろうけど
Rust関係の論文が多い状況からすると理論的な裏付けが先行研究としてあるものの中から出てくるのかな
2022/04/10(日) 08:39:07.48ID:K0blu0OJ
C2とATS2のことも忘れないであげてください!
2022/04/10(日) 09:17:53.01ID:fmRbxCQk
>>782
それはRust信者はプログラマではないからだな。

プログラマは全レイヤで最適化を模索する事が出来る。(本来は)
例えばだいぶ前にスマホ見てて踏切の内側と外側を間違えて死んで話題になってたが、これについて

・現場(踏切の改善):踏切内の障害物検知器の精度を上げ、人が間違って立ち止まってる場合も検出し、電車を緊急停止させる(Rust)
もありだが、
・運用(経路選択):そもそも踏切を通らない経路を選択する。歩道橋があればそれを使う。
・運用(マナー):歩きスマホ禁止。イヤホンも爆音にはせず、周りの人の声も聞こえる程度にしておけば気づけたかも?
・運用(ポリシー):外でボーっとしない。事故に巻き込まれる確率は0ではないのだから、常にある程度は周りに気を付ける
・アーキテクチャ:高架化して踏み切り自体を無くす(C#)

アーキテクチャ面での対策が根本対策になるが、現実的には運用での回避になってる。
大人の場合はマナー/ポリシーで回避し、
これを期待出来ない小学生には、通学路なら歩道橋を設置して、経路選択での対策が為されてる。

「データ競合」も同様に、

・現場(チェッカ):所有権を厳密に管理し、コンパイラでチェック(Rust)
もありだが、
・運用:難しい事はしない。競合する可能性のある場所は限定的にして、見ればバグに気づける程度にする
・アーキテクチャ:スレッド構成上、そもそも競合が発生し得ない(C#)

で、アーキテクチャでの対策が根本対策だが話が大がかりになり面倒になるので、
大体は運用で対策され、でも何とかなってるというのが実態だ。
通常は言語選択はアーキテクチャよりさらに上のレイヤか、そもそも独立した軸なので、
言語比較で一番下のレイヤ(現場)での改善のみに限定するのが間違ってる。
そして重要なのは、既存の言語でも根本対策はやる気になればすぐに出来るんだよ。多少面倒なだけで。
だから信者の言う「Rustでなければ無理だった」というアプリが存在せず、キラーアプリも出てこないわけ。

Rustは「一方ロシアは鉛筆を使った」の米国側を突き進もうとしてる。これもありだが、ロシア側もありなだけの話。
2022/04/10(日) 09:21:12.35ID:n6k1Ijhp
この人は無駄で無意味な間違った例え話を延々と繰り返し妄想の世界に住んでいる
2022/04/10(日) 09:21:25.28ID:sR7YmRYu
Scalaの方がKotlinより機能豊富だけどWeb系では落ち目になったね
Scalaの方が好きだが
2022/04/10(日) 09:26:20.41ID:BLmvSJJ5
>>788
Scalaは結構好きで長く使っていたけど
使っているとどうしてもJVMが見えてしまう部分があって
Rustに乗り換えちゃったな
2022/04/10(日) 09:29:58.47ID:93k1uAXl
rustaceanはある時期を境に爆発的に表に出てきてプログラミング界隈を圧倒する未来が見える
2022/04/10(日) 09:41:23.13ID:BLmvSJJ5
表に出るかなぁ?
OSやコンパイラ、ミドルウェアあたりに侵食して、気付かないうちに全員が依存してる、みたいな状況なら有り得そう
2022/04/10(日) 10:05:57.88ID:W8i2G4wq
scalaはコンパイルが困憊るほど遅すぎた
2022/04/10(日) 10:55:59.09ID:vR2aNwQM
>>779
>Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。
後付けというか経験知からの意見だろ。
Linusはそもそもが理論家なわけでもないし。
仕様を最初から小さく絞れるとか考えてる奴は全く的外れとしか言いようがない。
2022/04/10(日) 11:21:10.49ID:7HDkHX8h
Linux作り始めたときからタネンバウムと論争しているのに理論家じゃないとか後付けとか
2022/04/10(日) 11:26:19.70ID:nRSUY8iy
一部だけ小さくしてバグ減っても意味ないよ。
部分的な最適化はシステム全体の最適化の視点では上手く機能するわけではないからね。
一つ前のFreeBSDで話題になって詳しい人が説明してくれてた。
https://mevius.5ch.net/test/read.cgi/unix/1630061644/794
2022/04/10(日) 11:41:39.32ID:vR2aNwQM
>>794
だからLinusはタネンバウムみたいな理論家を嫌ってんだろ。議論の中身理解してないのか?
2022/04/10(日) 12:14:41.45ID:N1Kz0CTA
>>783
C言語より10倍速い言語が現われて界隈歓喜
2022/04/10(日) 12:18:37.19ID:W8i2G4wq
>>783
Googleに頼めば全て完成する
2022/04/10(日) 12:31:07.74ID:2AahvlRa
次世代はシンプルな言語仕様+強力な静的チェックだと思う
Rustみたいに事前の宣言でガチガチに縛るんじゃなく、型推論やフロー解析を積極的に利用して利用のされ方に基づいた型チェックや生存期間のチェックを行う
まあこのままいくとJavaScript+VSCodeがそれになるかもしれないが
2022/04/10(日) 12:46:03.55ID:fBzqkVFD
>>799
ことweb界隈で使われる言語に関しては前半同意

サービス独自の機能をスピーディーに開発することが求められるweb界隈において、プログラマ自身が考えないといけないことが多くなるrustはまず普及しない
2022/04/10(日) 12:55:32.64ID:fmRbxCQk
>>793
運用していくうちに追加追加で仕様が段々膨らんでいくのはある程度仕方ないとして、
それでも更新タイミングで不要な仕様を出来るだけ削除して仕様を絞るのは基本中の基本だろ。
マイクロカーネルもある意味これで、「カーネルがやるしかない事しかやらない」という、最小仕様を目指したものだ。

プログラミングに於いて小さい仕様を目指すのは大正義だし、みんなそうしてる。
(出来てるかはまた別。特にJava分野。
対してWebの場合はこの辺切り捨てるしサービス終了もありありなので、
反発はあるかもしれないが、仕様が雪だるま式に膨らんでる事はない。
俺はこの辺、Java流の「どんなに大きくなっても何とかしてみせる」ではなく、
Web流の「定期的に棚卸しで削除」の方が長期的には正しいのではないかと思いつつある、という事)



>>794
Linusは当初から分かっててモノリシックを選択したのはいい。
当時の速度的にそれが妥当だったのも分かる。

ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。
今でもモノリシックの利点を説いているのは、後付のように思える。
2022/04/10(日) 13:03:29.70ID:WQm20ac3
>>794
「俺は後付だと思う」って予防線貼ってるし、そこまで知らなかったんだよ、きっと
許してあげて
2022/04/10(日) 13:10:21.13ID:BLmvSJJ5
>>799
Rustのように型が強力でコンパイル時チェックの細かいGC言語ってのが現状ないから
そこは新言語の余地がある気がしている
JSだとどうしても型はガバガバにならざるを得ないからなぁ
2022/04/10(日) 13:17:50.89ID:blp15KeH
言語には向き不向きがあるわけで
それを無視してRustがすべての言語を置き換えるみたいな話をしているのがおかしい
C/C++の置き換えは進むかもしれないけどwebやスマホやPCアプリとかでは採用されないでしょ
普通はどの言語が最適かをいろいろ検討して決めます

なんか通販の広告みたいなんだよね
良いことしか言わないし
大手IT企業が採用ってのは通販広告の有名人も愛用!みたいな感じ
コンピュータ関係の新技術の売り文句は100%そうだった試しはないので話半分で聞いていた方がよいと思う
2022/04/10(日) 13:30:51.71ID:fBzqkVFD
>>804
ほんまこれ
このスレの一部のRust信者がRustこそ至高みたいなノリだけど、このノリについていけないRust推し結構いると思う
2022/04/10(日) 13:55:42.06ID:UjiUu+PI
いつでも最初から型が要るのは足枷というのは確かに思うわ
そうなると漸進的型付けってやつかねえ
TS以外のaltJSは死んだとかだれかが言っていたが、Haxeの再興もあるか?
2022/04/10(日) 14:04:03.83ID:WXrh5iWM
>>805
というよりRustは好きだけど別に推してはないという
誰も使わなくていいよ
俺と一部のお前らが使うだけでいい
みんなに使ってもらう必要なんて一切ない
2022/04/10(日) 14:14:16.90ID:lifo30Qd
>>807
そう思ってるなら言わなきゃ良いんじゃないですか?そういう他の言語を使ってる人を小馬鹿にした態度がRust推しそのものでしょ、しかも良い印象は全く受けない
2022/04/10(日) 14:16:40.89ID:WXrh5iWM
アンタにレスしてないから気にしないでね
人を小馬鹿になんかしてないし
Rust以外の言語も好きだし
そもそもどの言語も馬鹿にしたりしない
2022/04/10(日) 14:23:28.49ID:sejldIDY
こういう屈折した性格の勘違い野郎ばっかで本当に近づきたくない。扱いにくいのに能力なんてないし言語触ってれば最先端だと勘違いしてる、とんでもねえバカ
2022/04/10(日) 14:40:08.25ID:9taU8UGO
RustはMozillaのステマでfirefoxのRust導入は
不可能と叩きが暴れてた頃が懐かしいなあ〜
2022/04/10(日) 14:57:34.06ID:fmRbxCQk
>>810
まあ勘違い馬鹿は必ず存在するのである程度致し方ない。
連中は基本的に「難しい言語使ってる僕すごい」であり、
プログラミング言語の優劣を自己で判断する能力はないので、
何か新しく「凄いけど難しい!!!」とされる言語が出てきたら勝手に移住する。
だから、対策としては、何でもいいから新しい言語を作って適当に吹聴する事だね。
そうすればRust界隈も浄化される。

なお一時期はC++の連中の選民思想が超絶にウザかったが、これが今はRustになってるだけ。
ならC++スレはどうなったかと思って見てみたら、完全にお馬鹿の溜まり場になってたわ…。
まあ○○言語を使ってれば賢いって事にはならないので、当然でもあるのだが。
2022/04/10(日) 15:13:47.07ID:nUqmGYW5
ちんちんシュッ!シュッ!シュッ!
2022/04/10(日) 15:18:10.17ID:LCNa54V5
完結に喋れない病気直ってないの?
2022/04/10(日) 15:22:51.62ID:fmRbxCQk
>>783
はっきり言えば、誰も「新言語」なんて必要としてないだろ。
欲しがってるのは、各自が気に入った言語での、
・バグを自動的に検出してくれるゴリゴリのリンター
・Cと同速で動く爆速環境
であって。

はっきり言ってRust信者の「Rustは書きやすい!!!」すら方便で、連中は
・リントが強く、データ競合が起きない
・寿命管理ががっちりしてるので、GCなくてもメモリリークが発生しにくい
事がRustの買いだと言ってるわけだが、
Rust信者すら、信者になる前に使ってた言語でこれらを満たす状況になってたら、そのままその言語を使い続けてるだろ。

寿命管理はGCが爆速なら(リアルタイム系以外は)誰も文句言わないのでこれで決まり。
データ競合バグは言う程問題でもないが、
これをどうしても避けたいのなら、JSのように基本シングルスレッドにしてしまえば根本解決する。
だからこの2点が必要とされてるのなら、JSの爆速環境があれば済む話。

JSにおいて速度の枷は動的型であり、だからこそTSでアノテートだが、JSに変換して実行してる現在では速度メリットはない。
だからV8(JSエンジン)がTSをそのまま食うようになれば、解決する。期待値としては多分現行の倍速程度にはなる。
あるいはBlazor(WebAsembly)がこれに近い状況。

ただし世界が望んでるのは、Python/RubyがとりあえずJS並に高速化する事だね。
ただ俺はPython/Ruby連中が高速化についてあまり真剣に取り組んでない(ように見える)のは意味が分からないのだが。
Matzも新言語作るんだーとか言ってたと思ったが、あんたがやるべきなのはRubyの高速化でしょうが、と。
2022/04/10(日) 15:22:54.24ID:WXrh5iWM
>>811
なんか最初の頃はMozillaの印象強かったよねえ
2022/04/10(日) 15:24:50.68ID:x8oklrTT
>>805
そもそも5ch以外で信者っぽい人見たことないけどな
リアルでもTwitterあたりでもみんな複数言語使ってる中の一つにRustもあるってだけ
2022/04/10(日) 15:33:46.76ID:lgnAhvFe
>>815
ruby3はruby2の3倍高速化というお題目でそれなりの成果を出した訳だけどそれでもまだまだ足りないと言うのね

スクリプト言語で高速化するためにはボトルネック箇所をCなりで置き換えるのが普通
JSはブラウザで動かさなければならないという制約上言語自体を高速化する必要があり
ブラウザベンダー大資本がつぎ込まれた結果高速化した
前提がかなり異なるから同じことがruby/pythonに起こることはないのではないか
2022/04/10(日) 15:56:47.79ID:fmRbxCQk
>>818
> ruby3はruby2の3倍高速化というお題目でそれなりの成果を出した訳だけど
それよく勘違いされてるが、
3倍になった『部分がある』だけで、全体が3倍になったわけではないよ。
(これは公式でもこう『追加』アナウンスされてたはず)

俺が思う割と正当な比較はこれだが、
> https://1.bp.blogspot.com/-rfuoTnmJM5Q/X41w-eFt9QI/AAAAAAAAJcc/nFNdlKqfs6sRKna-85JxpmzrAe1bw0tGQCLcBGAsYHQ/s0/3730357d-results-energy-time-and-memory-usage-screenshot-from-research-paper.png
> https://okuranagaimo.blogspot.com/2020/10/blog-post_19.html
「Pythonは100倍以上遅いぞ」なんて言われる事も多く、
C比だとJSで5-6、Python/Rubyは80-100程度だと思ってる。
だからまずはJS並にするだけで16倍程度は高速化するわけであり、CやCythonは嫌だ…な連中には十分だと思うんだよ。
Rubyも16倍のクライアントを捌けるようになれば鯖代も半分以下に出来るだろうし。
(そもそもコードが汚れるのは無理に速度チューニングしたコードにするからであり、
馬鹿みたいなコードでも速く動くのならコードも綺麗に保てるし)

> 前提がかなり異なるから同じことがruby/pythonに起こることはないのではないか
逆に言えば、金さえつぎ込めば改善出来るわけで、
改善項目とそれに要する金額をずらっと羅列して、クラファンで資金が付いたところから実行、
十分な結果で採り入れられたらそいつがその資金を給料として獲得、とかいう方式にすれば、
割とすぐにでも行けるんじゃないかと思うんだけどな。
2022/04/10(日) 15:58:01.34ID:UjiUu+PI
>>815
> JSにおいて速度の枷は動的型であり、だからこそTSでアノテートだが

違うよ
ブラウザがTSをそのまま食えるようにするというのは開発者側でトランスパイルする必要性を無くすだけで実行速度の改善を目的としたものではないよ
ていうかその方向性はasm.jsとかPNaClみたいな先駆者がいて彼らの現状の到達点がWASMという経緯があるよ
2022/04/10(日) 16:21:05.00ID:fmRbxCQk
>>820
> 実行速度の改善を目的としたものではないよ
それは知ってるが、JSの速度改善には型の固定(静的型)が必要だから、「『Any無しの』TSを食わせる」必要があるんだよ。
その前段階として「TSを食わせる」が必要なわけ。
(実際やろうとしてるかは知らん)

asm.jsはお世辞にもいいものとは思えない。
あれもJSエンジン内で型を固定出来てるわけではないし。(ただJITだとあれでも行けるのかな?)

PNaClは知らない。けど削除されちゃったよね。
ただwiki見る限りWebAssemblyでいいから削除、みたいな感じのようだが。

「Any無しのTSを食わせる」位ならBlazorでWebAssemblyしろってのはその通りだが。
だからWASIも方向性としては有ってて、最高に上手く行けばJVMを置き換える事になるかもしれんけど。
(Java言語そのものは死なず、JavaからWebAssemblyを吐くようになるだけだが)
2022/04/10(日) 16:49:31.19ID:UjiUu+PI
知らなかったくせに
2022/04/10(日) 16:53:31.25ID:QEMS6G9N
毎日Rust攻撃してる人、暇なんかな。
別の事に時間使えはいいのに、と他人事ながら思うよ。
2022/04/10(日) 16:57:09.68ID:7HDkHX8h
AssemblyScript や Static TypeScript の話をどこかで聞きかじったのが混ざってるんだと思う
2022/04/10(日) 17:16:31.79ID:ZtzjE5Lq
Ruby はJIT で、C コードをコンパイルするけど、
1万ぐらいコンパイルしても、Rails みたいにすべての関数が平均的に呼ばれるアプリでは、
1割ぐらいしか速くならない

行列・ベクトル演算みたいに、CPU セントリックな処理では速くなるから、
Python, Julia では、JITの効果は大きいかも

I/O を使わずに、少ない数値を何回も使って、組合せ演算するようなたぐい

YouTube で有名な、雑食系エンジニア・KENTA が言ってたけど、

Scala が滅んだのは、
食えないから、コミュニティーに居座る無職のベテが、新規を叩きまくるから。
食えない所には、変な香具師しか残らない

Scala, PHP は、KENTAがオワコン認定したから、一気に滅んだ

結局、Laravel, Django, Node.js などは、競争でRails に勝てなかったから。
だから、未経験者のキャリアパスは、Rails → Go だけと宣言した
2022/04/10(日) 17:19:51.97ID:kr0xp78k
>>794
ライナスは理論家じゃなくて実務家

ライナスはUNIXクローンが動かないと意味がないからとりあえずソースを書いて動かそう派で
タネンバウムは理論上マイクロカーネルが有利だからマイクロにしろと言って噛みついて来た理論家
2022/04/10(日) 17:37:12.48ID:ZtzjE5Lq
Blitz.js は、React 版・Ruby on Rails。
Cake PHP みたいなものか?

Type Script なら、Rubyよりも型安全だけど、
モデルが、RailsのActive Record よりも弱いらしい
2022/04/10(日) 17:53:45.64ID:lgnAhvFe
>>819
"それなりの成果" ってわざわざ書いた意図をくみ取って欲しかったな

クラファンとかアイディア出すのは良いんだけど
具体的にどういう課題があって改善したがってるのかが分かんないんだよね
Cで書いたモジュールと置き換えるのじゃだめなの?
2022/04/10(日) 18:07:58.32ID:b41tYEVR
定期的にKENTAさんを引用している人、もしリスナーさんだったらやめたほうが良いですよ?

分析は正しいかもしれないが、イメージを悪くして迷惑をかける可能性だってあるし、
本人が見ていないところに、荒らしにも見える行為はマナー上良くないですからね?
2022/04/10(日) 18:20:31.55ID:aoUYGCMa
Youtubeで有名な、とかいう主観に満ちた枕詞をつけてるあたり権威付けして威を借りようとでも思ってるんでしょ

たかがYouTuberに言語の勢いを減らせるほどの影響力ないでしょ
2022/04/10(日) 18:27:03.03ID:Yq6q8jid
YouTuberの名前を出されても中学生が書いてるのかなとしか思わんしマジでそんなやつどうでもいい
偉そうに技術を語るなら、超有名OSSプロダクトをいくつも作ってるとか、GAFAでアーキテクトをやってるとかぐらいの実績がほしい
832825
垢版 |
2022/04/10(日) 18:58:00.76ID:ZtzjE5Lq
KENTA の有料のRuby on Rails サロンは、日本6位の3千人。
日本1位は、キングコング西野の数万人

vue.js 日本ユーザーグループが、3千人

単独のフレームワークの有料サロンで3千人は、あり得ない!
世界的にも断トツじゃないか?

実際に、外人から驚嘆されている。
転職で未経験者が、こんなすごいポートフォリオを持ってくるのは、あり得ないって

これが日本人が発明した塾・予備校。虎の穴

でも、これほどすごくても、日本人の年収が先進国の1/3 なのも、あり得ないけどw
失われた30年。
財務省のせいで、世界中で唯一、GDP が伸びなかった国
2022/04/10(日) 19:10:26.93ID:TRRwI9qz
KENTAガイジNGしてないひとまだいたんだ
2022/04/10(日) 19:35:37.31ID:N5dTO4j8
>>821
GC対応は悲観的
様々な言語で効率化が異なる手法のGCのためにWebAssemblyに共通仕様のGCを作るのは不可能という結論になった
だから当面はWebAssemblyにGCは載らずいずれGC対応しても各GC言語はそのまま動かず特別仕様に制限される
2022/04/10(日) 19:50:06.06ID:lgnAhvFe
>>834
JVM on WASMみたいなアプローチならどうじゃろ?
2022/04/10(日) 20:10:14.95ID:vR2aNwQM
>ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。
>今でもモノリシックの利点を説いているのは、後付のように思える。
そう思ってるなら思ってる奴がフォークするなりしてやればいいんじゃね?
そのためのフリーソフトなんだから。でも結局やらんだろうがな。
2022/04/10(日) 20:30:35.41ID:aoUYGCMa
オンラインサロンの会員数を出したり、外人から驚嘆されてるとかいう眉唾情報を出したり、教祖が教祖なら信者も信者だな
2022/04/10(日) 20:49:57.25ID:fmRbxCQk
>>828
> 具体的にどういう課題があって改善したがってるのかが分かんないんだよね
> Cで書いたモジュールと置き換えるのじゃだめなの?
この主語がRubyではなく、Rubyランタイムだと仮定すると、以下。


Rubyについて文句言われてるのは速度だけだろ。
エコシステムはPythonには劣るが、基本的には「それ、Rubyでも出来るよ」程度にはなってるんだろ。
なら後は人数だけで、新規を呼び込むにはPythonよりも圧倒的に速い速度だよ。
手法は速くなるのなら何でもいい。

改善箇所は、まずはプロファイラ付きのランタイムを配ってデータを集めて、
使用頻度の高さ*コード見ての改善見積もり=高速化効果見積もりと、その費用の一覧を作って、
ついでにそのプロファイラー付きランタイムでの使用実績も掛けて各社向けに
「御社のRubyプログラムは○○円で△%高速化」の一覧に差し替えて、クレクレ君するしかないね。
長期的に見れば自前でゴリゴリチューニングするよりランタイムが速くなってくれた方が楽だから、
10社くらい束ねればわりと行けるのではないかと。
あくまで、各社が「ここを速くしてくれ」として費用を出してきた場所を改善だ。
ユーザー無視して高速化しても外れるだろうし。
2022/04/10(日) 20:50:32.86ID:fmRbxCQk
>>828
> 具体的にどういう課題があって改善したがってるのかが分かんないんだよね
> Cで書いたモジュールと置き換えるのじゃだめなの?
主語がRubyだと仮定して、
Rubyのどこが不味いのか、速度が欲しければCでdllを用意しろ、という意味なら、死ねと言われるだろうよ。


Rubyは根本の戦略が間違ってる。
Pythonとダダ被りなので、このままだと、シェア的に見て死ぬのはRubyだと確定してる。
なら、Pythonと正面からやり合うのではなく、違う道を模索しないといけない。
具体的には互換性無視での先行だね。そして「学生が学ぶならRuby」という地位を確立してしまう事だ。
2012位にRubyカンファレンスでMatzが「互換性を重視しました!」
と言って沸いたという記事があったはずだが、あれが完全なる間違い。
互換性重視と言うと聞こえはいいが、これは「新規のコードよりも既存のコードを優遇する」という事であり、
これからコードを書く/学ぶ連中にとっては全く意味無い。それよりは、最新の書き方を試せる方がいい。

どの言語も段々と互換性を重視するしかなくなるので、仕様改訂出来ず、段々と古くさくなっていく。
Pythonなんて既にそうなってるだろ。
なら、「常に最新の書き方が出来ます!」をキープして、新規学習者の登竜門的な地位を確立するしかない。
これには、
・バージョン管理で仕様を年に一度は大幅改訂。新しい記法を貪欲に採り入れ、古い記法はばっさり捨てる。
・古いバーションの記述でも動きはするように、関数単位でのパースバージョン指定が出来るようにする。
・学生にとって入社〜3年目程度に必要な概念は全て学習出来るよう、
 他言語でのプロポーザルの有力案は全て採り入れる。(高速である必要はなく、動けばいい)
とかで、とにかく「プログラミングの学習にはRuby!」という地位を確立しないと、
Pythonに食われて死ぬ未来しかないだろ。

で、RoRは仕様を改訂/捨てまくりだと聞いてるけど、
あれが正しいよ。というか、何かしらPython(や他言語)と差別化しないと死ぬだけ。
2022/04/10(日) 20:57:15.28ID:aoUYGCMa
学生にRuby…?
専門学校ならそれでいいかもしれんけど
2022/04/10(日) 20:58:47.74ID:fmRbxCQk
>>834
> 様々な言語で効率化が異なる手法のGCのためにWebAssemblyに共通仕様のGCを作るのは不可能という結論になった
そりゃそうかもしれんが、これはWebAssemblyの連中が真面目すぎるだけ。

Python/Ruby/JS/TSを使ってる連中が、GC方式なんて気にしてるわけねえだろ。
GC出来てれば何でもいいんだよ。(循環参照でもGC出来るのは必須で)

やりたくないから理由を適当にでっち上げたようにしか見えないね。
(オープンソースならそんなもんだが)
2022/04/10(日) 21:10:10.44ID:fmRbxCQk
>>836
wikiによるとArchとDebianでやってみた奴はいるらしい。
> 2012年現在、Machベースの GNU Hurd も機能しており、それを採用した Arch Linux と Debian のテスト版も進行中である。
> https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB

ただまあ、マイクロカーネルにしても、
ドライバ周りのコードを(カーネル開発人員が)自前で書かないといけないので、
最終的に書かなければならない合計コードサイズ自体は大して変わらず、
カーネルで落ちるかユーザーモードでバグるかの違いで、大して意味はないのかも?
ならわざわざやろうと思わないのも道理だ。
2022/04/10(日) 21:15:37.68ID:QEMS6G9N
GNU Hurd ダメなやつだから。
2022/04/10(日) 21:24:19.23ID:9taU8UGO
この聞きかじりで広く明後日の知識を披露してる人は
前暴れてた人と同じなのか違うのか
2022/04/10(日) 21:28:26.61ID:ZtzjE5Lq
循環参照とか参照カウント・世代別GC とか、
動的言語で、そんな事を知っている香具師はいない

唯一、Ruby には「Rubyのしくみ」と言う、
Ruby1.9の仮想マシンの本があるから、

Cookpad の笹田耕一が、どういうようにRuby VM を作ったかと言うのは、
日本人だけは知っている
2022/04/10(日) 21:44:41.86ID:+3UgN2G1
香具師→やつ
訂正しとくわ
2022/04/10(日) 21:54:26.09ID:W8i2G4wq
>>832
すまん、コレ見るとやっぱジャップランド土人ってガイジの集団じゃないか?
中国に併合してもらって考えを悔い改めた方がいいのでは?
2022/04/10(日) 21:55:02.28ID:QUw9uGH2
V8高速化するのは兆円越えるような凄まじい金銭が投入されてるが、pythonの組織など億から10億程度、rubyはその1/5行くかどうかなんだから張り合える訳がない。
2022/04/10(日) 22:10:35.68ID:tGlbubKc
他言語のエンジンをrustで作り出したら本格的

今のところjs/tsのエンジンであるdenoのみか
2022/04/10(日) 22:50:17.14ID:D/xoL3wp
GOとか早くも終わりそうな感じだけど実際どうなの?
API作るには良いかと思った事もあったけどわざわざ採用する程でもないんだよねぇ
2022/04/10(日) 22:54:33.39ID:EeuOQJAe
>>849
RustによるPython実装のver0.1が公開
https://egg.5ch.net/test/read.cgi/river/1627101447/

Rython(ライソン)は、Rust言語によりPythonを実装することを目的として開発されたプログラミング言語である。
2022/04/10(日) 22:54:54.30ID:vR2aNwQM
サーバー用途以外だったらワークフローエンジンとかCIツール周りなんかは向いてそうな気はする。
2022/04/10(日) 22:55:50.40ID:Yq6q8jid
>>848
いくらなんでもそんなに金かけてるわけないだろ
V8の開発をする専門エンジニアをフルタイム数万人規模で働かせるっていうの?
ちなみに任天堂やソフトバンクの時価総額が7兆円ぐらいな
2022/04/10(日) 23:46:53.01ID:OCBvsT75
>>850
Goはある範囲内なら簡潔に分かりやすく書けていいよ
今はRustでもGoと同様のプログラミング方法で簡潔に分かりやすく書けるようになったため私はRustへ移った
理由はRustの方が速くて他にも広く適用できるため
2022/04/10(日) 23:58:13.16ID:pEZ46Oyr
>>835
もちろんそれでも他でも動く
C#によるBlazorも重くて遅くてデカいけど動いている
焦点は効率の問題
2022/04/11(月) 00:50:05.90ID:E3KBZvfK
>>838
いや、だから一般論じゃなくてあなたは何に困ってるのかを聞いてるの
ただ漠然と速度が遅いと言われるだけでは分からんのよ
2022/04/11(月) 01:12:00.13ID:umXHqcZk
使ってないので何も困ってませんというオチ
2022/04/11(月) 07:03:18.35ID:j88vhZuT
抽象論で済ませたいという輩はそもそもプログラム向いてないよ。
2022/04/11(月) 07:06:48.33ID:3x0R8xqL
だってプログラム書けないだもん
2022/04/12(火) 13:44:31.10ID:A7zu82Eq
速度に不満があるならJulia使おうぜ
ちなみに俺はプロット表示出来なくて、すぐ必要なわけでもないし面倒になって環境構築の段階で挫折した
2022/04/12(火) 20:19:42.59ID:vS+B3//0
所詮道具は道具だ
個人的に深掘りしたいライブラリ整備したい言語と
働くために使う言語は別だと割り切ればだいたい幸せだよ

まあそれで何個も使ってるとしんどいんだけどな
2022/04/12(火) 20:24:08.33ID:Th8uJDWe
>851 さすがに むせた
2022/04/13(水) 02:09:35.75ID:dECpaYfo
流れに身を任せれば良い。幸福感が得られる。
重要な決定に関与しないので、責任感に追われることは無い。
それも生き方。何の間違いもない。
2022/04/13(水) 09:38:49.99ID:McIysJ0Q
このようにして奴隷は誕生するのである。
2022/04/13(水) 14:31:42.18ID:7VeATDTg
プログラミング言語の人気ランキング、順位変動は縮小傾向にある――RedMonkが調査
https://atmarkit.itmedia.co.jp/ait/articles/2204/13/news040.html
2022/04/13(水) 16:28:48.93ID:WrxbMLiQ
Nimだけトップ20圏外か
2022/04/13(水) 17:49:20.83ID:QcgahTwn
うぅ、、Nimさん(;;)
2022/04/13(水) 19:36:47.36ID:uZMWha80
考えてみたらnimなんてQitaか5chでしか聞かなかったもんな。
声の大きい人のおかげでGoやRustと同格っぽく錯覚してたけど、実際は>>865のように
Crystalあたりが比較対象になるマイナー言語だったんだよな。
2022/04/13(水) 19:42:01.28ID:tSwum0gN
メジャーかどうかがキミらの関心事なん?
2022/04/13(水) 19:49:54.89ID:P5Yf9dEj
>>865
16.Go
17.Powershell
と並べられるとGoが急にしょぼく見えてきた
2022/04/13(水) 20:39:44.52ID:je5sMJxi
Zigがグラフに入ってない気がするけどなんでだろ?
Vでも入ってるのに
2022/04/13(水) 20:55:30.92ID:TtGTyBSH
Zは今は駄目だ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況