- 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/
- 598 名前:デフォルトの名無しさん [2022/04/07(木) 20:39:59.88 ID:zb08jYei.net]
- >>592
そこは>>584で述べた通り、Rustは 「もろもろの概念をほとんど全部使わないとまともなプログラムができない」 というのが学習する上で凶悪な障壁になっている。 例えばPythonなら基本的なメソッド呼び出しから段階的にプログラムを作りながら学習していけるけど、 Rustは関数ひとつ呼び出すにも所有権、スコープ、ライフタイム(RAII)、moveセマンティック、参照・借用あたりの概念を習得しないとそもそもプログラムが作れない。 自動車のマニュアルをいきなり習うようなもので、そりゃ挫折する人間も増えるかと。 まずはオートマで運転に慣れてから限定解除したほうが習得しやすいよね。
- 599 名前:デフォルトの名無しさん [2022/04/07(木) 20:43:09.58 ID:eYC8sBa3.net]
- 25年前からの10年と7年前からの10年を同じく扱いにするなよ。
- 600 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:06:58.62 ID:/n3eSctb.net]
- >>587
お前、ホームドアがなかった頃にホームから落ちたことあるか? 俺はないよ。 大都会では用水路に蓋がなく、偶に人が落ちて死んでる。 それらがほぼ暗渠になってるトン菌民とかからすると非難囂々だが、 住んでる連中は蓋がない事に慣れてるし、落ちる事もほぼないので、今後も蓋がされる気配はない。 同様な事はホームドアにも言える。 実際、ホームドアがなかった頃、困った奴はどれくらい居る? 俺は落ちた事も、落ちそうになった事もない。 ホームの端は歩かないというのが鉄則で、 混雑してる場合は何かの拍子で押されて一歩よろめいても問題ない程度の余裕を持って歩く、 それが出来ないなら諦めて人混みの流れに乗る、としてきたからだ。 これは電車通勤してる奴はみんなそうしてるし、実際に殆どの奴は落ちた事がないはず。 落ちるような奴は、そもそも保険も注意も足りてないだけ。 ガードレールがあり、歩道と車道が完全に分離してる道と、そうでない道、どの経路を通るかの選択も同じ。 車が通らない道が一番安全で、次にガードレール付きの歩道がある道、そうじゃない道の順なのは誰でも分かる。 なら、安全な道を選択すれば事故の確率は減らせる。 同じなんだよ。危険性があると分かっているのなら、上位での回避努力は出来る。 それがホームドアがなくても殆どの人が落ちた事がない理由だ。 上位での回避努力をして、さらにチェッカーが付いていれば、さらに事故を減らせる。 しかしRustは、上位の努力をせずにゴリゴリチェッカーだけで安全を確保しようとしてる。 それは俺は違うと思うし、今まで落ちた事もないから、俺にはRust流ホームドアも要らんよ、としか思わない。 (なおホームドア自体は視覚障害者や児童の為に有った方がいいが) Rustの連中が言ってる安全性は、C/C++で特に困ってない連中には何の魅力もない。 その安全性は多分開発速度の向上に寄与するはずだが、Rustで早くなったって話もないでしょ。
- 601 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:32
]
- [ここ壊れてます]
- 602 名前::17.79 ID:6pGOygc2.net mailto: 非同期でないORMとか意味わからん。誰が使うんだ?
rustがランタイム速いとか言ってもそれじゃ全く意味ないじゃん。 [] - [ここ壊れてます]
- 603 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:32:21.20 ID:+6isarPd.net]
- >>595
実際は概念一つ一つを念入りに調査せずに、初心者の内はとりあえず思ったまま書いて、 コンパイラに渡してエラーになったら修正するのが普通かと思いますね。 たぶん、人によっては間違ったコードがCIとかでエラーになることを恥と思う気持ちもあるが、些細な問題です。 私もよく、失敗したくないときは、ローカルでコンパイルしてからプッシュするようにしています。 そこは基本的に気持ちの問題ですよね。
- 604 名前:デフォルトの名無しさん mailto:sage [2022/04/07(木) 21:35:29.56 ID:ikFGu1Ah.net]
- じゃあ動的型付け言語でも問題ないな
自分で気を付ければいいだけなんだから
- 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批判につなげることにしたのね
|

|