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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/04/17(日) 17:52:35.38ID:KG26dcth
スレタイ(順番はRedMonk準拠)以外の言語もok

前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
2022/04/17(日) 19:32:21.39ID:9SWISpNV
セックスも男女関係を円滑にする一つの言語なんですよ。
2022/04/17(日) 20:50:44.94ID:jKBP2PvH
プログラミング言語は以下の3つに分類される
CとC++ ←省メモリ高速だが、メモリ解放でミスると危険
GC言語 ←省メモリ高速ではないが、メモリ解放は自動で気にしなくていい
Rust ←省メモリ高速だが、メモリ解放は自動で気にしなくていい
2022/04/17(日) 22:01:20.83ID:ki8GFFnY
「省メモリ高速ではない」はNANDなのかNORなのか
プログラミングの才能無さそうな日本語
2022/04/17(日) 22:35:52.69ID:HtOTcTar
このスレは実質「Go vs Rust」のスレです。
2022/04/17(日) 22:37:31.27ID:Xo1y3bfH
僕は生前、同業・Googleの言語センス同調圧力に抗うも努力は虚しく、無残な敗北を余生噛みしめる結果となった。

君たちには底辺職言語オタクの僕の分まで、強く自由に生きてほしいデス。
2022/04/17(日) 22:58:55.21ID:xE2XgYmS
PHPの”勝ち”やね・・・

"1000" 名前:デフォルトの名無しさん[sage] 投稿日:2022/04/17(日) 22:31:30.13 ID:xE2XgYmS [6/6]
1000ならPHP大復活時代でルースターズを蹂躙レイプする
8デフォルトの名無しさん
垢版 |
2022/04/18(月) 00:05:49.90ID:RiOKXL41
>>7
PHPもタイプヒンティングちゃんと使っていったら悪くないんじゃないかね。
結局日本国内のWeb系じゃ一番使われてるし。
2022/04/18(月) 00:30:56.61ID:6Qt778/v
PHPはドル記号がダサいから駄目
2022/04/18(月) 02:55:12.95ID:X0td+574
C++使っててもコンテナクラス使うかスマートポインタを普通に使っていればメモリリークすることは殆どないでしょ。
手動でnewとdeleteしなくてはいけない時ってある?
2022/04/18(月) 05:38:14.77ID:O5CqVN8y
go とrust が合体した言語があったらいいのに
2022/04/18(月) 06:25:23.07ID:MYm7lCHF
>>11
vlang
2022/04/18(月) 07:03:56.62ID:e4wxGEsZ
絵に描いた餅を出されても
2022/04/18(月) 07:21:19.73ID:6Qt778/v
>>10
リークというかダングリングだけど、人が書いたメソッド中身見ないで使ってると参照切れてたり日常茶判事だよ
2022/04/18(月) 07:25:53.68ID:usoGfIPO
>>10
そういう問題じゃないんだよ
スマートポインタ使わないで実装できてしまうことでこれまでどれたけの脆弱性をうんだか、という問題
2022/04/18(月) 07:45:20.51ID:3ssVn6Z5
>>10
・スマートポインタを使い忘れてもコンパイルが通ってしまう
・スマートポインタを間違って使ってもコンパイルが通ってしまう
後者はC++ベテランでも複雑化するとうっかりミスがある
・そもそも毎回unique_ptr指定が面倒かつ無駄なのでデフォルト適用にして欲しい
2022/04/18(月) 07:51:49.28ID:usoGfIPO
新しいプロダクトできました。メモリーリークはないです。
なんでいいきれるの?
Rustで、実装してるからです。
ああ、納得。

こんな感じで会話できるかどうかの差はものすごく大きい。
2022/04/18(月) 07:52:22.78ID:rznbXz+G
>>11
go要素いらねえだろあんな糞文法
なんどGoogle潰してやろうと思ったか
2022/04/18(月) 08:15:02.57ID:ndwLrDA6
やはりRustが最強

JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と
https://www.publickey1.jp/blog/22/javascripttypescriptrome_formatterrustprettier10.html
20デフォルトの名無しさん
垢版 |
2022/04/18(月) 09:12:25.91ID:33Ybip/c
Rustの文法すごい好きだから、c#ぐらいのノリでかけて文法がRustっぽい式指向な言語が欲しい
2022/04/18(月) 09:21:04.84ID:usoGfIPO
なんでもその言語はC#のノリで書けるらしい

Goやないかい!

GoはC#のノリで書けるんやから!

俺はなんでもオミトオシやねんから!

Goやそんなもんは!
2022/04/18(月) 09:33:56.22ID:Hv7oPs1o
>>20
Rustの構文や標準メソッド等ほぼそのままに
所有権と借用ルールとライフタイムだけを削除というか無視して処理するGC言語『GC-Rust』を作るとよいかもね
プログラミング初心者入門用にもなるし速さ省メモリを必要としない場でも使えるような
多少遅くてもいいのだからインタプリタ型でも十分かもね
あとは所有権参照借用lifetimeだけ学べば本物のRustへすぐに進める
23デフォルトの名無しさん
垢版 |
2022/04/18(月) 09:43:43.33ID:4vneGtME
>>19
ツール系はいくつかrust製があるね。
ripgrepもなかなか良いよ。
24デフォルトの名無しさん
垢版 |
2022/04/18(月) 09:46:35.13ID:33Ybip/c
>>22
あーそんな感じだな
GC付きのRust欲しいわ
2022/04/18(月) 10:29:24.32ID:Mcv+P1OB
Rcじゃだめなの?
2022/04/18(月) 11:06:57.46ID:e4wxGEsZ
もう調べてるかもしれないけどもっと現実的な話で式志向がいいならF#どうっすか
2022/04/18(月) 11:23:46.03ID:X0td+574
>>14,15,16
スマートポインタを使い忘れるってことはmake_sharedかmake_unique使わないでnew使ってるってことだからgrepすれば簡単に見つけられる。全ての関数の引数の型とクラスメンバの型に生ポインタが無いようにすれば間違った使い方をして生ポインタがでてきてもコンパイルエラーなる。(もしそれらに生ポインタがあっても正規表現使えば見つけられるだろうし)
2022/04/18(月) 11:32:19.66ID:Yow4FQAb
>>27
そんな面倒なことをせずとも無指定でunique_ptr相当になるRustを使った方が楽でいいな
Rustなら他にも忘れたり間違えたりすればコンパイラがエラーとして詳しく指摘してくれるし
2022/04/18(月) 11:45:09.21ID:VMhcwqBx
>>18
アリが象を潰すつもりですか?
2022/04/18(月) 11:47:49.11ID:GWhRkThq
>>27
ある瞬間自分の書いたコードだけチェックできればいいってならその通りだとは思う
ただ実際には依存ライブラリや他の人が入れてくるコード全てを常時チェックし続けないといけなくなるし
もし依存ライブラリがnew使ってたとして毎回フォークして書き直すのか?という問題もある
2022/04/18(月) 12:03:53.59ID:e4wxGEsZ
巷に出没するRust信者自分でRustまともに書いてない説を提唱したい
2022/04/18(月) 12:14:51.12ID:MYm7lCHF
そうなるとRustを広めたい勢力に雇われてる工作員の可能性出てきちゃう
2022/04/18(月) 12:27:52.69ID:FXKoB+ib
>>28
引数渡しがデフォルトmoveじゃなければよかったんだかな。
デフォルトconst 参照で組まれていたらずいぶん学習しやすくなったと思う。
2022/04/18(月) 12:35:25.60ID:pNu/+WEX
所有権のmoveセマンティクスらへんがRustの最大の文法的特徴なのに、そこがいらんとな
最初からKotlinとか使ってればええやんか
2022/04/18(月) 12:42:20.62ID:FXKoB+ib
>>34
C++以外のユーザーがRustを学習するときの一番の難所でもあるけどな。

実際、不変借用は頻出しそうな気がするけど、性能ペナルティーとかあるのかね?
36デフォルトの名無しさん
垢版 |
2022/04/18(月) 12:52:02.32ID:4vneGtME
rustはインストール先がユーザーホームディレクトリの下なのが何だかな。
マルチユーザーで使う場合が手間かかる。
2022/04/18(月) 13:04:30.11ID:nKPrtbqz
>>33
それはおかしい
一般的に参照を引き渡すということは様々な問題を生じさせるということ
競合の種も産むし参照切れの種も産む
だから参照を引き渡す方が記述コストを増やすことこそ道理
次に
C言語でもポインタ参照渡しは&を付けて表記する
したがって無印よりも&前置こそ参照渡しに相応しい
2022/04/18(月) 13:08:07.19ID:usoGfIPO
>>30
これ。
見つけたからってどう住んだよ?って話だよな
他社のコードを修正できないし、そもそもそんなチェックを未来永劫担当者に引き継いでいけるのか?ってこと
個人でできることと、組織やプロダクト関係者全体としてできることは違う
2022/04/18(月) 13:33:30.85ID:X0td+574
>>30,38
そんなこと言ったら、Rustでも他人の書いたコードにunsafeが入ってる可能性もあるでしょ。

>>33
Nim言語だとデフォルトで不変コピー渡しだけど引数のサイズが一定サイズ以上(確かポインタサイズの3か4倍以上)だとポインタで渡すようなコードを生成するんだよね。

>>37
Rustは参照を使ったときの問題が起きないようにコンパイル時にチェックしているんだからデフォルトがconst参照渡しでも問題ないんじゃないの?

Rustって借用したり借用を参照するときに&や*をつけないといけないけどその結果コードの見た目が生ポインタを使ってるCのコードに似てるんだよね。暗黙に借用したり参照しちゃダメって考えでそうなってるんだと思うけど。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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