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

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

前スレ
次世代言語23 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1638086359/
2022/04/07(木) 18:23:34.25ID:6J24GmAj
>>568
全ての問題が解決すると思ってるのは馬鹿なので相手にしなくて良い
ゼロイチの議論しかしない人もそう
人間誰しも馬鹿な間違いをする可能性があって、間違いを見逃す頻度を大きく下げられることに価値がある
2022/04/07(木) 18:37:02.12ID:D5y31O0v
>>586
でも両方書ける人はGoよりRustの方がプログラミングしやすいと100%答える現実を見ると
Goは言語機能不足という感じやね
2022/04/07(木) 18:50:26.86ID:6pGOygc2
>>588
>でも両方書ける人はGoよりRustの方がプログラミングしやすいと100%答える現実を見ると
そんな現実はお前の脳内にしかない。
2022/04/07(木) 18:56:45.12ID:wax9VJjI
Rustも使いこなせる人でGoの方がプログラミング使いやすいと言う人を見たことないな
こればっかりはGoの貧弱な言語仕様では仕方ないところかと
2022/04/07(木) 18:56:54.01ID:pGmXk0tm
>>585
「概念の数が増えない段階なら」学習は簡単でしょうな。ADDとかの概念そのものは簡単に学習できる。
ただ、機械語の場合はメモリの位置にも機能&概念があるから、それらを含めると「概念の数が少ない」とは言えない。

あと、
>>584
目的の用途に合致するようになるかどうかのほうが重要かと思います。

というのは学習においては成り立たなくて、「すでに習得した概念 (日常生活なども含む) に沿っているか」の方が重要。
例えばオブジェクト指向はいろいろな概念の集まった複雑な考え方だけど、「対象物を操作する」という日常生活で慣れ親しんだ概念を下敷きにしているから比較的習得しやすい。
2022/04/07(木) 19:53:12.89ID:+6isarPd
>>591
同意です。

が、私が強調したい部分は、言語仕様が簡略な分、必要最低限の複雑性が代わりに言語以外のところに現れることです。

CPUレジスタの固有機能や命令セットの違いとかもまさにその通りで、言語自体の概念ではないが、目的の用途に取り組む場合に必要なる知識だったします。

RustとGoを学習する場合も勿論、言語を構成する概念だけ、一通り目を通せば終わり、というわけではないですよね?
2022/04/07(木) 19:53:35.29ID:48p+VEp6
雑魚ウェブプログラマーの俺からするとRustはGoに比べて言語機能がリッチでいいんだが、まだライブラリ(Rustではクレート)が十分に揃ってないように感じるのと、クレートがすごい細かい単位で分割されてるからたくさんクレートを組み合わせて使わないといけないのが難点かな
個人的には早くまともなORMを出してほしい。1番使われてるであろうORMのDieselが非同期に対応してないのは辛いw
2022/04/07(木) 20:33:59.30ID:hOTZf/Ps
>>593
そうあせるな。JavaだってまともなO/Rマッパーが追加されるまで10年くらいかかってる。

Java
- 1996年 Java 1.0
- 1999年 JavaEE
- 2006年 JavaEEにJPA(O/Rマッパー)追加
 
Rust
- 2015年 Rust1.0
595デフォルトの名無しさん
垢版 |
2022/04/07(木) 20:39:59.88ID:zb08jYei
>>592
そこは>>584で述べた通り、Rustは
「もろもろの概念をほとんど全部使わないとまともなプログラムができない」
というのが学習する上で凶悪な障壁になっている。
例えばPythonなら基本的なメソッド呼び出しから段階的にプログラムを作りながら学習していけるけど、
Rustは関数ひとつ呼び出すにも所有権、スコープ、ライフタイム(RAII)、moveセマンティック、参照・借用あたりの概念を習得しないとそもそもプログラムが作れない。
自動車のマニュアルをいきなり習うようなもので、そりゃ挫折する人間も増えるかと。
まずはオートマで運転に慣れてから限定解除したほうが習得しやすいよね。
596デフォルトの名無しさん
垢版 |
2022/04/07(木) 20:43:09.58ID:eYC8sBa3
25年前からの10年と7年前からの10年を同じく扱いにするなよ。
2022/04/07(木) 21:06:58.62ID:/n3eSctb
>>587
お前、ホームドアがなかった頃にホームから落ちたことあるか?
俺はないよ。


大都会では用水路に蓋がなく、偶に人が落ちて死んでる。
それらがほぼ暗渠になってるトン菌民とかからすると非難囂々だが、
住んでる連中は蓋がない事に慣れてるし、落ちる事もほぼないので、今後も蓋がされる気配はない。

同様な事はホームドアにも言える。
実際、ホームドアがなかった頃、困った奴はどれくらい居る?
俺は落ちた事も、落ちそうになった事もない。
ホームの端は歩かないというのが鉄則で、
混雑してる場合は何かの拍子で押されて一歩よろめいても問題ない程度の余裕を持って歩く、
それが出来ないなら諦めて人混みの流れに乗る、としてきたからだ。
これは電車通勤してる奴はみんなそうしてるし、実際に殆どの奴は落ちた事がないはず。
落ちるような奴は、そもそも保険も注意も足りてないだけ。

ガードレールがあり、歩道と車道が完全に分離してる道と、そうでない道、どの経路を通るかの選択も同じ。
車が通らない道が一番安全で、次にガードレール付きの歩道がある道、そうじゃない道の順なのは誰でも分かる。
なら、安全な道を選択すれば事故の確率は減らせる。


同じなんだよ。危険性があると分かっているのなら、上位での回避努力は出来る。
それがホームドアがなくても殆どの人が落ちた事がない理由だ。
上位での回避努力をして、さらにチェッカーが付いていれば、さらに事故を減らせる。
しかしRustは、上位の努力をせずにゴリゴリチェッカーだけで安全を確保しようとしてる。
それは俺は違うと思うし、今まで落ちた事もないから、俺にはRust流ホームドアも要らんよ、としか思わない。
(なおホームドア自体は視覚障害者や児童の為に有った方がいいが)

Rustの連中が言ってる安全性は、C/C++で特に困ってない連中には何の魅力もない。
その安全性は多分開発速度の向上に寄与するはずだが、Rustで早くなったって話もないでしょ。
2022/04/07(木) 21:32:17.79ID:6pGOygc2
非同期でないORMとか意味わからん。誰が使うんだ?
rustがランタイム速いとか言ってもそれじゃ全く意味ないじゃん。
2022/04/07(木) 21:32:21.20ID:+6isarPd
>>595
実際は概念一つ一つを念入りに調査せずに、初心者の内はとりあえず思ったまま書いて、
コンパイラに渡してエラーになったら修正するのが普通かと思いますね。

たぶん、人によっては間違ったコードがCIとかでエラーになることを恥と思う気持ちもあるが、些細な問題です。
私もよく、失敗したくないときは、ローカルでコンパイルしてからプッシュするようにしています。
そこは基本的に気持ちの問題ですよね。
2022/04/07(木) 21:35:29.56ID:ikFGu1Ah
じゃあ動的型付け言語でも問題ないな
自分で気を付ければいいだけなんだから
2022/04/07(木) 21:38:19.51ID:+6isarPd
>>595
たとえばの話、多くの初心者は再帰関数を使って、スタックオーバーフローを起こして初めて、スタックというものを意識をするわけですが、
それまでは、スタックという概念をまったく気にせずにプログラムを作っていたことも、よくありますよね?

Rustの所有権周りの概念のうち、どれだけこのスタックのアナロジーに当てはまるかは多分人それぞれですが、
少なくとも、所有権の概念を細分化してできた概念の数が、そのまま敷居の高さになることはないと思います。
2022/04/07(木) 21:41:34.29ID:bwKax5i+
>>597
GAFAMのような大企業はホームから突き落とされるリスクが現実的だからホームドアを必要とするんだよ
ただお前さんのプログラムは攻撃者に狙われるほど広く使われていないというだけ
もちろんそういうマイナーなプログラムに安全性は不要というならそれは自由だけど
2022/04/07(木) 21:46:07.49ID:bwKax5i+
あと酔っ払ってホームから転落する大人もいるってのもあるな
つまり一流のプログラマでも絶対にミスをしないということはないから機械的にチェックしたいという話
2022/04/07(木) 21:59:21.50ID:/n3eSctb
>>600
実際俺はJSで特に苦労もしてない。

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

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


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

ただそれはさておき、コンパイラのチェックが厳しければ生産性が向上するはずなのだが、
実際聞いた事ないだろ?
実際には二重チェックとしてしか使われておらず、なければないで済む範囲での使用に留まっているから、
生産性の向上分が見えてこないだけ。
本当にRustじゃないと無理だっていうものがあれば、キラーアプリとしてそれが出てくる。
ないんだから、そういう事。
2022/04/07(木) 22:07:07.36ID:gzjYIF1u
>>604
やっかいな落とし穴が何に該当するかよくわからないのだけどrustやるならC++での危険回避法を熟知しておけということ?
606デフォルトの名無しさん
垢版 |
2022/04/07(木) 22:09:45.98ID:zb08jYei
>>599
> 実際は概念一つ一つを念入りに調査せずに、初心者の内はとりあえず思ったまま書いて、
> コンパイラに渡してエラーになったら修正するのが普通かと思いますね。
Rustの場合、初心者がまともに動くプログラムに到達するまでいくつも修正しなきゃいけないのが問題だっつうの。
エンストしまくってたらマニュアル運転の練習もクソも無いわな。

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

> 少なくとも、所有権の概念を細分化してできた概念の数が、そのまま敷居の高さになることはないと思います。
ここも間違っている。
細分化して段階的に学習できればまだマシな方で、Rustの場合は所有権の概念をほぼ丸呑みしないとプログラムできない。
クラッチとギアとハンドルを同時に操作しないとマニュアル車を前に進めることもできないようなもんだ。
2022/04/07(木) 22:32:09.52ID:/n3eSctb
>>605
いやC++に限らず、プログラミング全般で、
そこに危険があれば、どうやったら上位で回避出来るかは、術がある。
これまで何とかやってきてるんだから当たり前だろ。

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

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

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

そして本来は、どんな術があるのかを学ぶのが学習で、
元々はデザインパターンもこの方向だったはずだが、何かおかしな事になっちゃって見捨てられた感じになってるが。
2022/04/07(木) 22:40:48.67ID:eUNchQrd
Rust自体は好きだけどPythonの代替先になるというのは現状個人的には全く考えられないなぁ
単一所有権ベースの書き方が、意識せずとも間違いなく書ける内容なら静的チェックがなくても取り沙汰されないし、それがメリットとしても喧伝されないと思うんだよな
別分野だけど機械学習系だと公式のラッパー先としてまず出てこない言語だし、やっぱ性能とは別の事に頭使いたいジャンルだと不向きだと思うよ
もし広い範囲でPythonの代替になると思ってる人が居るんだとしたら、普段のスクリプティングとかもRustで書いてんのかな
2022/04/07(木) 22:41:15.91ID:QfJTmIv3
ようしわかった
もうわかった
ついにわかった
言ってほしいんだろ?
そういうことだろ?

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

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

俺は使うけど
2022/04/07(木) 22:43:27.27ID:YR3mJewM
いや駄目だ俺が使う
2022/04/07(木) 23:00:34.39ID:/n3eSctb
>>608
> 単一所有権ベースの書き方
これが演算には絶望的に不向き。ウザイだけ。
ただし鯖等では確かに「上から下に流れる」ように書くので、「単一所有権ベース」でも多分問題なく書ける。

だからまあ、現時点でWeb限定に近いのは、既に住分けてる、とも言える。
他のアプリでも、自前で状態管理するのを極力止めて、内部でRESTfulにすれば、そこそこ行けるはず。
2022/04/07(木) 23:24:34.67ID:hOTZf/Ps
>>610
ついやいや俺が
2022/04/07(木) 23:38:47.04ID:+6isarPd
>>606
言いたいことは分かります。
要は学習成果の可視化しにくいインターバルが長いと不利ということですよね?

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

案外若い世代はところどころデジタルリテラシーがあるので、
プログラミング学習ができないと危惧して、変にレール敷くような考え方はしなくても良いんじゃないですか?
614デフォルトの名無しさん
垢版 |
2022/04/07(木) 23:51:03.44ID:eYC8sBa3
1ヶ月に一度1ー2時間ほどプログラミングします
といった程度の人達が、あやふやな知識のまま
目的の動くもの素早く作れる言語でないと
広い裾野には訴求しない
ニッチな人のニーズには合致する可能性はあるけど
2022/04/08(金) 00:23:55.25ID:PcnkB3on
>>607
要はライブラリなど自分が依存するものの中身がどうなっているかはちゃんと把握した上で使えって話と、
自分が困ってないなら無理に道具を変える必要がないって話ね
rustというよりrustを変に持ち上げてる人に対するコメントだった訳ね
2022/04/08(金) 00:24:56.07ID:nM4swqos
我々の生きているうちにもしそんな素晴らしい汎用言語が出来ると夢が広がりますよね。
未来の言語研究に期待しましょう。
2022/04/08(金) 00:26:25.71ID:PcnkB3on
>>614
たしかに、次世代言語なんて銘打ったスレに集まるような人向けの言語なんてニッチの最たるものだろうね
2022/04/08(金) 00:31:27.96ID:TpfOdACd
>>613
>学習した先に何を求めるかは人それぞれですし、
なら、なおさらPythonの代替をRustに求めるのは無理。
まさしく>>608の通り、学習した先に「やっぱ性能とは別の事に頭使いたい」というならRustは不要だわな。

>>609
いやいや、自分もRustは認めているよ? Forthと同じぐらいには。
2022/04/08(金) 00:47:01.39ID:nM4swqos
>>618
そうですね。別に性能だけの話じゃないと思うが、
いろいろ気にしない人には確かにPythonでプログラミングを勧めるのも一つの手だと思いますね。
2022/04/08(金) 01:01:29.96ID:8ljQsUz4
Rustに移行するのはC++から来る人が多いだろうな

ptyhon、java,typescript、スクリプト系からは少ないだろう
621デフォルトの名無しさん
垢版 |
2022/04/08(金) 03:06:12.85ID:Km060/QD
>>597
長々と書いてるけど、お前って一人で開発してんの?
なら好きなの使えばいーじゃん。
2022/04/08(金) 06:34:32.60ID:z2O+b+J1
>>608
Pythonなんて超遅いダメ言語だろ
C/C++に移行すれば10倍くらい速くなるぞ
メモリ使用量も大きく減る
2022/04/08(金) 07:08:41.73ID:F6GdhFTs
>>622
用途が違うものを比較しても意味ないよ
2022/04/08(金) 07:36:43.85ID:5MIkz0s/
>>620
JavaScript(Node.js)からRustへ来たけど特に難しいところは無かったよ
JavaScriptでPromise返す並行プログラミングしていたから
RustでFuture返す並行プログラミングにすぐ移行できた
2022/04/08(金) 07:50:10.89ID:aDtoFpcQ
RubyやPHPからRustに来る人はゼロではないだろうけど少ないだろ
それぐらいなぜ認めたくないのか?

用途が違う
2022/04/08(金) 07:51:28.36ID:3RXqham9
みんな色々と考えるんたな。
自分の使う言語を選んで仕事始める人が多いのか?
2022/04/08(金) 07:54:38.16ID:atDB72kn
>>625
RubyからRustへも多いよ
例えばこのスレでも>>510へのレス状況から少なくとも3名は居る
2022/04/08(金) 08:00:35.35ID:aDtoFpcQ
病気なのか?
2022/04/08(金) 08:08:54.70ID:jLbA7OdY
俺がスクリプト言語からRustも使うようになった理由はスクリプト言語っぽく書けて便利で速いから
今後もそういう人が増えるのは間違いない
2022/04/08(金) 08:15:42.34ID:CQiu8f2R
>>629
完全に同意
2022/04/08(金) 08:22:48.61ID:G9TYKjMP
ぼくも(^o^)
2022/04/08(金) 08:38:19.52ID:16DK1NKj
>>626
逆よ
仕事を選ぶと言語が決まることがほとんど
2022/04/08(金) 09:31:00.03ID:gFm4wviN
>>629
設定に無理があるwテキトーなパースするだけにrustなんか絶対に使わねーよ。
2022/04/08(金) 09:55:16.26ID:ncPbKyCt
>>633
自分もRustを使っているけどRustで特に困っていることないぜ
2022/04/08(金) 11:02:37.27ID:wv8X5M3X
>>634
そらRustしか知らなきゃそうなるよ
もっと勉強した方がいいよ
2022/04/08(金) 11:18:15.72ID:J3x148PI
C/C++/Python/Java/Scala/Goあたりは仕事で書いてたけど今はRustメインだな
他にどの言語を学べばRust使う気がなくなるの?
2022/04/08(金) 11:29:00.59ID:CQiu8f2R
なんだこのビッグウェーブはw
Rustってとてつもない一大ムーブメントなのか?w
2022/04/08(金) 11:59:33.01ID:xydoIMfT
>>635
スクリプト言語とRustしか使っていないのですが何を勉強するとよいですか?
速さが必要なものと大きなものはRustを使っています。
2022/04/08(金) 12:29:19.18ID:lZxU7PE0
>>636
FORTHおすすめ。
640デフォルトの名無しさん
垢版 |
2022/04/08(金) 12:33:53.85ID:gfZaFbSj
テキトーにパースするでもserdeが楽だから使うわ
2022/04/08(金) 12:50:21.80ID:uV0lTSE5
FORTHやるくらいならLISPやる
2022/04/08(金) 13:30:54.85ID:LwBnqH/T
Ruby 界隈では、mruby の本が出た。Ubuntu 18.04, C99 対応。
Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11

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

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

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

Elixir, Rustは普及のキャズムを超えなかったから
2022/04/08(金) 13:52:24.78ID:VBKiPB4k
Goで出来ていることがRustでも容易に出来るようになったことが大きい
そしてRustの方が高速かつ適用範囲も広い
2022/04/08(金) 13:58:37.76ID:ueuwLW+z
>>615
違うぞ。
つか話が通じないのは全然立ち位置が違うからだが、ここを詰める意味はないので終わりにしたいのだが。

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

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

> 自分が困ってないなら無理に道具を変える必要がない
これも違ってて、だいたい人は困ってる事を認識出来てないものなんだよ。
携帯が無い時代に携帯が無くて困ってた奴は居なかったし、
スマホが無い時代にスマホが無くて困ってた奴も居なかったし、
Rustが無い時代にRustが無くて困ってた奴も居なかった。
だから新しい物を持ってくる場合、「実はあなたはここに困っていたのですが、気づけていません。
Rustを使えばこう出来ます。一度使えば二度と戻れませんよ」と具体例を示さねばならないのだが、
これがないだろ、という話だよ。(納得する物が有れば単に乗り換えれば済むだけ)
2022/04/08(金) 13:59:03.07ID:ueuwLW+z
RustはC++の特定のスタイルを強制してそれ以外をコンパイルエラーにするように出来てる。
だからそのスタイルを使いたい奴には超フィットするけど、
そうじゃない奴には使えない。(コンパイルエラーになるだけ)
だからやっぱりこの「エラー」ってのは強すぎてて、
> C++での危険回避法を熟知しておけ
これもちょっと違ってくる。
「Rustが採用している『術』」での危険回避をしたいのなら、
それ以外をエラーにしてくれるRustが最適で、同じ事をわざわざC++でやっても抜けを許容される分だけゴミ。
ただ問題は、Rustの場合はそれ以外を許容しないから、いつまで経っても「Rustが採用した『術』」以外の方法を学ぶ事が出来ない。
だって試そうとしてもエラーになるのだから。
だから「Rustが採用している『術』」が間違っていたら(不適切だったら)その時点で終わってしまう。
だからこそ、無駄にカルト化する。言語と心中する事しか許容しないので。

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

ただし「Rustが採用した『術』」はそんなに悪いものでもないし、
コーディング戦略は大きい単位で適用した方が効率がいいのも事実。
最大単位は「言語」なので、実験としてはいいし、
Rustが無くともC++で同じ事をやってた連中にとっては天国だろう。
だからやたらマンセーしたがる奴が居てもおかしくない。
(ただし実は最上位の「プログラミング全般」という単位があり、
例えば「用意した変数はそれ以降で自由に使える」とかだが、Rustはこれに反しているので混乱も来す事となっている)
2022/04/08(金) 13:59:38.12ID:ueuwLW+z
長期的展望については、構成上、Rustは(育成含めての)独立したエコシステムを持ててない事がかなりポイントになる。
これはやはりホームドアが分かりやすいと思うが、これがなかった頃、まともな大人は、
・ホームの端は歩かない
・ホーム上では走ったりしない
・ふらつく程は飲まない
等を遵守して、ホームからの転落事故はほぼ0に出来てた。
Rustはこれにホームドアをさらに設置し、物理的に転落しないようにした。
結果、「大人の常識の遵守」「ホームドア」で二重のセキュリティになり、安心感は増してる。
とはいえ、ほぼ精神的なものであり、実際は無くても転落する奴はほぼ居なかったので、実質的意味はほぼ無い。
これが、キラーアプリが存在出来てない理由。(GAFAMはこの使い方)

さてここで、「俺はホームドアがない駅なんて知らねえ。老害の常識なんて糞食らえ」というゆとりがいて、
ただの10分間の休み時間でもドッチボールをしようとしてた小学生時代と同様、
駅で10分待つ間にも鬼ごっこ等で遊ぼうとしたとする。
一般社会では「これだからゆとりは」となって袋だたきなのは確実だが、プログラミング界隈では違う。
・端を歩ける→デッドスペースだった両端の1mを活用出来、輸送能力が10-20%程増す
・走らない縛り無し→ならホームの両端はスカッシュコートに出来るじゃん!
・へべれけでも大丈夫→なら通勤電車内にバーを設置し、1時間飲んでたら家に着いてるとか出来るじゃん!
等、利便性を提供出来れば良しとされる。
俺が「Rustによって新たに提供される価値とは何か?」とさんざん聞いてたのはこれなんだよ。
Rust流のホームドアが無かった頃は事実上無理だった事も何か出来るようになってるはず。
その活用事例は何か、なんだよ。
2022/04/08(金) 14:00:07.89ID:ueuwLW+z
ただしこれは両刃の剣で、ホームドアがある前提で、それ以前の「大人の常識」を「所詮は老害の戯言」と切り捨てると、
ホームドアがない駅では確実に事故りまくる。今のRustがこれで、既に書いたが、
・「Rustが採用した『術』」以外はエラーにする=Rustではそれ以前の「大人の常識」を試せないし、学べない
んだよ。だから、構成として
・既に大人の常識がある人が、さらにホームドアが設置された駅を使う(GAFAM)
用に出来てて、
・全く何も知らない幼児が、怪我をしながらも危険を学び、次第に大人になっていく(Rust信者)
用には出来てない。(つまりRustだけではプログラマを成長させる事は出来ない)
とはいえ、現実の今時の公園ではブランコすら撤去されてる始末で、
安全重視の、スリルの欠片もなく面白みもない遊具だけになってしまってるが、
ではこれが間違ってるかと言われれば、
昭和時代のヤベー遊具は確かに楽しかったが、でも確かに危なかったし、なんだかなあ、ではある。

つまり、自前での育成(≒プログラマによる試行錯誤)を放棄している点に置いて、Rustが目指している所は、
・Rust専用コーディングドカタ育成
・他言語で育成されたプログラマの取り込み
であって、Rustではプログラミングの世界を成長させる事は出来ないし、プログラマの自主的な成長も促せない。
Rustが出来るのは、やり方を画一的に固定した開発だけだ。
ただこれが悪いわけでもない。実際、フレームワークは同様だし。
だからまあ、立ち位置としては「言語」よりも「フレームワーク」と考えるべきなのだろう。
そうすれば、「Rustに合ってる状況ならRust使え」で、みんな非常に納得出来るだろうし。
ポリシーに合致してないコードを拒絶する点に於いても、フレームワークと同様だし。
(C#の場合にデタラメなコードを食わせてイキってる馬鹿もこのスレには居たが、
この点Rustならエラーなのでフレームワークとしても正しい)
2022/04/08(金) 14:05:58.17ID:xmDi13Bx
Rustのプログラミングの快適さは
様々なプログラミングパラダイムを巧みに洗練して採り入れているところにあると思う
一つ一つは既存の言語にあるものが多いけど総合的に組み合わされたのはRust特有でそれがコーディングのしやすさに繋がっている
2022/04/08(金) 14:45:33.12ID:wv8X5M3X
昼間から長文とかおじちゃんたち仕事は??
2022/04/08(金) 14:49:38.98ID:J+DLQw6K
「Javaスクールの危険」みたいな話になってきてるな

https://web.archive.org/web/20190226013343/http://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
2022/04/08(金) 14:54:51.52ID:zi4mesOO
一方でRustは色んなことが身につくからその問題点もないよな
2022/04/08(金) 14:56:47.94ID:CQiu8f2R
>>650
再起とポインタなんて知らなくてもWebプログラマーはつとまるんだよ
ましてや精神的態度なんて根性論いいだしたら人材不足の今、人なんて集められないよ
2022/04/08(金) 14:58:59.00ID:CQiu8f2R
>>650は下の(2)の人のことをいってるんであってこのスレにいる大多数の(1)の人たちには関係がないこと。
ーーーーーーー
プログラマーには2種類の人がいる。
自動車産業に例えたら、(1)地方の工場勤務の期間工と(2)研究開発センターのエンジニア
(1)はRustは使用しなくていい。というか理解できなくて使えない。Pythonとかで頭を使わないコード書くだけだから。例えるなら、ラインで組み立て作業を1日延々しているだけのルーチンワーク要員。

(2)はRustなどを使用してシステムプロラミングWebassemblyなどでローレイヤーや基盤を作っていく。例えるなら自動車のエンジンやデザインの設計者。
2022/04/08(金) 15:07:49.60ID:Js+ybEIJ
自分はCS出てフルスタックやってるから他の立場のことはわからないが
色々やってきた言語の中でRustが最も開発効率良いと断言できる
2022/04/08(金) 15:13:55.24ID:FJuOSvU4
rustとgoが合体したらいいのになあ
2022/04/08(金) 15:30:55.82ID:fiUiUlD4
なんか一部のrust推しがすごいっすね
2022/04/08(金) 16:23:35.95ID:UBiXicJa
>>655
V言語
2022/04/08(金) 16:57:15.66ID:PcnkB3on
>>656
rust推しだけど変な人が無理筋の推し方してて困ってる
2022/04/08(金) 17:09:14.19ID:a6HBTm5x
頭の悪い子に限って延々演説するよなw
お前らそれを完全スルーしてて賢いわw
2022/04/08(金) 17:14:34.86ID:BG4ZrdKI
>>657
Vは確かに最初の宣伝はそんな感じだっけど、現状はRustとGoを足して10で割ったくらいの状態だからなぁ
2022/04/08(金) 17:54:29.26ID:0JDStoXf
V言語はマクロがないとかクロージャがないとか
あと安定しないままだよね
2022/04/08(金) 18:14:16.72ID:CQiu8f2R
>>659
スルーというかNGWordに正規表現で
.{50}
としてるからまったく気づかない
2022/04/08(金) 18:59:02.09ID:wv8X5M3X
>>652
そうして集めたPHPerたちが作ったWebシステムはどうなりましたか
2022/04/08(金) 19:35:51.32ID:gFm4wviN
>>663
facebookって言って超メジャーなサービスになってるよ。
2022/04/08(金) 19:40:32.31ID:wv8X5M3X
>>664
facebookのPHPエンジニアが優秀=PHPエンジニアが優秀

という短絡思考には感服致します
障害者学級PHPoorたちの心のより所なんですね
2022/04/08(金) 19:54:22.21ID:haRe9nr5
このスレだけ見てるとPHPerよりRusterのほうが危険で頭がおかしいと思ってしまう…

実際はそんなことはないかもしれないが
2022/04/08(金) 19:58:36.19ID:gFm4wviN
>>664
え、どうなったか聞かれたから答えたらなぜかPHPともどもボロクソ言われるの、
意味がわからんのだが。
2022/04/08(金) 20:05:37.41ID:g/vqQJB9
>>654
「unsafeに触らない限りは」だろ。
実際にはフレームワークとかライブラリとかが充実している言語のほうが開発効率は高い。
(すでに開発済みだからという理由だけど)
2022/04/08(金) 20:09:42.84ID:nC7N6zb/
Rustは欲しいcrateほど放置されてるcrateやwipの空crateが一定数あるのが実用を考えた時に厳しい
RustのWinUI3対応早く来ないかなー
後別に何でもかんでも関数型になって欲しい訳でもないんだけど、スクリプト的な簡単に書きたいモチベーションのある言語に、関数のデフォルトのカリー化と、引数を渡すのと同じ記法での部分適用が導入されて欲しい
個人的に見た目がスッキリするし書くのが楽に感じるので
Fsharp使えというのはそうかもしれない
2022/04/08(金) 20:31:38.25ID:wv8X5M3X
>>667
元レス読めよ文盲
これだからPHPoorは
さっさと氏ねゴミカス
2022/04/08(金) 20:39:12.10ID:IqLRftxA
>>668
それはプログラミング言語の問題ではないな
純粋にプログラミング言語の比較でRustより上のものを挙げないと
2022/04/08(金) 20:39:56.09ID:haRe9nr5
webの世界を支えてるのはPHP
2022/04/08(金) 20:42:20.02ID:haRe9nr5
>>671
使いやすさから言えばjavaやc#のほうが上だと思う
Rustは使いどころがまだ確立されていない
2022/04/08(金) 20:48:04.21ID:4vP7lCV8
>>671
なら「標準ライブラリが充実している」でいいよ。
標準ライブラリが言語に含まれないとは言わんよな?
2022/04/08(金) 20:50:18.47ID:MnFLToWU
>>669
ところでカリー化はラムダではあかんの?
2022/04/08(金) 20:53:57.99ID:nx5fqsfT
>>673
そこはさすがに誰が見ても
Rust>Javaはあらゆる面から全員一致として
Rust>C#もほとんどの人が同意でしょ
2022/04/08(金) 21:15:04.96ID:hRiSi6np
>>676
それは過大評価し過ぎでは…
2022/04/08(金) 21:31:56.88ID:Br+emjPa
言語自体の比較だと現状ではRustが一番かもしれん
新言語が現れなければじわじわと利用環境や利用者を拡大していくのだろう
2022/04/08(金) 21:33:57.02ID:a6HBTm5x
>>669
> 後別に何でもかんでも関数型になって欲しい訳でもないんだけど

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

リストの結合とかカリー化や関数結合もデフォで組み込まれてたら
もっと違う感じだったやろねえ
2022/04/08(金) 22:02:06.45ID:GQWBx4Yt
ガベージ出まくるからゼロコスト抽象にならない問題点などあるよな
見かけはマクロでわかりやすくする程度が現実解
まあ普通のGC言語でもサポートしてないのが多い中
そこまで必要とされていない機能なのかもしれん
2022/04/08(金) 22:13:42.74ID:haRe9nr5
なんでIDコロコロ支店の?
2022/04/08(金) 22:23:42.64ID:wv8X5M3X
いきなりコロしとか言い出すとかマジやべえな
2022/04/08(金) 23:37:25.21ID:nC7N6zb/
>>675
処理として等価なものが書けるという意味では問題ないよ
それよりもっと簡単に書けるようになるので、あると嬉しいなって
2022/04/08(金) 23:52:45.49ID:fiUiUlD4
rust推しに狂気を感じるスレ
2022/04/09(土) 00:07:03.26ID:il24SwZF
それしか言えんのか
2022/04/09(土) 00:20:56.02ID:qlihBLS+
>>650
似てはいる。

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

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


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

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

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