次世代言語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(木) 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の場合は言語自体がフレームワーク化してるので、これを回避出来ないのが難点)
2022/04/09(土) 01:45:47.90ID:H+Mv/KjD
コンパイラのチェックが厳しい→コンパイラに頼る→学習にならない
もう言語の利点を語るんじゃなくて、学習に向いてるかどうかってことに話を絞ることでRust批判につなげることにしたのね
2022/04/09(土) 01:58:00.79ID:il24SwZF
暗記ごときでボローチェッカーに対処できるなら自他ともに認めるRustの学習曲線の問題は発生しないんだよなあ
2022/04/09(土) 02:01:36.12ID:il24SwZF
あとデッドロックは別にRustで静的に防止できる類のバグではないぞ
メモリリークと同様だね
2022/04/09(土) 02:15:58.74ID:eXc0QQCs
言語として魅力を感じるのはGoよりRustだが、将来的にGoよりシェアを拡げるかと言われたら疑問
2022/04/09(土) 02:26:41.71ID:730EZC4A
Rustはシステムプログラミングの分野でだけちゃんと生き残れば大成功だよ
あとは特にハイパフォーマンスや低コストが要求されるとこくらいか

ほとんどのアプリケーションでは、JavaやらPythonやらなりの高水準言語にて、より適す言語が見つかるやろ
2022/04/09(土) 03:28:08.67ID:iJevktt3
>>691
Javaの諸々の弱点を克服したものがRustであるため
従来Javaで書かれていた分野にRustが食い込んで行きつつあります
2022/04/09(土) 03:34:37.18ID:ntDYOunj
ツルツル無毛の奇麗な一本筋なんだろうね
2022/04/09(土) 04:14:38.03ID:0HVqg1ER
FacebookがバックエンドをJavaからRustにした記事でJavaの問題点が多数挙げられていたな
2022/04/09(土) 05:55:15.91ID:GQoYu9QH
他部分の結論がまだ早いが、環境的な点から考えて、
GoはJavaとPythonと比べて、教育言語として価値が高いことは今のところない

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

以上、拡大解釈せずにあくまで業界最適化言語と考えるのが無難という意見だ
2022/04/09(土) 06:21:18.57ID:Qew3WBrk
>>695
そのGo批判は間違っている
OOPはclassが無いだけだろ
例外処理もtry-catchが無いだけだろ
GoもRustもどちらもclassやtry-catchは無いが異なる方法を取っているだけにすぎない
言語毎に様々な形態がある部分を取り上げて批判するあなたの視野が狭く偏見を持っているだけにみえる
2022/04/09(土) 07:21:22.99ID:qlihBLS+
>>695-696
それは教育目的を明確にしておかないと空回りする。単純には以下となる。
・実務: 大学は就職予備校である
・養成: 大学は人材養成所である
・アカデミック: その分野の発展を目指す

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

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

でも実質は実質であり素直にOOPできるかと言えばそうでもなく変な制約がある
ファイル分割とかしたいとか思わないならその限りではない
2022/04/09(土) 08:17:47.26ID:ehpYMGIZ
goはある意味goroutineとchannelを使うための言語だしな。そこに価値を見出す人が使えばいいこと。
ただまぁ、独創的だから潰しがきかないとか批判しだしたらpythonも癖が強すぎてたいがいだがな。
結局普及したもの勝ち。
2022/04/09(土) 08:24:05.70ID:cvyLC6WE
>>698
目的に応じて言語を選んだほうがいい

C→Rustは狭すぎるし心に余裕がなくなるし楽しくない
標準的なGUIもないから入門には不向き
個人的には間にGC言語やPython挟んだほうがいいと思うよ
2022/04/09(土) 08:54:42.92ID:0xXBKlCN
>>701
PythonよりはRustの方がええやろ
Pythonは偏り過ぎ
2022/04/09(土) 08:56:00.27ID:LAfniSDw
バランスいい言語ないの(´・ω・`)
2022/04/09(土) 09:09:13.58ID:ehpYMGIZ
個人的にはswiftがそこそこモダンな機能を一通り備えていながら癖の強くない文法でバランスがいい言語だと思うけど、
Apple依存というところが最大のネック。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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