[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/19 17:51 / Filesize : 321 KB / Number-of Response : 1030
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2022/03/22(火) 03:23:41.60 ID:ZDHdo9X7.net]
スレタイ以外の言語もok

前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/

605 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:38:19.51 ID:+6isarPd.net]
>>595
たとえばの話、多くの初心者は再帰関数を使って、スタックオーバーフローを起こして初めて、スタックというものを意識をするわけですが、
それまでは、スタックという概念をまったく気にせずにプログラムを作っていたことも、よくありますよね?

Rustの所有権周りの概念のうち、どれだけこのスタックのアナロジーに当てはまるかは多分人それぞれですが、
少なくとも、所有権の概念を細分化してできた概念の数が、そのまま敷居の高さになることはないと思います。

606 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:41:34.29 ID:bwKax5i+.net]
>>597
GAFAMのような大企業はホームから突き落とされるリスクが現実的だからホームドアを必要とするんだよ
ただお前さんのプログラムは攻撃者に狙われるほど広く使われていないというだけ
もちろんそういうマイナーなプログラムに安全性は不要というならそれは自由だけど

607 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:46:07.49 ID:bwKax5i+.net]
あと酔っ払ってホームから転落する大人もいるってのもあるな
つまり一流のプログラマでも絶対にミスをしないということはないから機械的にチェックしたいという話

608 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:59:21.50 ID:/n3eSctb.net]
>>600
実際俺はJSで特に苦労もしてない。

Rustの信者連中が間違ってるのは、Rust公式勝手訳日本語版まえがき(前スレ990)にある、
> やっかいな落とし穴を回避する術
を学ぼうともしてない事なんだよ。
これを学んでからRustを使えば確かに二重チェックになって意味はあるが、
学ばずに済ませようとするのは間違いだよ。
(とはいえ結果は君らが負うのだから好きにすればいいが)

ホームドアがない時には、端を歩かない、走ったりもしない、というのは鉄則だった。
ホームドアがあるから、走ったりしても安全!というのは明確な間違いだよ。
そんな事をしてる限り、危険予知能力なんて絶対に身に付かないから、
Rust以外の言語だとまともにプログラミング出来なくなるとも思う。
(それも含めて選ぶのもまた自由だけど)


>>602
GAFAM連中は「やっかいな落とし穴を回避する術」を知ってる上でやってるから二重チェックになってて意味がある。
ここのRust信者はこれを知らずに「Rustを使いさえすれば安全!バグ無し!」とか、
一時のHaskell連中と同じ事を言いだしてるから、ただのカルトであり、意味がない。

ただそれはさておき、コンパイラのチェックが厳しければ生産性が向上するはずなのだが、
実際聞いた事ないだろ?
実際には二重チェックとしてしか使われておらず、なければないで済む範囲での使用に留まっているから、
生産性の向上分が見えてこないだけ。
本当にRustじゃないと無理だっていうものがあれば、キラーアプリとしてそれが出てくる。
ないんだから、そういう事。

609 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:07:07.36 ID:gzjYIF1u.net]
>>604
やっかいな落とし穴が何に該当するかよくわからないのだけどrustやるならC++での危険回避法を熟知し

610 名前:ておけということ? []
[ここ壊れてます]

611 名前:デフォルトの名無しさん [2022/04/07(木) 22:09:45.98 ID:zb08jYei.net]
>>599
> 実際は概念一つ一つを念入りに調査せずに、初心者の内はとりあえず思ったまま書いて、
> コンパイラに渡してエラーになったら修正するのが普通かと思いますね。
Rustの場合、初心者がまともに動くプログラムに到達するまでいくつも修正しなきゃいけないのが問題だっつうの。
エンストしまくってたらマニュアル運転の練習もクソも無いわな。

>>601
> たとえばの話、多くの初心者は再帰関数を使って、スタックオーバーフローを起こして初めて、
> スタックというものを意識をするわけですが、
ここからすでに前提が間違っている。
Pythonとかは再帰関数を使用しなくてもプログラムを実装できるけど、
Rustは所有権を使用しなけりゃ変数定義も関数呼び出しもできない。

> 少なくとも、所有権の概念を細分化してできた概念の数が、そのまま敷居の高さになることはないと思います。
ここも間違っている。
細分化して段階的に学習できればまだマシな方で、Rustの場合は所有権の概念をほぼ丸呑みしないとプログラムできない。
クラッチとギアとハンドルを同時に操作しないとマニュアル車を前に進めることもできないようなもんだ。

612 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:32:09.52 ID:/n3eSctb.net]
>>605
いやC++に限らず、プログラミング全般で、
そこに危険があれば、どうやったら上位で回避出来るかは、術がある。
これまで何とかやってきてるんだから当たり前だろ。

面倒だから一々言う気もないけど、「データ競合」については前スレで既に書いたとおり、
・メインスレッド+サブスレッドでディスパッチ前に全部解決
で完全に回避出来る。
この構成を採用しているのがC#のGUIで、
どうもお前らは言語に対してのこだわりが過ぎてて、これがC#を褒めてるように聞こえるらしいが、
どの言語であってもこの構成にすれば回避可能で、C#のGUIではそれをフレームワークとして強制してるだけ。
だからC#では、フレームワークを正しく使う気があれば、「術を知らなくても」自然と回避できることになる。
他言語なら、この知識があれば、同様に自前で回避出来るだけ。

Rustの場合はこれをコンパイラのチェックにより同様に「術を知らなくても」回避出来るようにしている。(回避術は異なるが)
その他諸々突っ込んで、「コンパイルが通りさえすればOK」を目指すのも一つの手で、実際そうしてるようだが、
本来それはあくまで「Rustではどういう術を強制する事によって、どの問題を回避している」と認識出来てからやるべき問題。
それを初心者のうちはある程度すっ飛ばしても構わないとは思うが、知らずに済ませるのはどうかと思うよ。
566の(2)のつもりなら特に。

実際にRustが採用している術は、C++でのRAIIとunique_ptrに近いから、
これらを既に常用してたら、グダグダ言われずともRustに移行するだろうよ。
ただ、回避する術は一つじゃないから、違う術を使ってる連中は、Rustを使う事はないだろう。(俺はこちら)

そして本来は、どんな術があるのかを学ぶのが学習で、
元々はデザインパターンもこの方向だったはずだが、何かおかしな事になっちゃって見捨てられた感じになってるが。

613 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:40:48.67 ID:eUNchQrd.net]
Rust自体は好きだけどPythonの代替先になるというのは現状個人的には全く考えられないなぁ
単一所有権ベースの書き方が、意識せずとも間違いなく書ける内容なら静的チェックがなくても取り沙汰されないし、それがメリットとしても喧伝されないと思うんだよな
別分野だけど機械学習系だと公式のラッパー先としてまず出てこない言語だし、やっぱ性能とは別の事に頭使いたいジャンルだと不向きだと思うよ
もし広い範囲でPythonの代替になると思ってる人が居るんだとしたら、普段のスクリプティングとかもRustで書いてんのかな



614 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:41:15.91 ID:QfJTmIv3.net]
ようしわかった
もうわかった
ついにわかった
言ってほしいんだろ?
そういうことだろ?

Rustはしょうもないクソ言語で未来はないし
GAFAMが使ってるのもそれはそいつらがアホだからだ
ね、これでこの話おしまい

こんなクソ言語だれも使わなくていいからね
心配しなくていいからね
こんなクソ言語消えて

615 名前:ネくなるから
誰も使わないからね

俺は使うけど
[]
[ここ壊れてます]

616 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 22:43:27.27 ID:YR3mJewM.net]
いや駄目だ俺が使う

617 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 23:00:34.39 ID:/n3eSctb.net]
>>608
> 単一所有権ベースの書き方
これが演算には絶望的に不向き。ウザイだけ。
ただし鯖等では確かに「上から下に流れる」ように書くので、「単一所有権ベース」でも多分問題なく書ける。

だからまあ、現時点でWeb限定に近いのは、既に住分けてる、とも言える。
他のアプリでも、自前で状態管理するのを極力止めて、内部でRESTfulにすれば、そこそこ行けるはず。

618 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 23:24:34.67 ID:hOTZf/Ps.net]
>>610
ついやいや俺が

619 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 23:38:47.04 ID:+6isarPd.net]
>>606
言いたいことは分かります。
要は学習成果の可視化しにくいインターバルが長いと不利ということですよね?

学習した先に何を求めるかは人それぞれですし、
それって結局、言語機能を部分的にでも成果として、学習者が捉えられるかどうかだけの問題じゃないんですか?
(Rustの所有権を部分的にできるかは平行線なので置いておいて)

案外若い世代はところどころデジタルリテラシーがあるので、
プログラミング学習ができないと危惧して、変にレール敷くような考え方はしなくても良いんじゃないですか?

620 名前:デフォルトの名無しさん [2022/04/07(木) 23:51:03.44 ID:eYC8sBa3.net]
1ヶ月に一度1ー2時間ほどプログラミングします
といった程度の人達が、あやふやな知識のまま
目的の動くもの素早く作れる言語でないと
広い裾野には訴求しない
ニッチな人のニーズには合致する可能性はあるけど

621 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:23:55.25 ID:PcnkB3on.net]
>>607
要はライブラリなど自分が依存するものの中身がどうなっているかはちゃんと把握した上で使えって話と、
自分が困ってないなら無理に道具を変える必要がないって話ね
rustというよりrustを変に持ち上げてる人に対するコメントだった訳ね

622 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:24:56.07 ID:nM4swqos.net]
我々の生きているうちにもしそんな素晴らしい汎用言語が出来ると夢が広がりますよね。
未来の言語研究に期待しましょう。

623 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:26:25.71 ID:PcnkB3on.net]
>>614
たしかに、次世代言語なんて銘打ったスレに集まるような人向けの言語なんてニッチの最たるものだろうね



624 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:31:27.96 ID:TpfOdACd.net]
>>613
>学習した先に何を求めるかは人それぞれですし、
なら、なおさらPythonの代替をRustに求めるのは無理。
まさしく>>608の通り、学習した先に「やっぱ性能とは別の事に頭使いたい」というならRustは不要だわな。

>>609
いやいや、自分もRustは認めているよ? Forthと同じぐらいには。

625 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 00:47:01.39 ID:nM4swqos.net]
>>618
そうですね。別に性能だけの話じゃないと思うが、
いろいろ気にしない人には確かにPythonでプログラミングを勧めるのも一つの手だと思いますね。

626 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 01:01:29.96 ID:8ljQsUz4.net]
Rustに移行するのはC++から来る人が多いだろうな

ptyhon、java,typescript、スクリプト系からは少ないだろう

627 名前:デフォルトの名無しさん [2022/04/08(金) 03:06:12.85 ID:Km060/QD.net]
>>597
長々と書いてるけど、お前って一人で開発してんの?
なら好きなの使えばいーじゃん。

628 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 06:34:32.60 ID:z2O+b+J1.net]
>>608
Pythonなんて超遅いダメ言語だろ
C/C++に移行すれば10倍くらい速くなるぞ
メモリ使用量も大きく減る

629 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:08:41.73 ID:F6GdhFTs.net]
>>622
用途が違うものを比較しても意味ないよ

630 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:36:43.85 ID:5MIkz0s/.net]
>>620
JavaScript(

631 名前:Node.js)からRustへ来たけど特に難しいところは無かったよ
JavaScriptでPromise返す並行プログラミングしていたから
RustでFuture返す並行プログラミングにすぐ移行できた
[]
[ここ壊れてます]

632 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:50:10.89 ID:aDtoFpcQ.net]
RubyやPHPからRustに来る人はゼロではないだろうけど少ないだろ
それぐらいなぜ認めたくないのか?

用途が違う

633 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:51:28.36 ID:3RXqham9.net]
みんな色々と考えるんたな。
自分の使う言語を選んで仕事始める人が多いのか?



634 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 07:54:38.16 ID:atDB72kn.net]
>>625
RubyからRustへも多いよ
例えばこのスレでも>>510へのレス状況から少なくとも3名は居る

635 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:00:35.35 ID:aDtoFpcQ.net]
病気なのか?

636 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:08:54.70 ID:jLbA7OdY.net]
俺がスクリプト言語からRustも使うようになった理由はスクリプト言語っぽく書けて便利で速いから
今後もそういう人が増えるのは間違いない

637 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:15:42.34 ID:CQiu8f2R.net]
>>629
完全に同意

638 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:22:48.61 ID:G9TYKjMP.net]
ぼくも(^o^)

639 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 08:38:19.52 ID:16DK1NKj.net]
>>626
逆よ
仕事を選ぶと言語が決まることがほとんど

640 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 09:31:00.03 ID:gFm4wviN.net]
>>629
設定に無理があるwテキトーなパースするだけにrustなんか絶対に使わねーよ。

641 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 09:55:16.26 ID:ncPbKyCt.net]
>>633
自分もRustを使っているけどRustで特に困っていることないぜ

642 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:02:37.27 ID:wv8X5M3X.net]
>>634
そらRustしか知らなきゃそうなるよ
もっと勉強した方がいいよ

643 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:18:15.72 ID:J3x148PI.net]
C/C++/Python/Java/Scala/Goあたりは仕事で書いてたけど今はRustメインだな
他にどの言語を学べばRust使う気がなくなるの?



644 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:29:00.59 ID:CQiu8f2R.net]
なんだこのビッグウェーブはw
Rustってとてつもない一大ムーブメントなのか?w

645 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 11:59:33.01 ID:xydoIMfT.net]
>>635
スクリプト言語とRustしか使っていないのですが何を勉強するとよいですか?
速さが必要なものと大きなものはRustを使っています。

646 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 12:29:19.18 ID:lZxU7PE0.net]
>>636
FORTHおすすめ。

647 名前:デフォルトの名無しさん [2022/04/08(金) 12:33:53.85 ID:gfZaFbSj.net]
テキトーにパースするでもserdeが楽だから使うわ

648 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 12:50:21.80 ID:uV0lTSE5.net]
FORTHやるくらいならLISPやる

649 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:30:54.85 ID:LwBnqH/T.net]
Ruby 界隈では、mruby の本が出た。Ubuntu 18.04, C99 対応。
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11

Elixir の本も出た。
Ruby on Rails の本を書いている、黒田努の本

Rust は、Rubyと同様の式ベース言語で、Elixirと同様のパターンマッチ

ただ、YouTube で有名な、雑食系エンジニア・KENTA が、
バックエンドのキャリアパスは、Rails → Go のみと断言している!

Elixir, Rustは普及のキャズムを超えなかったから

650 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:52:24.78 ID:VBKiPB4k.net]
Goで出来ていることがRustでも容易に出来るようになったことが大きい
そしてRustの方が高速かつ適用範囲も広い

651 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:58:37.76 ID:ueuwLW+z.net]
>>615
違うぞ。
つか話が通じないのは全然立ち位置が違うからだが、ここを詰める意味はないので終わりにしたいのだが。

> 自分が依存するものの中身がどうなっているかはちゃんと把握した上で使え
理想的にはそうだが、現実的には無理だし、やる意味もない。
例えば数学関数、sin(x)とかも様々な実装方法はあるが、十分な速度と精度が出れば何でもよく、
sin(x)自体を導出する数学の知識(級数展開)なんて必要ないだろ。
ライブラリにしてもフレームワークにしても、基本的には外面仕様まで抑えればよく、内部まで知る必要はないんだよ。
実際、鯖やJSを書いてる奴等も、ブラウザの実装なんて知る必要ないし、知らないだろ。

ただしそれらの優劣を問う場合、内部実装まで掘り下げないと比較にならないだろ。
「データ競合」について言えば、C#とRustのアプローチは明確に異なるわけだが、
この「異なる」という事を認識し、それぞれの利点と欠点を把握してないと、正しい比較にはならないだろ。
Rust信者は「Rustにすれば僕がどんなに馬鹿でも無知でも全て解決してくれる」と思っているようだが、
これだと比較検討する技術レベルには達してないんだよ。
ただ、「データ競合」については確かにRustにお任せでも回避出来るのだろうし、これ自体が悪い方法でもない。
(一つか、下手すると一つも方法を知らない癖に何故比較検討出来てるつもりなのか?という話)

> 自分が困ってないなら無理に道具を変える必要がない
これも違ってて、だいたい人は困ってる事を認識出来てないものなんだよ。
携帯が無い時代に携帯が無くて困ってた奴は居なかったし、
スマホが無い時代にスマホが無くて困ってた奴も居なかったし、
Rustが無い時代にRustが無くて困ってた奴も居なかった。
だから新しい物を持ってくる場合、「実はあなたはここに困っていたのですが、気づけていません。
Rustを使えばこう出来ます。一度使えば二度と戻れませんよ」と具体例を示さねばならないのだが、
これがないだろ、という話だよ。(納得する物が有れば単に乗り換えれば済むだけ)

652 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:59:03.07 ID:ueuwLW+z.net]
RustはC++の特定のスタイルを強制してそれ以外をコンパイルエラーにするように出来てる。
だからそのスタイルを使いたい奴には超フィットするけど、
そうじゃない奴には使えない。(コンパイルエラーになるだけ)
だからやっぱりこの「エラー」ってのは強すぎてて、
> C++での危険回避法を熟知しておけ
これもちょっと違ってくる。
「Rustが採用している『術』」での危険回避をしたいのなら、
それ以外をエラーにしてくれるRustが最適で、同じ事をわざわざC++でやっても抜けを許容される分だけゴミ。
ただ問題は、Rustの場合はそれ以外を許容しないから、いつまで経っても「Rustが採用した『術』」以外の方法を学ぶ事が出来ない。
だって試そうとしてもエラーになるのだから。
だから「Rustが採用している『術』」が間違っていたら(不適切だったら)その時点で終わってしまう。
だからこそ、無駄にカルト化する。言語と心中する事しか許容しないので。

本来は、「Rustが採用した『術』」と「他の方法」を知ってて、長短見極めた上で、
Rustでの採否に納得した奴がRustを使うべきなのだが、
君らは「他の方法」を知らずに「Rustが採用した『術』」をマンセーしてるだけでしょ。それはカルトだよ。

ただし「Rustが採用した『術』」はそんなに悪いものでもないし、
コーディング戦略は大きい単位で適用した方が効率がいいのも事実。
最大単位は「言語」なので、実験としてはいいし、
Rustが無くともC++で同じ事をやってた連中にとっては天国だろう。
だからやたらマンセーしたがる奴が居てもおかしくない。
(ただし実は最上位の「プログラミング全般」という単位があり、
例えば「用意した変数はそれ以降で自由に使える」とかだが、Rustはこれに反しているので混乱も来す事となっている)

653 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 13:59:38.12 ID:ueuwLW+z.net]
長期的展望については、構成上、Rustは(育成含めての)独立したエコシステムを持ててない事がかなりポイントになる。
これはやはりホームドアが分かりやすいと思うが、これがなかった頃、まともな大人は、
・ホームの端は歩かない
・ホーム上では走ったりしない
・ふらつく程は飲まない
等を遵守して、ホームからの転落事故はほぼ0に出来てた。
Rustはこれにホームドアをさらに設



654 名前:置し、物理的に転落しないようにした。
結果、「大人の常識の遵守」「ホームドア」で二重のセキュリティになり、安心感は増してる。
とはいえ、ほぼ精神的なものであり、実際は無くても転落する奴はほぼ居なかったので、実質的意味はほぼ無い。
これが、キラーアプリが存在出来てない理由。(GAFAMはこの使い方)

さてここで、「俺はホームドアがない駅なんて知らねえ。老害の常識なんて糞食らえ」というゆとりがいて、
ただの10分間の休み時間でもドッチボールをしようとしてた小学生時代と同様、
駅で10分待つ間にも鬼ごっこ等で遊ぼうとしたとする。
一般社会では「これだからゆとりは」となって袋だたきなのは確実だが、プログラミング界隈では違う。
・端を歩ける→デッドスペースだった両端の1mを活用出来、輸送能力が10-20%程増す
・走らない縛り無し→ならホームの両端はスカッシュコートに出来るじゃん!
・へべれけでも大丈夫→なら通勤電車内にバーを設置し、1時間飲んでたら家に着いてるとか出来るじゃん!
等、利便性を提供出来れば良しとされる。
俺が「Rustによって新たに提供される価値とは何か?」とさんざん聞いてたのはこれなんだよ。
Rust流のホームドアが無かった頃は事実上無理だった事も何か出来るようになってるはず。
その活用事例は何か、なんだよ。
[]
[ここ壊れてます]

655 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:00:07.89 ID:ueuwLW+z.net]
ただしこれは両刃の剣で、ホームドアがある前提で、それ以前の「大人の常識」を「所詮は老害の戯言」と切り捨てると、
ホームドアがない駅では確実に事故りまくる。今のRustがこれで、既に書いたが、
・「Rustが採用した『術』」以外はエラーにする=Rustではそれ以前の「大人の常識」を試せないし、学べない
んだよ。だから、構成として
・既に大人の常識がある人が、さらにホームドアが設置された駅を使う(GAFAM)
用に出来てて、
・全く何も知らない幼児が、怪我をしながらも危険を学び、次第に大人になっていく(Rust信者)
用には出来てない。(つまりRustだけではプログラマを成長させる事は出来ない)
とはいえ、現実の今時の公園ではブランコすら撤去されてる始末で、
安全重視の、スリルの欠片もなく面白みもない遊具だけになってしまってるが、
ではこれが間違ってるかと言われれば、
昭和時代のヤベー遊具は確かに楽しかったが、でも確かに危なかったし、なんだかなあ、ではある。

つまり、自前での育成(≒プログラマによる試行錯誤)を放棄している点に置いて、Rustが目指している所は、
・Rust専用コーディングドカタ育成
・他言語で育成されたプログラマの取り込み
であって、Rustではプログラミングの世界を成長させる事は出来ないし、プログラマの自主的な成長も促せない。
Rustが出来るのは、やり方を画一的に固定した開発だけだ。
ただこれが悪いわけでもない。実際、フレームワークは同様だし。
だからまあ、立ち位置としては「言語」よりも「フレームワーク」と考えるべきなのだろう。
そうすれば、「Rustに合ってる状況ならRust使え」で、みんな非常に納得出来るだろうし。
ポリシーに合致してないコードを拒絶する点に於いても、フレームワークと同様だし。
(C#の場合にデタラメなコードを食わせてイキってる馬鹿もこのスレには居たが、
この点Rustならエラーなのでフレームワークとしても正しい)

656 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:05:58.17 ID:xmDi13Bx.net]
Rustのプログラミングの快適さは
様々なプログラミングパラダイムを巧みに洗練して採り入れているところにあると思う
一つ一つは既存の言語にあるものが多いけど総合的に組み合わされたのはRust特有でそれが

657 名前:Rーディングのしやすさに繋がっている []
[ここ壊れてます]

658 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:45:33.12 ID:wv8X5M3X.net]
昼間から長文とかおじちゃんたち仕事は??

659 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:49:38.98 ID:J+DLQw6K.net]
「Javaスクールの危険」みたいな話になってきてるな

https://web.archive.org/web/20190226013343/local.joelonsoftware.com/mediawiki/index.php/Java%E3%82%B9%E3%82%AF%E3%83%BC%E3%83%AB%E3%81%AE%E5%8D%B1%E9%99%BA

660 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:54:51.52 ID:zi4mesOO.net]
一方でRustは色んなことが身につくからその問題点もないよな

661 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:56:47.94 ID:CQiu8f2R.net]
>>650
再起とポインタなんて知らなくてもWebプログラマーはつとまるんだよ
ましてや精神的態度なんて根性論いいだしたら人材不足の今、人なんて集められないよ

662 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 14:58:59.00 ID:CQiu8f2R.net]
>>650は下の(2)の人のことをいってるんであってこのスレにいる大多数の(1)の人たちには関係がないこと。
ーーーーーーー
プログラマーには2種類の人がいる。
自動車産業に例えたら、(1)地方の工場勤務の期間工と(2)研究開発センターのエンジニア
(1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。

(2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。

663 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 15:07:49.60 ID:Js+ybEIJ.net]
自分はCS出てフルスタックやってるから他の立場のことはわからないが
色々やってきた言語の中でRustが最も開発効率良いと断言できる



664 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 15:13:55.24 ID:FJuOSvU4.net]
rustとgoが合体したらいいのになあ

665 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 15:30:55.82 ID:fiUiUlD4.net]
なんか一部のrust推しがすごいっすね

666 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 16:23:35.95 ID:UBiXicJa.net]
>>655
V言語

667 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 16:57:15.66 ID:PcnkB3on.net]
>>656
rust推しだけど変な人が無理筋の推し方してて困ってる

668 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 17:09:14.19 ID:a6HBTm5x.net]
頭の悪い子に限って延々演説するよなw
お前らそれを完全スルーしてて賢いわw

669 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 17:14:34.86 ID:BG4ZrdKI.net]
>>657
Vは確かに最初の宣伝はそんな感じだっけど、現状はRustとGoを足して10で割ったくらいの状態だからなぁ

670 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 17:54:29.26 ID:0JDStoXf.net]
V言語はマクロがないとかクロージャがないとか
あと安定しないままだよね

671 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 18:14:16.72 ID:CQiu8f2R.net]
>>659
スルーというかNGWordに正規表現で
.{50}
としてるからまったく気づかない

672 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 18:59:02.09 ID:wv8X5M3X.net]
>>652
そうして集めたPHPerたちが作ったWebシステムはどうなりましたか

673 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:35:51.32 ID:gFm4wviN.net]
>>663
facebookって言って超メジャーなサービスになってるよ。



674 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:40:32.31 ID:wv8X5M3X.net]
>>664
facebookのPHPエンジニアが優秀=PHPエンジニアが優秀

という短絡思考には感服致します
障害者学級PHPoorたちの心のより所なんですね

675 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:54:22.21 ID:haRe9nr5.net]
このスレだけ見てるとPHPerよりRusterのほうが危険で頭がおかしいと思ってしまう…

実際はそんな

676 名前:アとはないかもしれないが []
[ここ壊れてます]

677 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 19:58:36.19 ID:gFm4wviN.net]
>>664
え、どうなったか聞かれたから答えたらなぜかPHPともどもボロクソ言われるの、
意味がわからんのだが。

678 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:05:37.41 ID:g/vqQJB9.net]
>>654
「unsafeに触らない限りは」だろ。
実際にはフレームワークとかライブラリとかが充実している言語のほうが開発効率は高い。
(すでに開発済みだからという理由だけど)

679 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:09:42.84 ID:nC7N6zb/.net]
Rustは欲しいcrateほど放置されてるcrateやwipの空crateが一定数あるのが実用を考えた時に厳しい
RustのWinUI3対応早く来ないかなー
後別に何でもかんでも関数型になって欲しい訳でもないんだけど、スクリプト的な簡単に書きたいモチベーションのある言語に、関数のデフォルトのカリー化と、引数を渡すのと同じ記法での部分適用が導入されて欲しい
個人的に見た目がスッキリするし書くのが楽に感じるので
Fsharp使えというのはそうかもしれない

680 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:31:38.25 ID:wv8X5M3X.net]
>>667
元レス読めよ文盲
これだからPHPoorは
さっさと氏ねゴミカス

681 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:39:12.10 ID:IqLRftxA.net]
>>668
それはプログラミング言語の問題ではないな
純粋にプログラミング言語の比較でRustより上のものを挙げないと

682 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:39:56.09 ID:haRe9nr5.net]
webの世界を支えてるのはPHP

683 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:42:20.02 ID:haRe9nr5.net]
>>671
使いやすさから言えばjavaやc#のほうが上だと思う
Rustは使いどころがまだ確立されていない



684 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:48:04.21 ID:4vP7lCV8.net]
>>671
なら「標準ライブラリが充実している」でいいよ。
標準ライブラリが言語に含まれないとは言わんよな?

685 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:50:18.47 ID:MnFLToWU.net]
>>669
ところでカリー化はラムダではあかんの?

686 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 20:53:57.99 ID:nx5fqsfT.net]
>>673
そこはさすがに誰が見ても
Rust>Javaはあらゆる面から全員一致として
Rust>C#もほとんどの人が同意でしょ

687 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 21:15:04.96 ID:hRiSi6np.net]
>>676
それは過大評価し過ぎでは…

688 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 21:31:56.88 ID:Br+emjPa.net]
言語自体の比較だと現状ではRustが一番かもしれん
新言語が現れなければじわじわと利用環境や利用者を拡大していくのだろう

689 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 21:33:57.02 ID:a6HBTm5x.net]
>>669
> 後別に何でもかんでも関数型になって欲しい訳でもないんだけど

リストのリテラルが無いあたりで割り切りを感じるよな
あくまで軸足は関数型言語にはないという

リストの結合とかカリー化や関数結合もデフォで組み込まれてたら
もっと違う感じだったやろねえ

690 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 22:02:06.45 ID:GQWBx4Yt.net]
ガベージ出まくるからゼロコスト抽象にならない問題点などあるよな
見かけはマクロでわかりやすくする程度が現実解
まあ普通のGC言語でもサポートしてないのが多い中
そこまで必要とされていない機能なのかもしれん

691 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 22:13:42.74 ID:haRe9nr5.net]
なんでIDコロコロ支店の?

692 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 22:23:42.64 ID:wv8X5M3X.net]
いきなりコロしとか言い出すとかマジやべえな

693 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 23:37:25.21 ID:nC7N6zb/.net]
>>675
処理として等価なものが書けるという意味では問題ないよ
それよりもっと簡単に書けるようになるので、あると嬉しいなって



694 名前:デフォルトの名無しさん mailto:sage [2022/04/08(金) 23:52:45.49 ID:fiUiUlD4.net]
rust推しに狂気を感じるスレ

695 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 00:07:03.26 ID:il24SwZF.net]
それしか言えんのか

696 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 00:20:56.02 ID:qlihBLS+.net]
>>650
似てはいる。

「JavaではCS学生には過

697 名前:ロ護すぎ」が趣旨だと思うが、
同様にRustを考えるなら
・修得概念は多いがこれは暗記の類であり、チャレンジではない
・コンパイラ頼みで考える事を放棄してるから、成長しない
で、アカデミックには不適だ。
大学なんて就職予備校だと割り切るならありだが。

Goなら、
・修得概念は少なく抑えられている
・構成自体は何でも出来る(はず、多分)
・やたらコピペさせられる点が糞
であって、教育/アカデミックには向いてる。(少なくともRustよりはいい)


「データ競合」「デッドロック」等のバグをコンパイラに頼って回避してる限り、
コンパイラがサポートしてくれない状況では確実にやらかす。
コンパイラのサポート無しでも回避出来る腕だが、さらにコンパイラでダブルチェックする、が正しい。

フレームワークなんて暗記の類で、ちゃんとプログラミングが出来る奴なら、使えば使えるようになってる。
フレームワークは生産性を上げる為の手段であり、
プロダクトを目指さなくてもいい学生の時点で型に嵌めてしまうのは成長を阻害する気がする。Rustがこれ。
(他言語でもフレームワークを使って課題製作して出来たつもりになってるのなら同様ではあるが、
既に書いたようにRustの場合は言語自体がフレームワーク化してるので、これを回避出来ないのが難点)
[]
[ここ壊れてます]

698 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 01:45:47.90 ID:H+Mv/KjD.net]
コンパイラのチェックが厳しい→コンパイラに頼る→学習にならない
もう言語の利点を語るんじゃなくて、学習に向いてるかどうかってことに話を絞ることでRust批判につなげることにしたのね

699 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 01:58:00.79 ID:il24SwZF.net]
暗記ごときでボローチェッカーに対処できるなら自他ともに認めるRustの学習曲線の問題は発生しないんだよなあ

700 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 02:01:36.12 ID:il24SwZF.net]
あとデッドロックは別にRustで静的に防止できる類のバグではないぞ
メモリリークと同様だね

701 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 02:15:58.74 ID:eXc0QQCs.net]
言語として魅力を感じるのはGoよりRustだが、将来的にGoよりシェアを拡げるかと言われたら疑問

702 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 02:26:41.71 ID:730EZC4A.net]
Rustはシステムプログラミングの分野でだけちゃんと生き残れば大成功だよ
あとは特にハイパフォーマンスや低コストが要求されるとこくらいか

ほとんどのアプリケーションでは、JavaやらPythonやらなりの高水準言語にて、より適す言語が見つかるやろ

703 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 03:28:08.67 ID:iJevktt3.net]
>>691
Javaの諸々の弱点を克服したものがRustであるため
従来Javaで書かれていた分野にRustが食い込んで行きつつあります



704 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 03:34:37.18 ID:ntDYOunj.net]
ツルツル無毛の奇麗な一本筋なんだろうね

705 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 04:14:38.03 ID:0HVqg1ER.net]
FacebookがバックエンドをJavaからRustにした記事でJavaの問題点が多数挙げられていたな

706 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 05:55:15.91 ID:GQoYu9QH.net]
他部分の結論がまだ早いが、環境的な点から考えて、
GoはJavaとPythonと比べて、教育言語として価値が高いことは今のところない

・良くも悪くもOOPではない。抽象化のレクチャの定番が崩れている
・コンベンション重視のせいで、文化風土が専制的
(たとえばインデントは実質タブしか。手法にフレームワークを当てはめがち。考える余地を与えない)
・C言語の代わりにはならず、高級言語として教えるにもポインタの概念が余計
・例外処理/リソース管理/並行処理あたりの重要ポイントの対応方法が独創的で潰しが効かない

以上、拡大解釈せずにあくまで業界最適化言語と

707 名前:考えるのが無難という意見だ []
[ここ壊れてます]

708 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 06:21:18.57 ID:Qew3WBrk.net]
>>695
そのGo批判は間違っている
OOPはclassが無いだけだろ
例外処理もtry-catchが無いだけだろ
GoもRustもどちらもclassやtry-catchは無いが異なる方法を取っているだけにすぎない
言語毎に様々な形態がある部分を取り上げて批判するあなたの視野が狭く偏見を持っているだけにみえる

709 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 07:21:22.99 ID:qlihBLS+.net]
>>695-696
それは教育目的を明確にしておかないと空回りする。単純には以下となる。
・実務: 大学は就職予備校である
・養成: 大学は人材養成所である
・アカデミック: その分野の発展を目指す

695は実務寄りの意見だ。
ただ、実務なら議論するまでもなく現在のシェア、または求人のシェア通りにやるべきであって、
それ以外を選ぶのは教授の趣味でありエゴでしかない。
今ならPython/Java/JavaScript/C#/C++/C/PHP/Rubyの順かと。

650記事と696(と686内俺のGoへの意見)は養成寄りで、人材の底上げを目指したものだ。
> ポインタを使うプログラミングは今日書かれるコードの90%には必要とならず、製品コードにおいてははなはだ危険なものであるということは素直に認める。
> その通りだ。そして関数プログラミングは実務ではほとんど使われていない。それも認める。
> しかしそれでも、最もエキサイティングなプログラミング仕事ではこれらは重要なものなのだ。
> たとえばポインタなしにLinuxカーネルで作業することはできない。
> Linuxのコードを1行も理解することはできず、実際ポインタの理解なしにはどんなオペレーティングシステムのコードも理解できない。
つまりはプログラミングドリルに何を用いるかで、プロダクトを目指したものではない。
だから界隈の文化なんて全部無視でよく、単に、学生の頭の体操/訓練に何が適しているかだ。
この場合、スタート時から色々概念が必要なRustは最悪で、仕様は軽ければ軽い程良く、
早い段階で「仕様とか概念に苦労せず」学生が自在に「こねくり回せる」必要がある。
こねくり回す時の苦労が養成になるので、そこは頑張って苦労しろ、というわけだ。
この用途なら、Goも悪い選択ではない。
が、まあ、素直にCを選択する方が妥当ではあるが。

710 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:15:54.24 ID:yjPUnyR6.net]
最初はC → Rustが王道だろうな
さすがにCのままだけでは効率悪すぎる

711 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:16:17.09 ID:cvyLC6WE.net]
GoもRustもclassはない
でも実質似たようなことはできる

でも実質は実質であり素直にOOPできるかと言えばそうでもなく変な制約がある
ファイル分割とかしたいとか思わないならその限りではない

712 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:17:47.26 ID:ehpYMGIZ.net]
goはある意味goroutineとchannelを使うための言語だしな。そこに価値を見出す人が使えばいいこと。
ただまぁ、独創的だから潰しがきかないとか批判しだしたらpythonも癖が強すぎてたいがいだがな。
結局普及したもの勝ち。

713 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:24:05.70 ID:cvyLC6WE.net]
>>698
目的に応じて言語を選んだほうがいい

C→Rustは狭すぎるし心に余裕がなくなるし楽しくない
標準的なGUIもないから入門には不向き
個人的には間にGC言語やPython挟んだほうがいいと思うよ



714 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:54:42.92 ID:0xXBKlCN.net]
>>701
PythonよりはRustの方がええやろ
Pythonは偏り過ぎ

715 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 08:56:00.27 ID:LAfniSDw.net]
バランスいい言語ないの(´・ω・`)

716 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:09:13.58 ID:ehpYMGIZ.net]
個人的にはswiftがそこそこモダンな機能を一通り備えていながら癖の強くない文法でバランスがいい言語だと思うけど、
Apple依存というところが最大のネック。

717 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:09:29.66 ID:H+Mv/KjD.net]
ないです
RustのGUIクレートってどれがいいんだろ

718 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:33:25.59 ID:cvyLC6WE.net]
コンパイラチェックが厳しいで思い出した

全然関係ないけど自分は麻雀が打てない
ゲームではできる
自分では上がりだと思ってても実際は上がれなかったりする
結局ゲームで判定してもらってる
どこが悪いのかは自分で分かっていない

コンパイラのチェックでは原因が出るのでどこが間違ってるのかはわかる

719 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 09:43:27.34 ID:7NJqkFJL.net]
Rustのコンパイラはどの部分とどの部分がどういう問題となっていて今回のエラーとなっているのかを
複雑なケースでも丁寧に教えてくれて学習効果も高いですね

720 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:38:03.26 ID:ALVqghU/.net]
結局 c -> c++ -> rust って感じに進まないと理解できないと思うがな。
いきなり c -> rust で何をやってるか理解できるとはとても思えん。
この種のことをrust信者はすぐ誤魔化す。

721 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:45:26.66 ID:n9UcTFQC.net]
>>708
どのあたりが理解できないと思う?

722 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:47:43.60 ID:3YobdmGS.net]
>>708
そこは完全に逆
C++は学ぶ必要なし
今となっては何の価値もない言語
C++を学んでも回り道をしている無駄なunique_ptrくらいしかRustのために役に立つ知識がない

723 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 10:53:42.52 ID:EFTB/rfv.net]
>>708
自分はそのルートだったけどC++を経由する必要はどうかなぁ
現代のC++をマスターするのはRust以上に難しいし、初心者が自分でどこまで学べばいいかを判断するのも難しそう
まぁ結局我々は初心者ではないので推測で言ってもあまり意味はないけど



724 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:02:06.42 ID:SpxMIjuY.net]
要するにマロックだろ?

725 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:11:18.68 ID:UvtYS0nS.net]
単刀直入に言うと
実はC++とRustには共通点が非常に少ない
特にC言語との共通点を除くとほとんど残らない
だから学ぶべきはC→Rustが正解

726 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:38:59.26 ID:P+77Yson.net]
>713
>実はC++とRustには共通点が非常に少ない

そういう嘘をつくからRust信者はクソ言われるんだよ。

Rustの根幹をなすメモリ安全性はC++のRAII/unique_ptrから着想を得た所有権/ムーブセマンティクスの運用を徹底することによって実現しているし、
Rc/ArcもC++のshared_ptrの機能を強化しているだけ。
引数渡しをムーブセマンティクスデフォルトにするという致命的ミスをしているからC++と別物のように見えるけど、
C++ユーザーからすればC++を少し洗練させたぐらいにしか見えない。
その実体を知りながら「共通点が非常に少ない 」とか言うのは詐欺師ぐらいなものだ。

727 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:49:01.58 ID:0K2sKttC.net]
C++に着想を得ているのはそうだと思うけど、歴史通りの順番で学ぶ必要ある?
(その理屈だと最初はパンチカードからかな…)
C++の後付したわかりにくいmoveを学ぶより、最初から洗練された方を学んだほうがいいと思うけど

728 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:53:43.59 ID:EFTB/rfv.net]
C++の歴史を追っていくみたいなのは、言語設計的にはすごく学びがあって、好きな人にはおすすめなんだけど
ただプログラミングがしたい人におすすめできるかというと…

729 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 11:55:25.64 ID:cvyLC6WE.net]
現実的にはPythton or Java or C# → C  → Rustかな

730 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:00:59.18 ID:LZU2nudI.net]
最近のC++はなんとRustの後追いをしている状況
例えばRustの中核となっている enum OptionとResult そして Iterator
Optionは C++では std::optionalで これはC++17でようやく導入された
Resultは C++では std::expectedで これは現在導入に向けて審議中
Iteratorは C++では std::rangesで これはC++20でようやく導入された
このようにRustでの成功を見てC++が後から導入となっている
最近導入されたばかりなのでC++入門書や解説サイトにはもちろん出てこない
【結論】C++は学ぶ必要なし

731 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:05:05.94 ID:cvyLC6WE.net]
C++は無駄に増改築を繰り返された老舗旅館
通路の途中で無駄に段があったり渡り廊下があったり

HPに書いてある現代風の部屋に泊まれる場合もあるけど古い部屋に泊まることもある

732 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:09:41.54 ID:EFTB/rfv.net]
C++98ならそんな増築感はなかったけど、そこまで戻るとRustとの共通点もほとんどなくなっちゃうしなぁ

733 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:15:44.17 ID:ehpYMGIZ.net]
RAIIとテンプレートメタプログラミングが発見されてから独特の進化を始めたな。



734 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:16:15.06 ID:cvyLC6WE.net]
>>718
>>720
新しい部分を指してC++を学ぶべきと言ってるのではないと思うよ
それまでのC++からC++11 以降の新しい流れをみるんだろ
C++で何が都合が悪かったか判る

735 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:19:37.41 ID:EFTB/rfv.net]
>>722
それって歴史を知っている我々には分かるけど初心者に分かる?

736 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:24:26.93 ID:cvyLC6WE.net]
>>723
自分はC++を学ぶべきとは思ってないけど何が都合が悪いのか体験したらいいということだろうと推測

初心者にわかるかどうかは知らない
初心者にはjava C# Pythonを勧める

737 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:26:21.53 ID:2dOqhr+x.net]
C++の増改築を学ぶのはムダな枝も多くて学ばないほうがいい
RustはC++含めた様々な言語から色々採り入れているけど
洗練して整合性あるようコンパクトに採り入れてるからシンプル

738 名前:デフォルトの名無しさん [2022/04/09(土) 12:36:22.62 ID:HmFS1ypI.net]
>>694
URLキボン

739 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:42:40.46 ID:cvyLC6WE.net]
フレンド関数とか学んでも使いどころなどない

740 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:44:13.05 ID:qlihBLS+.net]
>>706
> どこが悪いのかは自分で分かっていない
Rustで作ったゲームなら、フリテンですor役がありません、と親切に教えてくれるよ

と信者の代わりに突っ込んでみる

741 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:51:14.42 ID:byaB+Tw8.net]
Rustのコンパイラは賢い先生みたいなもので不十分なところを的確に適切に指導してくれる
昔Rustは学習難易度高いと言われていたためコンパイルエラーに最も力を入れたプログラミング言語へと成長した

742 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 12:52:42.79 ID:lI/OjvKQ.net]
レス番がとびとびなんだがそんなに長文書き込んでるやついるの?w

743 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:05:08.55 ID:P+77Yson.net]
>715
何をトンチンカンな指摘をしているんだよ。
>713 >実はC++とRustには共通点が非常に少ない
に対する反論なのに、
>715 歴史通りの順番で学ぶ必要ある?
とか共通点の話と何の関係も無いだろ。
Rust信者はこういう詭弁を弄するクソしかいないのかね。

あと、言語の話をしているのに
> (その理屈だと最初はパンチカードからかな…)
とか言語じゃないものを引っ張り出すようなアホな反論するなよ。



744 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:10:56.96 ID:Wb48yUxI.net]
>>718
C++から見てRustのそのシンプルで分かりやすい記述と概念は羨ましい
だからRustから輸入する形で取り入れることになった

745 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:23:59.57 ID:P+77Yson.net]
>718
>最近のC++はなんとRustの後追いをしている状況

Rust信者は我田引水が酷いな。
C++の標準化が遅いのはC++が巨大だからであって、しがらみのないRustの方が採用早くなるのは当然だろ。

> Optionは C++では std::optionalで これはC++17でようやく導入された
初出はboost::optionalで2003年8月

> Resultは C++では std::expectedで これは現在導入に向けて審議中
これはboost::outcomeが初出かな? 2014年

> Iteratorは C++では std::rangesで これはC++20でようやく導入された
そこそこ違いがあるけど、boost::rangeは2003年。

どれもRustリリース前のものばかりだろ。
RustがC++のアイディアをパクって先行実装しただけじゃね?

746 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:25:35.27 ID:OTzifHJR.net]
C++の貧相なラムダ式見て涙出てくるわ
おばちゃんの必死の若作りみたいで痛々しい

>>730
相変わらず読む価値無しの駄文オナは続いてるようだよw

747 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:29:34.12 ID:il24SwZF.net]
https://mevius.5ch.net/test/read.cgi/tech/1643289587/
そろそろこっちでやってくれませんか?

748 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 13:41:58.59 ID:xJyQ5Sl3.net]
>>733
C++にはRustのenum(=型収容付きenum=タグ付きunion)が無いため
それらC++のバージョンはRustのものより劣っている
それではRustに勝てない

749 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:01:07.29 ID:n9UcTFQC.net]
スレタイの言語間で争える話題ないか考えてみたけど
それぞれ狙うところがバラバラで共通項がないな

750 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:06:05.68 ID:J0gE1zR3.net]
rustスレでやれば
もうJavaレベルには普及しないって結論じゃん

751 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:11:30.90 ID:cvyLC6WE.net]
次のスレからRustの話題は荒れるから禁止にしてスレタイからも削ろうw

752 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:14:38.49 ID:ehpYMGIZ.net]
このスレで荒れてくれる分には構わんわ。C++スレとかRustスレとかを荒らさないで。

753 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:19:25.04 ID:mmQa05p2.net]
便利さを理解するために不便さを体験するべきか否か論な訳だけど、個人的にはそれをするにしては遠回りが過ぎるのがC++という長大な壁だと思っているので経由する必要はないかなと思ってる
代わりの話としてZigとかどうよ
依存型的なコンパイル時計算と実行時計算をフラットに書ける感じ
結構賛否両論来そうな話題だと思う



754 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:22:44.53 ID:cvyLC6WE.net]
あれるのは上等なのか

関数オーバーロードがない言語は軒並み糞

755 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:27:38.36 ID:OWfDePLk.net]
オーバーロードあると高階関数に渡すときに一手間かかるのがヤダ

756 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:30:13.22 ID:cvyLC6WE.net]
標準ライブラリの標準関数のシグネチャー変える言語は糞

757 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:31:10.30 ID:DIYn4SHb.net]
教育には自分を撃てる言語を使った方が良いのでは?

758 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:31:48.55 ID:cvyLC6WE.net]
コンパイルするときにファイルのフォルダ階層に依存する言語は糞

759 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:33:14.01 ID:gSPSOhuN.net]
pythonガチアンチ勢がいるらしいな

760 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:38:25.49 ID:cvyLC6WE.net]
mainのあるファイルから連鎖的に参照されないと同じフォルダにあってもソースがコンパイルされない言語は糞

761 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 14:40:09.03 ID:cvyLC6WE.net]
言語じゃなかったな
コンパイラ環境か?コンパイラドライバか?

762 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 15:06:56.55 ID:BphNan8J.net]
言語依存の特性というよりはコンパイラがインクリメンタルかリカーシブルかなんて、言語にほとんど関係ない・・・

763 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 15:33:43.71 ID:cvyLC6WE.net]
じゃあ
ファイル名がクラス名やモジュール名と一致してないとダメな言語は糞



764 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:12:33.80 ID:+P+cdtWg.net]
自分じゃ話題も振らないのに他のスレでやれとかいう輩って・・・

765 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 17:40:19.06 ID:qlihBLS+.net]
>>741
> 便利さを理解するために不便さを体験するべきか否か論
そう捉える奴も多いのだろうが、それだと完全に精神論になってしまうだろ。


コメントで要求されてる「Howは要らない。Whyを書け」と捉える

766 名前:べき。(C++はRust仕様のコメント)
つまり、C++でどういう手法が試され、結果としてRustが何を採用してるかを紐解けば、
Rustが何故こうなっているのかが分かる、というわけ。

信者がひたすら「Rustは正しい」と信じることしかできないのは、Whyを知らず、妥当性の判断能力がないから。
ただしHowはRustの場合は文法にしてしまっているので、
Whyを知らなくても、知ってる奴と同等のコードは生成出来てしまう。
だからプロダクト目的のRustドカタには必要がないのも事実。
(これはフレームワークに於いて、何故こんな構造を採用したのか?とか考える必要がなく、
ただ従って正しく使えば生産性が上がるのと同様)

逆にアカデミックとか、Rustの次の言語を考えたい奴がWhyを抑えないのは問題。
信者ではなく、自分で判断してRustを選択したと言いたいのなら、Whyを知らないといけない。

(知ってないと判断出来ないはずなので、論理的に矛盾する。
これはC++の全てを知っておけという意味ではなく、
Rustで採用された「データ競合」「寿命管理」「例外処理」等の対処方法については、
当然だが他のやり方も存在しており、それぞれ一長一短有るから統一されてない。
それらを知らずに、Rustのやり方しか知らず、ひたすらRustマンセーなら、それはただの信者と言える)
[]
[ここ壊れてます]

767 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:34:35.92 ID:JZiB2qZH.net]
色んな言語やってきたが総合的にみてRustが現在のプログラミング言語の中の最強言語で間違いない
理論的に任意の言語が動き実際にも多数の言語が動かされているWebAssemblyにおいてもRustが利用トップである客観的事実もある

768 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:36:58.31 ID:il24SwZF.net]
話題は>>577で振ったけどスルーされました(^p^)
実際どうなんすかこれ、Yewとかその辺の利用者の使用感知りたいんだけど

769 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 18:48:35.17 ID:SpxMIjuY.net]
C++理解した程度でプログラミング理解したと思ってるのが痛々しい

770 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:19:57.41 ID:cvyLC6WE.net]
Rustはボロー周りとEnumだけがよくできていて他はそうでもない
長期で運用しにくいしょうもない弱点だらけ

771 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:26:08.31 ID:n9UcTFQC.net]
>>757
例えば?

772 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:26:09.05 ID:TpQINAdx.net]
そうだぞこんなの使ったら駄目だぞ

俺は使うがな

773 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:31:58.00 ID:cvyLC6WE.net]
レスをたどる能力もないのかRustの機能や制約を知らないのか自分で何かを調べる能力がないのか
どれなんだろう?



774 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:34:48.49 ID:TpQINAdx.net]
まとめるの面倒だからしないけど弱点だらけだぞ

それでも俺は使うがな

775 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 20:38:12.58 ID:cvyLC6WE.net]
言語面は置いといてrustはまずcargoを何とかしろ
モジュールパッケージの参照の仕組みを改善しろ

776 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 21:14:44.30 ID:HNoOQ+Ya.net]
次世代次世代つって結局Rustしか話題に上がってないやんw

777 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 21:34:11.92 ID:lI/OjvKQ.net]
>>763
つまり次世代はRust覇権が確定。Rust一択ってこと。
VScodeが覇権したようにプログラミング言語もそろそろRust一択にしようよ

778 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 23:10:39.42 ID:SpxMIjuY.net]
GoやクソバカPHPoorが滅びるべきというのには同意

779 名前:デフォルトの名無しさん mailto:sage [2022/04/09(土) 23:31:48.47 ID:qlihBLS+.net]
それがRustが現在も今後とも流行らない理由だろうね

780 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:20:38.04 ID:xqQhhwbp.net]
他の言語でもRustのように広い意味でのデータ競合を実行前にチェックしてくれたらいいのに
そうすればその分の実行時デバッグを無くすことができるのに

781 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:52:23.84 ID:fmRbxCQk.net]
>>767
それ、馬鹿の一つ覚えだろうけど、割とマジに、データ競合で困る事なんて無いぞ。
もしみんなが本当にデータ競合に困りまくってたら、あらゆるアプリがRustでキラーアプリ化してるはずだろ。

実際は誰も困ってないし、さらにホームドアを付けたところで元々バグもないから差別化出来ず、キラーアプリ化もしてない。

面倒なのでスルーしたが、256で突っ込まれてるように、
実行時デバッグをそれほど必要としてる時点でプログラマとしてはポンコツ。
初心者なのを自覚して、まずはコードを頭の中で動かせるようになる事を目指すべきだよ。

782 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 00:52:41.03 ID:dmNwgspZ.net]
とかく計算系のライブラリの高速実装がGPGPU関係なくRustよりC++が優先されているのが悲しいが個人でなんとかできる規模でもなく

783 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:03:58.92 ID:fmRbxCQk.net]
>>769
やれば分かるが演算系はリソースの確保/開放ははっきり言ってほぼ必要ないので、
C++どころかCでも全く苦労しない。
しかもRustだと使い回すには一々所有権を気にしないといけないだけ面倒。
他言語なら見えれば何度でも問題なく使えるのに。

だからその辺がRustメインになる事はあり得ないと思うけど。実用重視なら尚更。
境界チェックが一々入る分だけ無駄に遅くなるのも致命的ではあるし。

俺は演算部分だけCのdllにして、GC言語からそれを呼び出すのが最強だと思うけど。
つまりNumPyでいい。(なお俺は使った事無いが)



784 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:07:40.61 ID:clYg/AzK.net]
>>768
超巨大なコードベースの前で人は簡単にポンコツになるよ
Sanitizerやclang-tidyへのgoogleの投資を見れば分かる

ただこの手のツールが必要になる言語やアプリは限られているから
あらゆる領域でデータ競合抑止が役に立つというのは偽だとは思うが

785 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:22:47.07 ID:fmRbxCQk.net]
>>771
それはコードベースが巨大すぎて見落とす確率が高くなるだけだろ。
ただし事実としてこれはあるのは認める。

これについては、Web系見てて思ったんだが、

Java(OOP): どんな巨大なコードでも、20年前のコードでも、メンテナンスしてみせる!!!
Web系(Restful): そもそも巨大にならないように分割。
 一人で管理出来るサイズ(1,000-10,000程度)なら管理も簡単だし、コードも最悪書き捨てでもいい。

で、俺はWeb系の方が正解じゃないかと思いだしている。
だから、Javaを殺すのはWeb系だろうなとも思っている。

786 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:24:17.90 ID:7I8wnXlj.net]
Rustのプログラミング開発効率の良さには感動した
めっちゃ便利やな

787 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:24:40.32 ID:fmRbxCQk.net]
あ、すまん、分かると思うが、772訂正。

× 1,000-10,000程度
○ 1,000-10,000行程度

788 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:35:56.55 ID:o4uZiwRi.net]
>>772
用語の使い方からも
間違った対比からも
知的レベルの低さが露呈している
そこは単純にモノリスvs.マイクロだけであってOOPやRESTは関係ない

789 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:51:37.37 ID:lgnAhvFe.net]
>>772
web系というかブラウザやらOSやらの低レイヤーで考えるべきかと
OSもマイクロカーネルにしたらバグ少なくなるのかね

790 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:55:17.11 ID:G67EgXPk.net]
Nimの話題ロクに出てこないね
自分は使ったことないけど、使ったことある人はどう?
他の言語との違いや特色教えてくれると嬉しい

791 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 01:55:40.00 ID:fmRbxCQk.net]
>>775
まあ揚げ足取りはどうぞご自由にだが、話は通じてるようだ。
それで、反論は出来ないのか?
だとすると、やはりRust信者は低脳だとしか思えない。
(議論する気があるのなら、そのレスでは駄目だし)

・巨大化したコードベースではどうしても見落としが発生する

792 名前:から、全部所有権を強制化してコンパイラでチェックする
という直接的な解決策をRustは採用しているが、
・そもそも巨大化しないようにひたすら分割し、見落としが発生しにくい規模に抑える
という、上位アーキテクチャでの解決策もあるのだよ。
これは「データ競合」の時も言ったろ。
そこに問題があれば、解決策もそれなりに用意されてる。(格好いいかはまた別だが)
それでは解決出来てない!不十分だ!と言うのなら、
どうにも取りきれなかったバグがRustによって取りきれ、結果的にキラーアプリ化するはずなのだが、
実際これがないだろ。
なら、これまでの地味な方法でも何とかなってたって事なんだよ。
[]
[ここ壊れてます]

793 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:03:42.86 ID:fmRbxCQk.net]
>>776
> OSもマイクロカーネルにしたらバグ少なくなるのかね
通説としてはそういう事になっている。(まあ知ってると思うが)

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

俺が言ってるのはもっと単純な話で、
機能が少なければ、実装に必要なコードも少なく済み、見落としも減る、という、至極当たり前の話。
だから「仕様を必要最低限に絞る事こそ最強」という話だね。
これもよく言われているとも思うけど。
だから、マイクロカーネルの方が仕様が小さいから実装コードも減り、結果的に「見落とし」のバグは減ると思うよ。



794 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:03:43.80 ID:Yq6q8jid.net]
Nim、vlang、Zig、Zenらへんはマイナーすぎてなんとも
D言語が使われなかったのと似たような理由で使われなさそう

795 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:04:15.32 ID:UjiUu+PI.net]
結論は変えるつもりがなくそこに至るまでの論理だけを手を代え品を代えひねり出し続ける
信者もそれに対する批判も不毛なんだ

796 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:06:36.51 ID:NYexxOz5.net]
>>778
アーキテクチャとアプリと言語は全て別問題なのに区別がつかずにごっちゃに話しているキチガイに見えます

797 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:21:42.17 ID:UjiUu+PI.net]
そんなことより次々世代言語にどういう特徴を持った言語が来るか予想しようぜ

798 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 02:34:28.97 ID:NYexxOz5.net]
>>780
IT大手各社が珍しく揃って支援&採用しているRustだけが最近のプログラミング言語の中で長期に残りそう

>>783
Rustを置き換えるような次々世代言語は
Rustが備えるC言語並の速さ省メモリと安全性を押さえた上で異なるアプローチとなるだろうけど
Rust関係の論文が多い状況からすると理論的な裏付けが先行研究としてあるものの中から出てくるのかな

799 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 08:39:07.48 ID:K0blu0OJ.net]
C2とATS2のことも忘れないであげてください!

800 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:17:53.01 ID:fmRbxCQk.net]
>>782
それはRust信者はプログラマではないからだな。

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

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

801 名前:常にある程度は周りに気を付ける
・アーキテクチャ:高架化して踏み切り自体を無くす(C#)

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

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

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

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

Rustは「一方ロシアは鉛筆を使った」の米国側を突き進もうとしてる。これもありだが、ロシア側もありなだけの話。
[]
[ここ壊れてます]

802 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:21:12.35 ID:n6k1Ijhp.net]
この人は無駄で無意味な間違った例え話を延々と繰り返し妄想の世界に住んでいる

803 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:21:25.28 ID:sR7YmRYu.net]
Scalaの方がKotlinより機能豊富だけどWeb系では落ち目になったね
Scalaの方が好きだが



804 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:26:20.41 ID:BLmvSJJ5.net]
>>788
Scalaは結構好きで長く使っていたけど
使っているとどうしてもJVMが見えてしまう部分があって
Rustに乗り換えちゃったな

805 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:29:58.47 ID:93k1uAXl.net]
rustaceanはある時期を境に爆発的に表に出てきてプログラミング界隈を圧倒する未来が見える

806 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 09:41:23.13 ID:BLmvSJJ5.net]
表に出るかなぁ?
OSやコンパイラ、ミドルウェアあたりに侵食して、気付かないうちに全員が依存してる、みたいな状況なら有り得そう

807 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 10:05:57.88 ID:W8i2G4wq.net]
scalaはコンパイルが困憊るほど遅すぎた

808 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 10:55:59.09 ID:vR2aNwQM.net]
>>779
>Linusはモノリシックカーネルの利点を言ってるけど、あれは俺は後付だと思うよ。
後付けというか経験知からの意見だろ。
Linusはそもそもが理論家なわけでもないし。
仕様を最初から小さく絞れるとか考えてる奴は全く的外れとしか言いようがない。

809 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:21:10.49 ID:7HDkHX8h.net]
Linux作り始めたときからタネンバウムと論争しているのに理論家じゃないとか後付けとか

810 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:26:19.70 ID:nRSUY8iy.net]
一部だけ小さくしてバグ減っても意味ないよ。
部分的な最適化はシステム全体の最適化の視点では上手く機能するわけではないからね。
一つ前のFreeBSDで話題になって詳しい人が説明してくれてた。
https://mevius.5ch.net/test/read.cgi/unix/1630061644/794

811 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 11:41:39.32 ID:vR2aNwQM.net]
>>794
だからLinusはタネンバウムみたいな理論家を嫌ってんだろ。議論の中身理解してないのか?

812 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:14:41.45 ID:N1Kz0CTA.net]
>>783
C言語より10倍速い言語が現われて界隈歓喜

813 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:18:37.19 ID:W8i2G4wq.net]
>>783
Googleに頼めば全て完成する



814 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:31:07.74 ID:2AahvlRa.net]
次世代はシンプルな言語仕様+強力な静的チェックだと思う
Rustみたいに事前の宣言でガチガチに縛るんじゃなく、型推論やフロー解析を積極的に利用して利用のされ方に基づいた型チェックや生存期間のチェックを行う
まあこのままいくとJavaScript+VSCodeがそれになるかもしれないが

815 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:46:03.55 ID:fBzqkVFD.net]
>>799
ことweb界隈で使われる言語に関しては前半同意

サービス独自の機能をスピーディーに開発することが求められるweb界隈において、プログラマ自身が考えないといけないことが多くなるrustはまず普及しない

816 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 12:55:32.64 ID:fmRbxCQk.net]
>>793
運用していくうちに追加追加で仕様が段々膨らんでいくのはある程度仕方ないとして、
それでも更新タイミングで不要な仕様を出来るだけ削除して仕様を絞るのは基本中の基本だろ。
マイクロカーネルもある意味これで、「カーネルがやるしかない事しかやらない」という、最小仕様を目指したものだ。

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



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

ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。
今でもモノリシックの利点を説いているのは、後付のように思える。

817 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:03:29.70 ID:WQm20ac3.net]
>>794
「俺は後付だと思う」って予防線貼ってるし、そこまで知らなかったんだよ、きっと
許してあげて

818 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:10:21.13 ID:BLmvSJJ5.net]
>>799
Rustのように型が強力でコンパイル時チェックの細かいGC言語ってのが現状ないから
そこは新言語の余地がある気がしている
JSだとどうしても型はガバガバにならざるを得ないからなぁ

819 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:17:50.89 ID:blp15KeH.net]
言語には向き不向きがあるわけで
それを無視してRustがすべての言語を置き換えるみたいな話をしているのがおかしい
C/C++の置き換えは進むかもしれないけどwebやスマホやPCアプリとかでは採用されないでしょ
普通はどの言語が最適かをいろいろ検討して決めます

なんか通販の広告みたいなんだよね
良いことしか言わないし
大手IT企業が採用ってのは通販広告の有名人も愛用!みたいな感じ
コンピュータ関係の新技術の売り文句は100%そうだった試しはないので話半分で聞いていた方がよいと思う

820 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:30:51.71 ID:fBzqkVFD.net]
>>804
ほんまこれ
このスレの一部のRust信者がRustこそ至高みたいなノリだけど、このノリについていけないRust推し結構いると思う

821 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 13:55:42.06 ID:UjiUu+PI.net]
いつでも最初から型が要るのは足枷というのは確かに思うわ
そうなると漸進的型付けってやつかねえ
TS以外のaltJSは死んだとかだれかが言っていたが、Haxeの再興もあるか?

822 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:04:03.83 ID:WXrh5iWM.net]
>>805
というよりRustは好きだけど別に推してはないという
誰も使わなくていいよ
俺と一部のお前らが使うだけでいい
みんなに使ってもらう必要なんて一切ない

823 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:14:16.90 ID:li ]
[ここ壊れてます]



824 名前:fo30Qd.net mailto: >>807
そう思ってるなら言わなきゃ良いんじゃないですか?そういう他の言語を使ってる人を小馬鹿にした態度がRust推しそのものでしょ、しかも良い印象は全く受けない
[]
[ここ壊れてます]

825 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:16:40.89 ID:WXrh5iWM.net]
アンタにレスしてないから気にしないでね
人を小馬鹿になんかしてないし
Rust以外の言語も好きだし
そもそもどの言語も馬鹿にしたりしない

826 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:23:28.49 ID:sejldIDY.net]
こういう屈折した性格の勘違い野郎ばっかで本当に近づきたくない。扱いにくいのに能力なんてないし言語触ってれば最先端だと勘違いしてる、とんでもねえバカ

827 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:40:08.25 ID:9taU8UGO.net]
RustはMozillaのステマでfirefoxのRust導入は
不可能と叩きが暴れてた頃が懐かしいなあ〜

828 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 14:57:34.06 ID:fmRbxCQk.net]
>>810
まあ勘違い馬鹿は必ず存在するのである程度致し方ない。
連中は基本的に「難しい言語使ってる僕すごい」であり、
プログラミング言語の優劣を自己で判断する能力はないので、
何か新しく「凄いけど難しい!!!」とされる言語が出てきたら勝手に移住する。
だから、対策としては、何でもいいから新しい言語を作って適当に吹聴する事だね。
そうすればRust界隈も浄化される。

なお一時期はC++の連中の選民思想が超絶にウザかったが、これが今はRustになってるだけ。
ならC++スレはどうなったかと思って見てみたら、完全にお馬鹿の溜まり場になってたわ…。
まあ○○言語を使ってれば賢いって事にはならないので、当然でもあるのだが。

829 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:13:47.07 ID:nUqmGYW5.net]
ちんちんシュッ!シュッ!シュッ!

830 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:18:10.17 ID:LCNa54V5.net]
完結に喋れない病気直ってないの?

831 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:22:51.62 ID:fmRbxCQk.net]
>>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の高速化でしょうが、と。

832 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:22:54.24 ID:WXrh5iWM.net]
>>811
なんか最初の頃はMozillaの印象強かったよねえ

833 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:24:50.68 ID:x8 ]
[ここ壊れてます]



834 名前:oklrTT.net mailto: >>805
そもそも5ch以外で信者っぽい人見たことないけどな
リアルでもTwitterあたりでもみんな複数言語使ってる中の一つにRustもあるってだけ
[]
[ここ壊れてます]

835 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:33:46.76 ID:lgnAhvFe.net]
>>815
ruby3はruby2の3倍高速化というお題目でそれなりの成果を出した訳だけどそれでもまだまだ足りないと言うのね

スクリプト言語で高速化するためにはボトルネック箇所をCなりで置き換えるのが普通
JSはブラウザで動かさなければならないという制約上言語自体を高速化する必要があり
ブラウザベンダー大資本がつぎ込まれた結果高速化した
前提がかなり異なるから同じことがruby/pythonに起こることはないのではないか

836 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:56:47.79 ID:fmRbxCQk.net]
>>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に起こることはないのではないか
逆に言えば、金さえつぎ込めば改善出来るわけで、
改善項目とそれに要する金額をずらっと羅列して、クラファンで資金が付いたところから実行、
十分な結果で採り入れられたらそいつがその資金を給料として獲得、とかいう方式にすれば、
割とすぐにでも行けるんじゃないかと思うんだけどな。

837 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 15:58:01.34 ID:UjiUu+PI.net]
>>815
> JSにおいて速度の枷は動的型であり、だからこそTSでアノテートだが

違うよ
ブラウザがTSをそのまま食えるようにするというのは開発者側でトランスパイルする必要性を無くすだけで実行速度の改善を目的としたものではないよ
ていうかその方向性はasm.jsとかPNaClみたいな先駆者がいて彼らの現状の到達点がWASMという経緯があるよ

838 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:21:05.00 ID:fmRbxCQk.net]
>>820
> 実行速度の改善を目的としたものではないよ
それは知ってるが、JSの速度改善には型の固定(静的型)が必要だから、「『Any無しの』TSを食わせる」必要があるんだよ。
その前段階として「TSを食わせる」が必要なわけ。
(実際やろうとしてるかは知らん)

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

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

「Any無しのTSを食わせる」位ならBlazorでWebAssemblyしろってのはその通りだが。
だからWASIも方向性としては有ってて、最高に上手く行け

839 名前:ホJVMを置き換える事になるかもしれんけど。
(Java言語そのものは死なず、JavaからWebAssemblyを吐くようになるだけだが)
[]
[ここ壊れてます]

840 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:49:31.19 ID:UjiUu+PI.net]
知らなかったくせに

841 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:53:31.25 ID:QEMS6G9N.net]
毎日Rust攻撃してる人、暇なんかな。
別の事に時間使えはいいのに、と他人事ながら思うよ。

842 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 16:57:09.68 ID:7HDkHX8h.net]
AssemblyScript や Static TypeScript の話をどこかで聞きかじったのが混ざってるんだと思う

843 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:16:31.79 ID:ZtzjE5Lq.net]
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 だけと宣言した



844 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:19:51.97 ID:kr0xp78k.net]
>>794
ライナスは理論家じゃなくて実務家

ライナスはUNIXクローンが動かないと意味がないからとりあえずソースを書いて動かそう派で
タネンバウムは理論上マイクロカーネルが有利だからマイクロにしろと言って噛みついて来た理論家

845 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:37:12.48 ID:ZtzjE5Lq.net]
Blitz.js は、React 版・Ruby on Rails。
Cake PHP みたいなものか?

Type Script なら、Rubyよりも型安全だけど、
モデルが、RailsのActive Record よりも弱いらしい

846 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 17:53:45.64 ID:lgnAhvFe.net]
>>819
"それなりの成果" ってわざわざ書いた意図をくみ取って欲しかったな

クラファンとかアイディア出すのは良いんだけど
具体的にどういう課題があって改善したがってるのかが分かんないんだよね
Cで書いたモジュールと置き換えるのじゃだめなの?

847 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 18:07:58.32 ID:b41tYEVR.net]
定期的にKENTAさんを引用している人、もしリスナーさんだったらやめたほうが良いですよ?

分析は正しいかもしれないが、イメージを悪くして迷惑をかける可能性だってあるし、
本人が見ていないところに、荒らしにも見える行為はマナー上良くないですからね?

848 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 18:20:31.55 ID:aoUYGCMa.net]
Youtubeで有名な、とかいう主観に満ちた枕詞をつけてるあたり権威付けして威を借りようとでも思ってるんでしょ

たかがYouTuberに言語の勢いを減らせるほどの影響力ないでしょ

849 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 18:27:03.03 ID:Yq6q8jid.net]
YouTuberの名前を出されても中学生が書いてるのかなとしか思わんしマジでそんなやつどうでもいい
偉そうに技術を語るなら、超有名OSSプロダクトをいくつも作ってるとか、GAFAでアーキテクトをやってるとかぐらいの実績がほしい

850 名前:825 mailto:sage [2022/04/10(日) 18:58:00.76 ID:ZtzjE5Lq.net]
KENTA の有料のRuby on Rails サロンは、

851 名前:日本6位の3千人。
日本1位は、キングコング西野の数万人

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

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

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

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

でも、これほどすごくても、日本人の年収が先進国の1/3 なのも、あり得ないけどw
失われた30年。
財務省のせいで、世界中で唯一、GDP が伸びなかった国
[]
[ここ壊れてます]

852 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 19:10:26.93 ID:TRRwI9qz.net]
KENTAガイジNGしてないひとまだいたんだ

853 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 19:35:37.31 ID:N5dTO4j8.net]
>>821
GC対応は悲観的
様々な言語で効率化が異なる手法のGCのためにWebAssemblyに共通仕様のGCを作るのは不可能という結論になった
だから当面はWebAssemblyにGCは載らずいずれGC対応しても各GC言語はそのまま動かず特別仕様に制限される



854 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 19:50:06.06 ID:lgnAhvFe.net]
>>834
JVM on WASMみたいなアプローチならどうじゃろ?

855 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:10:14.95 ID:vR2aNwQM.net]
>ただ、今となってはマイクロカーネルにすべきだし、徐々にでも変更していくべきだと思うよ。
>今でもモノリシックの利点を説いているのは、後付のように思える。
そう思ってるなら思ってる奴がフォークするなりしてやればいいんじゃね?
そのためのフリーソフトなんだから。でも結局やらんだろうがな。

856 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:30:35.41 ID:aoUYGCMa.net]
オンラインサロンの会員数を出したり、外人から驚嘆されてるとかいう眉唾情報を出したり、教祖が教祖なら信者も信者だな

857 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:49:57.25 ID:fmRbxCQk.net]
>>828
> 具体的にどういう課題があって改善したがってるのかが分かんないんだよね
> Cで書いたモジュールと置き換えるのじゃだめなの?
この主語がRubyではなく、Rubyランタイムだと仮定すると、以下。


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

改善箇所は、まずはプロファイラ付きのランタイムを配ってデータを集めて、
使用頻度の高さ*コード見ての改善見積もり=高速化効果見積もりと、その費用の一覧を作って、
ついでにそのプロファイラー付きランタイムでの使用実績も掛けて各社向けに
「御社のRubyプログラムは○○円で△%高速化」の一覧に差し替えて、クレクレ君するしかないね。
長期的に見れば自前でゴリゴリチューニングするよりランタイムが速くなってくれた方が楽だから、
10社くらい束ねればわりと行けるのではないかと。
あくまで、各社が「ここを速くしてくれ」として費用を出してきた場所を改善だ。
ユーザー無視して高速化しても外れるだろうし。

858 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:50:32.86 ID:fmRbxCQk.net]
>>828
> 具体的にどういう課題があって改善したがってるのかが分かんないんだよね
> Cで書いたモジュールと置き換えるのじゃだめなの?
主語がRubyだと仮定して、
Rubyのどこが不味いのか、速度が欲しければCでdllを用意しろ、という意味なら、死ねと言われるだろうよ。


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


859 名前:これからコードを書く/学ぶ連中にとっては全く意味無い。それよりは、最新の書き方を試せる方がいい。

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

で、RoRは仕様を改訂/捨てまくりだと聞いてるけど、
あれが正しいよ。というか、何かしらPython(や他言語)と差別化しないと死ぬだけ。
[]
[ここ壊れてます]

860 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:57:15.28 ID:aoUYGCMa.net]
学生にRuby…?
専門学校ならそれでいいかもしれんけど

861 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 20:58:47.74 ID:fmRbxCQk.net]
>>834
> 様々な言語で効率化が異なる手法のGCのためにWebAssemblyに共通仕様のGCを作るのは不可能という結論になった
そりゃそうかもしれんが、これはWebAssemblyの連中が真面目すぎるだけ。

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

やりたくないから理由を適当にでっち上げたようにしか見えないね。
(オープンソースならそんなもんだが)

862 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:10:10.44 ID:fmRbxCQk.net]
>>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

ただまあ、マイクロカーネルにしても、
ドライバ周りのコードを(カーネル開発人員が)自前で書かないといけないので、
最終的に書かなければならない合計コードサイズ自体は大して変わらず、
カーネルで落ちるかユーザーモードでバグるかの違いで、大して意味はないのかも?
ならわざわざやろうと思わないのも道理だ。

863 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:15:37.68 ID:QEMS6G9N.net]
GNU Hurd ダメなやつだから。



864 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:24:19.23 ID:9taU8UGO.net]
この聞きかじりで広く明後日の知識を披露してる人は
前暴れてた人と同じなのか違うのか

865 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:28:26.61 ID:ZtzjE5Lq.net]
循環参照とか参照カウント・世代別GC とか、
動的言語で、そんな事を知っている香具師はいない

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

Cookpad の笹田耕一が、どういうようにRuby VM を作ったかと言うのは、
日本人だけは知っている

866 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:44:41.86 ID:+3UgN2G1.net]
香具師→やつ
訂正しとくわ

867 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:54:26.09 ID:W8i2G4wq.net]
>>832
すまん、コレ見るとやっぱジャップランド土人ってガイジの集団じゃないか?
中国に併合してもらって考えを悔い改めた方がいいのでは?

868 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 21:55:02.28 ID:QUw9uGH2.net]
V8高速化するのは兆円越えるような凄まじい金銭が投入されてるが、pythonの組織など億から10億程度、rubyはその1/5行くかどうかなんだから

869 名前:」り合える訳がない。 []
[ここ壊れてます]

870 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:10:35.68 ID:tGlbubKc.net]
他言語のエンジンをrustで作り出したら本格的

今のところjs/tsのエンジンであるdenoのみか

871 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:50:17.14 ID:D/xoL3wp.net]
GOとか早くも終わりそうな感じだけど実際どうなの?
API作るには良いかと思った事もあったけどわざわざ採用する程でもないんだよねぇ

872 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:54:33.39 ID:EeuOQJAe.net]
>>849
RustによるPython実装のver0.1が公開
https://egg.5ch.net/test/read.cgi/river/1627101447/

Rython(ライソン)は、Rust言語によりPythonを実装することを目的として開発されたプログラミング言語である。

873 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:54:54.30 ID:vR2aNwQM.net]
サーバー用途以外だったらワークフローエンジンとかCIツール周りなんかは向いてそうな気はする。



874 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 22:55:50.40 ID:Yq6q8jid.net]
>>848
いくらなんでもそんなに金かけてるわけないだろ
V8の開発をする専門エンジニアをフルタイム数万人規模で働かせるっていうの?
ちなみに任天堂やソフトバンクの時価総額が7兆円ぐらいな

875 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 23:46:53.01 ID:OCBvsT75.net]
>>850
Goはある範囲内なら簡潔に分かりやすく書けていいよ
今はRustでもGoと同様のプログラミング方法で簡潔に分かりやすく書けるようになったため私はRustへ移った
理由はRustの方が速くて他にも広く適用できるため

876 名前:デフォルトの名無しさん mailto:sage [2022/04/10(日) 23:58:13.16 ID:pEZ46Oyr.net]
>>835
もちろんそれでも他でも動く
C#によるBlazorも重くて遅くてデカいけど動いている
焦点は効率の問題

877 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 00:50:05.90 ID:E3KBZvfK.net]
>>838
いや、だから一般論じゃなくてあなたは何に困ってるのかを聞いてるの
ただ漠然と速度が遅いと言われるだけでは分からんのよ

878 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 01:12:00.13 ID:umXHqcZk.net]
使ってないので何も困ってませんというオチ

879 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 07:03:18.35 ID:j88vhZuT.net]
抽象論で済ませたいという輩はそもそもプログラム向いてないよ。

880 名前:デフォルトの名無しさん mailto:sage [2022/04/11(月) 07:06:48.33 ID:3x0R8xqL.net]
だってプログラム書けないだもん

881 名前:デフォルトの名無しさん mailto:sage [2022/04/12(火) 13:44:31.10 ID:A7zu82Eq.net]
速度に不満があるならJulia使おうぜ
ちなみに俺はプロット表示出来なくて、すぐ必要なわけでもないし面倒になって環境構築の段階で挫折した

882 名前:デフォルトの名無しさん mailto:sage [2022/04/12(火) 20:19:42.59 ID:vS+B3//0.net]
所詮道具は道具だ
個人的に深掘りしたいライブラリ整備したい言語と
働くために使う言語は別だと割り切ればだいたい幸せだよ

まあそれで何個も使ってるとしんどいんだけどな

883 名前:デフォルトの名無しさん mailto:sage [2022/04/12(火) 20:24:08.33 ID:Th8uJDWe.net]
>851 さすがに むせた



884 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 02:09:35.75 ID:dECpaYfo.net]
流れに身を任せれば良い。幸福感が得られる。
重要な決定に関与しないので、責任感に追われることは無い。
それも生き方。何の間違いもない。

885 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 09:38:49.99 ID:McIysJ0Q.net]
このようにして奴隷は誕生するのである。

886 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 14:31:42.18 ID:7VeATDTg.net]
プログラミング言語の人気ランキング、順位変動は縮小傾向にある――RedMonkが調査
https://atmarkit.itmedia.co.jp/ait/articles/2204/13/news040.html

887 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 16:28:48.93 ID:WrxbMLiQ.net]
Nimだけトップ20圏外か

888 名前:デフォルトの名無しさん mailto:sage [2022/04/1 ]
[ここ壊れてます]

889 名前:3(水) 17:49:20 ID:QcgahTwn.net mailto: うぅ、、Nimさん(;;) []
[ここ壊れてます]

890 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 19:36:47.36 ID:uZMWha80.net]
考えてみたらnimなんてQitaか5chでしか聞かなかったもんな。
声の大きい人のおかげでGoやRustと同格っぽく錯覚してたけど、実際は>>865のように
Crystalあたりが比較対象になるマイナー言語だったんだよな。

891 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 19:42:01.28 ID:tSwum0gN.net]
メジャーかどうかがキミらの関心事なん?

892 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 19:49:54.89 ID:P5Yf9dEj.net]
>>865
16.Go
17.Powershell
と並べられるとGoが急にしょぼく見えてきた

893 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 20:39:44.52 ID:je5sMJxi.net]
Zigがグラフに入ってない気がするけどなんでだろ?
Vでも入ってるのに



894 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 20:55:30.92 ID:TtGTyBSH.net]
Zは今は駄目だ

895 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 20:59:16.38 ID:kkNkKFp+.net]
型無し糞言語を勧めてくる屑どもは市中引き回しの上打ち首に処せ

896 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 21:55:10 ID:VZeyJm3t.net]
>>865(整理)
1 JavaScript
2 Python
3 Java
4 PHP
5 CSS
5 C#
7 C++
8 TypeScript
9 Ruby
10 C
11 Swift
12 R
13 Objective-C
14 Shell
14 Scala
16 Go
17 PowerShell
18 Kotlin
19 Rust
19 Dart

897 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 21:56:44 ID:WrxbMLiQ.net]
Rが意外と高ランクなのはなぜだろう
Stack Overflowの質問数が多いから学生が課題で使うなどしてるのかな

898 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:04:41 ID:lf84vSB/.net]
>>874
このスレにとっての整理というのはこういうことだろ
8 TypeScript
11 Swift
16 Go
18 Kotlin
19 Rust

899 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:07:12 ID:CqWBmt+n.net]
>>865
この相関表だとJuliaがここにスレタイに入ってないのはおかしい、Nimも外してJVMで動いてる競合が全くしないKotlinも外せよ。
入れるならコンパイルできるHaskell、Erlang、Dあたりだろう。TypeScriptは残しても良いけど、ここの人たちがGCだのなんだの
ムーブセマンティックがどうの言うてる次世代言語のような先進性なんてほとんど無いぜ?
このスレにNimがあるのはえらい迷惑、RustやC++をまじめにやってる人も迷惑だと思うけど、あんたら好きそうだから隔離としては
ええんちゃうか?

900 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:10:18 ID:SVdVjY9z.net]
こないだここで話題に出てたFlixはいいセンいってると思うんだけどな

901 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:11:15 ID:CqWBmt+n.net]
そもそもHaskellが入ってないのがおかしい

902 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:20:19.72 ID:tuyUM4Xb.net]
「次世代言語」ってどういう意味よ
ちなみにHaskellはJavaやPythonなんかよりも古い言語だ

903 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:35:07.15 ID:WrxbMLiQ.net]
現世代じゃなくて次世代ってことは流行ってる言語はだめか
Nim以外スレタイから消した方が良い?



904 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 22:48:55.23 ID:IduSatGp.net]
実用プロダクトがバンバン出て
求人も当たり前に見つかるのは
次世代感はあまり無いかも

905 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:05:23.43 ID:ay76B0Js.net]
>>880
Haskellは98とか2010とかいろいろ修正機能追加してるので、C11とかC++20とかそういう立場でしょ。次世代ってことは現世代で
問題があるか書き難いか、表現しずらい、誤解を生むような記述が解消されてたり、コンピューターサイエンス屋が無理やり入れたに
機能なんかを削除したり。あとは実行上のメモリー管理や分散処理が簡単になると

906 名前: []
[ここ壊れてます]

907 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:07:38.62 ID:n/eoHDdL.net]
それはNimが現世代言語になれなかっただけでは?

908 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:26:59 ID:lUUAz3L8.net]
>>880
無駄が少なく記述できる(冗長・簡潔)とか、新しい概念が追加されている(Structured programming→OOPS)なんかもそう。
今まではアセンブラや行番号記述の言語(例えばN88BASIC)などから構造化プログラミングが可能になり、C++やJavaでOOPSが唱えられていたけどRustで言えば多態はクレートになるが、クレートより先の進化が無いとは限らない。
またErlangやHaskellにあるガード構文もパラダイムを変えるようなものではなく、あくまでも制限なので構文上で次世代というには、多くの言語が似たような構文を導入し始めてる。
例えばasync/awaitなど非同期構文などはまさにそれ

909 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 23:42:53.90 ID:5KgZTTtC.net]
>>883
メモリー管理というか、どんどん複雑大規模化するソフトに対するメモリーに起因するバグが統計的に少なく記述できる「次世代言語」

910 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 11:35:33.89 ID:lzoOecS7.net]
Haskellはメインの言語としては狭すぎる                 
特殊な分野向け

というがCSSがランキングにあがってるんだよね

911 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 12:22:45.14 ID:Z089SWEo.net]
ScalaがGoやKotlin,Rustより上なのか
Scala3になっていろいろ改善されてるみたいだし、まだ復活の目ある?

912 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 12:46:43 ID:NlVTXqiH.net]
ない
Scalaはビッグデータ分野のOSSでの採用が多かったから既存コードベースだけは無駄にデカい
そんな状況で非互換メジャーアップデートしたらどうなるかわかるだろ?

913 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 17:49:33 ID:kkKc/VMN.net]
なるほどPython3



914 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 18:41:17 ID:lzoOecS7.net]
本当の意味での次世代って存在するのかな?

ロシアが威嚇のために日本海に向けてミサイル撃ってるけど
他の国にも威嚇してエスカレートして核戦争始まって文明が滅ぶかもしれないw

915 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 20:30:53.20 ID:06ANIdH6.net]
人類がそこまでの存在だったってだけの話よ

916 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:31:28.88 ID:dmYzyL87.net]
次世代言語って、今流行してる言語を置き換えうる別の言語ってことじゃないの?
新しい概念やらが採用されてるかどうかは関係なく、政治的な理由で決まることもある気がする
まあそういうのよりは、新しい概念が採り入れられてる言語について語ったほうが楽しいだろうけど

917 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:39:45.95 ID:IQzKdxCE.net]
Rustは次世代を担う方の素養はないと思う。C->C++->Rustと進んでこないとRustの目指している世界観が理解できないと思うのに、コードは命名規則に_を使うのか思えば大文字小文字でFn/fnで意味付けをしてたり、’staticみたいなコメント?と思える雑な定義が多い。理解してない子が勢いで作ったの?って感じがするので広める前に整理が必要だよね。ISOをとったらどうかな?

918 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:50:00.79 ID:Hy4f2CwM.net]
rust嫌いなのはよくわかったけど理由付けがしょーもなさすぎる

919 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 21:52:41.11 ID:9EW5Ge1x.net]
>>894
JavaScript→TypeScript→Rust と普通にステップアップしたよ
とても使いやすいよ

920 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 23:13:24.53 ID:BxOaTkYv.net]
Cすっ飛ばしてRust来たけど気に入ってるよ

921 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 23:45:37.43 ID:fXS8nb7A.net]
Rustは十分に抽象化されているため
Cの生ポインタの知識なく効率

922 名前:謔ュ使える
むしろ生ポインタは安全でないため足を引っ張る知識
[]
[ここ壊れてます]

923 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 00:26:17 ID:/A+hDicd.net]
なにいってんだこいつ



924 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 01:12:09.01 ID:eIDEFdSW.net]
バカが安易に生ポインタ書き込みしないようにunsafeしないと使えないようになってるので大丈夫
99%以上の用途ではそんな低レベルなものは必要とせずとも大丈夫なようにRustはできている
ほとんどの人は実験目的以外で用いることがないだろう

925 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 05:59:27.92 ID:cD2+6A2l.net]
unsafeがあるから安心安全

926 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 07:12:23.73 ID:+y13V7Hk.net]
生ポインタが分からぬのに使えてるとか笑

927 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 08:32:18.47 ID:nO4hXcis.net]
CもC++もRustも使えるが
確かにRustでは他の多くの言語と同じく生ポインタを使って読み書きすることはないしその概念も不要だな
普通の言語ならばそのような抽象度の低いものを持ち出さずともプログラミングできるべきなのだろう

928 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 08:48:44.24 ID:JbDqxHHs.net]
生ポインタとかエッチ

929 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 09:01:04.46 ID:/A+hDicd.net]
参照の同一性比較するためにas *const _したことないんか?

930 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 09:08:45.73 ID:OmyTBDUu.net]
人間関係というか変な人を排除するのにRustっていい例があります。
うちの会社です。
C++使える人は仕事はできる(昔からやってるだけですが)んですが、人格に問題があり、とにかく後輩にはほとんど教えず
なにか聞かれると自分で調べろとか、そういうなにかと偉そうな人たちが多いです。
そんな中Rustのプロジェクトが立ち上がるとそれまでC++使ってた偉そうな人たちが見事にいないプロジェクトになり、非常に風通しがよいプロジェクトになっております。
お互いつらい目にあってきたからその反動ですごくお互いに親切に教え合う雰囲気。
逆にC++のプロジェクトは偉そうな人たちと社内で最も使えない人たちだけが残りまして廃墟になっておりますw

931 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 10:13:34.70 ID:y5QQqJ15.net]
理系の比較的頭の良い人が多い割に非生産的な仕事の多い分野は、非協力的で常にイライラしてる人が多い印象
オンプレのインフラとかC++なんかはまさにそうだね

932 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 12:27:18.13 ID:4kmZAVVg.net]
なんでも敵視するRust新兵隔離所、Rustの話しかしてないからRustに誘導されたら、真のRust使いが怒り出した

933 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 12:30:40.34 ID:NclNSxVV.net]
>>908
そして別言語の話しだすと「優れてるマン」が噛みついてくるw



934 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 12:44:28.39 ID:k/yGxJzN.net]
>>905
as * const は safe では
デリファレンスが unsafe なだけでポインタの比較はsafe

935 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 13:05:03.59 ID:/A+hDicd.net]
>>910
そうだよ
でも生ポインタというかアドレスが何か分かっていないとこのキャストが意味するところは理解できないでしょうし
それゆえ「生ポインタの知識は不要だし有害」は過言という主張です

936 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 13:17:15 ID:k/yGxJzN.net]
>>911
そりゃそうだね

937 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 16:25:15.14 ID:ozQCMa2m.net]
メロスは激怒した
必ず、かの 邪智暴虐 ( じゃちぼうぎゃく ) のRUSTを除かなければならぬと決意した。
メロスには生ポイントがわからぬ

938 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 16:35:16.39 ID:UYa93qbN.net]
生ポインタの知識は無くてもプログラムは書けるし、動くし、困るまでは、知らなくても良いんじゃないの?

939 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 17:23:21 ID:k/yGxJzN.net]
一皮むけば生ポインタ出てくるのはどの言語でもそうだしことさらrustだけ取り上げる理由もないとは

940 名前:思うけど
ポインタの知識が有害というのは言い過ぎ
[]
[ここ壊れてます]

941 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 18:39:04.53 ID:ozQCMa2m.net]
でもおまえdouble freeじゃん

942 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 23:07:48 ID:w/iGrZ8Q.net]
Rustの話は専用スレ立ててそっちでやれよ

943 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 23:46:20.49 ID:qbrugoRS.net]
>>917
Rustの話ではないぞ
double freeはRustでは起きない
Rustは全自動解放だからプログラマーが気にすることはない



944 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 02:03:12 ID:d9aHN/wl.net]
いまさらdouble freeが問題になる言語ある?

945 名前:デフォルトの名無しさん [2022/04/16(土) 02:10:47 ID:IW60Azsc.net]
c++はstd::unique_ptrで使い回すようにしたららだいぶスッキリしたよ。
継ぎはぎ故の古い環境やオレオレツールが動くのも良い。
でもどっかでカバっと大規模に整理して欲しいと思ったりもする。

946 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 06:37:22.84 ID:Ynxy6YP5.net]
pythonってそんなに世の中で使われているかな?
単にエンジニアが好きと思ってるだけのような気がしなくもないのだが・・・
俺は嫌いだけどw

947 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 08:14:27 ID:EdW3+kRq.net]
寧ろエンジニア以外に受けているのでは?

948 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 08:17:27 ID:1ORd5NzP.net]
そのうち小学生の必須科目になりそう

949 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 09:04:49.24 ID:teyv0kaV.net]
「 全自動解放だからプログラマーが気にすることはない 」そんな訳ない、Rustでも自分でカスタムアロケータ書けば気にする

950 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 12:15:02.24 ID:cvz/IVkr.net]
Pythonの何でもかんでもベクトル演算縛り他の言語始めるとき悪影響だよな

951 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 16:00:51.37 ID:HzTWzZVk.net]
pascal じゃなく python ?
pascal は言語理論上の基礎の上に載ったしっかりした文法だが python のような出鱈目文法が今はウけるのか?

世も末としかいいようがない…

952 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 16:23:00 ID:7TENBOhS.net]
LL(1)がそんなすごい話だっけ?

953 名前:デフォルトの名無しさん [2022/04/16(土) 17:15:40.83 ID:Tmn9GDW2.net]
>>923
ベーシックよりはマシかと。



954 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:18:48 ID:HzTWzZVk.net]
>>927
そのような基盤にすら載らない言語が跋扈するなんて世も末かと

955 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:23:19 ID:rBRO4aI9.net]
>>929
意味解析しないと構文解析できないCとかいう言語が跋扈してる時点ですでに世界は終わっているよ

956 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:58:19 ID:d9aHN/wl.net]
クククLispが世界を支配する日は近いぞ

957 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 19:01:07 ID:Ynxy6YP5.net]
>>931
残念ながら・・・
そろそろC++++とか出ないのか?w
あ、C#かw

958 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 19:42:31.25 ID:6xv6jabx.net]
>>924
嘘つき
アロケータを自作しようが標準のを使おうが
そのことには全く影響されずに自動で解放されるぞ

959 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 20:32:01.07 ID:G/CUq+lM.net]
じゃあなんでRustは学習コストと難易度が高いのですか?

960 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 20:51:06.94 ID:D0HU54VV.net]
Rustに手を出してみたが特に難しいことは無かったな
むしろ洗練されたわかりやすい言語だと感じた
その上で必要ならば細かいことにも手が行き届く感じ

961 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 22:40:46 ID:hJU9sS6g.net]
洗練と言うのは一人だけだからわかりやすい

962 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 23:21:57 ID:3G5k9Hnh.net]
>>933
嘘つき、deallocで実際に解放しなければ解放されるわけないだろ、死ね詭弁論者

963 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 23:59:23.94 ID:rBRO4aI9.net]
>>937
それ、「freeを呼べばメモリが解放される」って主張にたいして
「メモリ解放しない独自実装のfreeならメモリリークする」って反論するようなもので
論理



964 名前:的には正しいけど意味のない主張だよね []
[ここ壊れてます]

965 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 23:59:50.03 ID:G/CUq+lM.net]
でも君たちRust書いたとてIT土方のままだよね

966 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:34:36.53 ID:iAVEey/W.net]
>>937
それは君が理解できていないからそんな主張になる

メモリの解放は3階層ある(GCでない場合)
(1) デストラクタによる解放 ←プログラミング言語の仕様で関係するのはここまで
(2) メモリアロケーターでの解放 ←例えばmallocに対するfreeの内部はここ
(3) OSへのメモリ解放 ←システムコールsbrkはここ

C言語は(1)がないため(2)のfreeをプログラマーが忘れず呼び出す必要がある
C++は(1)のデストラクタの記述と呼び出しにプログラマーの手動が一部残りうる
Rustはプログラマーが何もしなくてよい

967 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:45:36 ID:xE2XgYmS.net]
で?年収は?

968 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:46:21.20 ID:xE2XgYmS.net]
>>940
それ実質GCじゃん

969 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 00:54:39.19 ID:10LdHAnc.net]
>>942
Rustでプログラマーがメモリ解放しなくてよい点はGC言語に似ているけど
GC言語はガベージ(=ごみ)が溜まっていって後でガベージコレクションを行なう必要があるのに対して
Rustでは即座に自動的にメモリ解放されるためC言語と同様に省メモリかつ高速というメリットがある

970 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 01:09:59.47 ID:xE2XgYmS.net]
>>943
細かく解放のオバヘッド乗るとか最悪じゃん

971 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 01:16:07.56 ID:3NrKz2t8.net]
>>944
CとC++とRust がその同じ方法だけど
いずれも超高速だよ
つまりGCするよりも即座に解放するのが正解と結論が昔から出ているよ

972 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 07:19:14 ID:98II7f1E.net]
>>944
普通はシステムコールする専用のスレッドを作ってそこで全部やるからオーバーヘッド無いよ

973 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 08:46:12.09 ID:xE2XgYmS.net]
嘘乙
システムコールだろうがGCallだろうが、CPUとメモリ使うから一緒だぞ
これだから物理を知らないソフト屋は



974 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 09:02:05.09 ID:98II7f1E.net]
バックグラウンドのシステムコールが問題になるような環境だと、それこそガベコレ動かしてる余裕など無いのでは?

975 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 09:50:03.49 ID:MVCPXkPs.net]
>>943
>>549

976 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:25:23.27 ID:fCmr+50W.net]
freeでsbrk走るとか本気で言ってるのか

977 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:28:31.82 ID:sABjwZnn.net]
>>944
どういう状況を想定するかにもよるけど、解放可能なオブジェクトを解放せずどこかに貯めておいて、
後からまとめて解放するような実装もできるよ
明示的に書かないといけないからちょっとめんどくさいが

978 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:33:33.77 ID:fCmr+50W.net]
解放可能なオブジェクトを解放せず後からまとめて解放するような実装を明示的に書く

それはもうGCなのでは?

979 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 10:44:39.16 ID:JSPiPQVg.net]
自分でやるかシステムに任せるかで違うと思うよ

自分でやるとバグが発生する可能性がある

980 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:09:06.02 ID:wPmjz1Mj.net]
現実にGC言語方式よりもC/C++/Rust 方式の方が圧倒的に速くて省メモリであると判明している
ただしCでは手動でメモリ解放しなければならないデメリットがありミスも多かった
そこでC++ではメモリ解放を一部自動化した
さらにRustではメモリ解放を完全自動化してミスもゼロとなった

981 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:10:30.80 ID:aLAyt8HE.net]
まるでメモリ解放以外のプログラムのミスは無いみたいな感じだよな

982 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:11:47.17 ID:fCmr+50W.net]
Rustコンパイラはメモリリークが発生しないことは保証しません

983 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:16:42.17 ID:kfDvzEft.net]
セキュリティで問題となる多くはメモリ関連が起因している



984 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:17:28.40 ID:zOCvtZTK.net]
>>956
そんなの当たり前じゃん
一般的にコンパイル時点でメモリリークを検出することは論理的に不可能
だからRustコンパイラはメモリリークが発生しないことを保証できない
これはRustの問題ではない

985 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:19:15.00 ID:98II7f1E.net]
わざとメモリリークさせているのか事故ってるだけなのかコンパイラは区別できないからな

986 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 11:29:57.34 ID:MOkVW5s5.net]
Rustでは循環参照以外ではメモリリークを起こさないことをコンパイラが保証できる
さらにRustでは循環参照をプログラマーが意図的に起こさない限り勝手に作られることはない
そのためプログラマーの意図せぬ循環参照は起きずメモリリークも起きない

現実問題としては長らくRustプログラミングしてきて実験テスト目的以外で循環参照を扱ったことは一度もない

987 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 12:30:05.08 ID:Do/bMUQD.net]
顔真っ赤になってこういう事を書いてくる知能の無さそうな奴と仕事するのが嫌だ

988 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 12:32:19.63 ID:sABjwZnn.net]
>>952
tracing GCみたいな大げさなものでなくても、解法対象オブジェクトをVecに入れておいて適当なタイミングでVecごとdropするみたいなことはできる
シンプルだからバグの入り込む余地は少ないと思うけど、あらゆるケースに対応しようとするともう少し複雑な仕組みが必要かもね

>>960
いつもrust擁護してるけど、知識不足のせいか言葉遣いが雑なせいなのか、突っ込みどころ多すぎて逆効果になってる
循環参照以外でも Box::leak などでメモリリークは起こせるよ

989 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:18:48.86 ID:6DAoI3Fa.net]
>>962
おまえバカだろ
プログラマーが意図的にしないとメモリリークは起きないという話の場へ
Box::leakでメモリリークを起こせるという主張はキチガイ

990 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:31:15.61 ID:sABjwZnn.net]
>>963
よく読んで
>>960の主張は以下
1. Rust では循環参照以外ではメモリリークを起こさないことを保証できる
2. 循環参照はプログラマーが意図的に起こさない限り起きない
Box::leakは1の反例
プログラマが意図的にメモリリークを起こさない限りメモリリークしないなんて主張については何も言っていない

991 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:37:41.71 ID:51iJikl9.net]
結局プログラマーが意図的に起こさないとRustではメモリリーク起きないんでしょ?
この件でRust叩きは無理があるんじゃないかしら

992 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:39:19.65 ID:JSPiPQVg.net]
速くて省メモリなんて目指してない人が大多数なんだよ

システム書く人ならそれ目指すけど

993 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 13:47:11.48 ID:li53nBOw.net]
プログラミング言語は3つに分類できる感じ?
CとC++ ←省メモリ高速だがメモリ解放でミスると危険
GC言語 ←省メモリ高速ではないがメモリ解放は自動で気にしなくていい
Rust ←省メモリ高速だがメモリ解放は自動で気にしなくていい



994 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:13:22 ID:kfDvzEft.net]
なんかすげぇ素人がまぎれこんできたなw
長文タレ流し君の方がよかったかもw

995 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:21:16.64 ID:JSPiPQVg.net]
Rust ←省メモリ高速だがメモリ解放は自動で気にしなくていいが 独自の戒律があり常にそれを気にしなくてはならない

996 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:22:13.65 ID:66PDnQQD.net]
>>967
その通り
IT大手各社が珍しく連合してRust推ししているのはRustがプログラミング言語の革命児だから

997 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:51:06.13 ID:CSWPaG5E.net]
自演くっさ

998 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:54:33.00 ID:sABjwZnn.net]
Rustはバランスの良い言語だと思うけど万人向けではないからなぁ
真の意味で万人向けの言語なんてそもそも存在するのかは分からんが

999 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 14:57:22.12 ID:JSPiPQVg.net]
>>972
俺は嫌いだけどjava辺りだろ

1000 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:14:44.89 ID:uUrNfRmn.net]
JavaよりはRustの方が使いやすくて便利でいいわ

1001 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:22:20.54 ID:JSPiPQVg.net]
自演と単発w

1002 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:45:36.98 ID:kfDvzEft.net]
>>970
Rust推しは電通がからんでるような気がするんだが

1003 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:53:33.91 ID:2ONtHvJl.net]
つまりMicrosof



1004 名前:t・Amazon・Google・Facebook(Meta)など大手IT各社が一緒になってRust Foundationを立ち上げたのも裏で電通が暗躍? []
[ここ壊れてます]

1005 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:57:37.21 ID:98II7f1E.net]
wikipediaのMozilla Foundationのページ見てたら理事会に日本人居るの見つけたんだけど
この人経歴が訳アリすぎるなw

1006 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 16:06:11 ID:kfDvzEft.net]
>>977
だろうな

1007 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 16:29:36.29 ID:gswFN8hB.net]
>>977
広告代理店にそこまで影響力あるわけ無いだろう

1008 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 16:36:29.33 ID:HtOTcTar.net]
>>980
電通の背後には政府とアメリカがいる

1009 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:06:13.05 ID:FHJUK9+v.net]
つまり宇宙人との密約で動くアメリカ政府と
ネオコンの陰謀ということか

1010 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:21:02.73 ID:w9UOnqdK.net]
ネトウヨ「電通の陰謀」

1011 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:37:31.56 ID:gswFN8hB.net]
電通陰謀論は左右問わないね
ネトウヨはマスコミ批判に絡めて電通を黒幕にするし、パヨクは自民党が選挙で勝つことの裏に電通がいることにしたがる

1012 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:52:20 ID:KG26dcth.net]
次スレ立てます

1013 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 17:52:57 ID:KG26dcth.net]
https://mevius.5ch.net/test/read.cgi/tech/1650185555/



1014 名前:デフォルトの名無しさん [2022/04/17(日) 18:36:45.87 ID:KG26dcth.net]
>>986

TypeScript Swift Go Kotlin 辺りは次世代感があまりないので、タイトルから外したかったが、とりあえずそのままにしておいた。

1015 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 18:37:21.30 ID:gswFN8hB.net]
Nimはほとんど話題に出てないけど残しておくの?

1016 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 18:52:19.55 ID:KG26dcth.net]
>>988
個人的にはマイナー言語は残して、少しでも注目を得られればと思っている。

1017 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 19:39:25.03 ID:xE2XgYmS.net]
なんでお前が勝手に決めてるンだ

1018 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 19:59:35 ID:HtOTcTar.net]
っていうか実質話題はGo vs Rustになってるんだからそれでいいのでは?

1019 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:37:58.47 ID:KG26dcth.net]
>>990
マイノリティにも配慮した、中々の英断だろ?

1020 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:38:30.40 ID:KG26dcth.net]
>>991
そうかも

1021 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:40:24.07 ID:YkM57FyS.net]
まあこのスレはRust、Go、C++、C#、Javaのスレって感じだな

1022 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:53:06 ID:9n8vVUS+.net]
>>986
なにげに876の順にしたのは素晴らしいと思うよ

1023 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:16:36.68 ID:HtOTcTar.net]
>>994
いやいや、C++,C#,Javaは次世代でもないし、GoやRustに比べればすでに完敗してるから入れなくていいだろ



1024 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:36:04.21 ID:YkM57FyS.net]
次世代かどうかはしらんけど、そのへんの言語の話題がなぜか多いんよ

1025 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:40:35.44 ID:98II7f1E.net]
その三つを基準にして比較検討していくんだから話題に出ない方がおかしい

1026 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 22:20:42.76 ID:sABjwZnn.net]
いっそのこと1.0がリリースされてる言語は対象外にしよう

1027 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 22:31:30.13 ID:xE2XgYmS.net]
1000ならPHP大復活時代でルースターズを蹂躙レイプする

1028 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 26日 19時間 7分 49秒

1029 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<321KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef