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

■ このスレッドは過去ログ倉庫に格納されています
2021/08/22(日) 08:59:03.31ID:QorwbXcj
スレタイ以外の言語もok

前スレ
次世代言語21 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1587276362/
2021/10/18(月) 05:42:04.96ID:gU1bKDav
>>235
GoogleとMicrosoftが嘘を言ってると主張??
その記事にあるようにAndroidやMS製品に存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するとGoogleとMicrosoftがそれぞれ同じ主張をしている

>>236
C++わかるなら話が早い
ご存知のようにC++のスマートポインタは使い方を間違えてもコンパイラは通してしまい気付くチャンスがない
つまりC++は人間によるチェックに依存しているためコードが複雑化するとどこかでメモリ安全性を壊すバグが生じてきた
Rustはその言語仕様からメモリ安全性を壊すコードをコンパイラが認識してコンパイルを通さない
そのためコンパイルが通ったコードはメモリ安全性が保証される初のプログラミング言語となった
そこでIT大手各社がRustを採用支持>>53するというプログラミング言語の歴史でも初の事態となった
2021/10/18(月) 09:29:18.21ID:deQZOXkA
>>208
GoやってからRustやれば良い
間違ってもJSから入ってはいけない
2021/10/18(月) 10:40:12.86ID:oPyph5kC
静的チェック万能論者は信用できんわな。
それで減るものも多いが、あいつらは嘘を信じ始めている。
2021/10/18(月) 11:26:29.68ID:CRhgpEvH
これ四色定理でやったやつだ
証明が嘘ではないことと証明の可読性を両立するのをやめた

証明が万能だと信じるなら両立をあきらめられない
万能ではないと判断すれば可読性は捨てられる
2021/10/18(月) 12:55:52.50ID:nWV7c8cM
>>236
公式ドキュメントには確かにメモリ安全性をちゃんと定義した箇所って無いね
近いのはあるけど……
https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html

> If all you do is write Safe Rust, you will never have to worry about type-safety or memory-safety. You will never endure a dangling pointer, a use-after-free, or any other kind of Undefined Behavior.
2021/10/18(月) 13:49:45.64ID:4dXA0uuo
ダングリングポインタを作らない、に尽きるんじゃないの
2021/10/18(月) 14:15:47.57ID:CRhgpEvH
変数の寿命が有限になった原因は2種類ある
スタックとヒープ
一部の言語ではヒープの定義をライブラリに丸投げするから言語仕様で定義しない
あとはスタックを定義するだけ
244デフォルトの名無しさん
垢版 |
2021/10/18(月) 15:25:39.78ID:fRkWn8Ak
237のような気持ち悪い信仰がとてつもなくrustの普及を阻んでいる。
245デフォルトの名無しさん
垢版 |
2021/10/18(月) 15:42:51.62ID:r9t2S6+p
メモリ破壊やリークが絶対存在しないプログラムでも
データ次第ではいくらでも飛ばせる
246デフォルトの名無しさん
垢版 |
2021/10/18(月) 16:41:38.35ID:a937BLhH
なんかずれていってんな。
誰も万能とか言ってないのに、あくまでも他言語と比較しての話なのに。
247デフォルトの名無しさん
垢版 |
2021/10/18(月) 17:24:02.54ID:+nrbTxfF
rustはgc使わずにメモリ解放できるから速くて安全ということなのだと思ってたけど、そういう単純な話でもないのかな
2021/10/18(月) 17:55:52.34ID:sVAVzshE
奴隷はrust使ってくれた方が助かる
2021/10/18(月) 18:18:29.34ID:W4UMdHtn
優秀な人からRustへ流れてるよな
C++が言語として完全敗北してしまったところが興味深い
2021/10/18(月) 18:26:09.16ID:sw4A5qdT
Rustのセールストークなどに惑わされず
Rustがやろうとしたことを冷静に理解しきってるのがC++erという
C++を知らなかったりニワカ知識だったりする人が騒いだり対立を煽って楽しんでる
2021/10/18(月) 19:13:39.89ID:gU1bKDav
>>250
C++とRust両方のプログラミングができるならば
C++の欠陥であるポインタ使用ミスがあってもコンパイルが通りメモリ問題を引き起こしてきた件をRustが解決したと理解できるはずだが
2021/10/18(月) 19:54:57.93ID:sw4A5qdT
いたずらに否定したりせず
慈しみ、見守ってるってこと
2021/10/18(月) 20:29:15.76ID:CRhgpEvH
トークがどれだけうまくなっても人の話を聞かない相手には効果がないよな
聞き方や読み方のレベルを上げた方が早い
254デフォルトの名無しさん
垢版 |
2021/10/18(月) 20:40:39.51ID:9iPUXHWE
C/C++理解してれば
Rustは不要ですよ
2021/10/18(月) 20:44:49.04ID:oPyph5kC
むしろrustで問題解決とか言ってるやつのc++コードがどれだけひどいのか観て見たくなってきたわw
2021/10/18(月) 21:28:21.41ID:CRhgpEvH
事実が見えるまで粘るより仮定した方が早い
2021/10/18(月) 21:57:02.11ID:W4UMdHtn
もしC++がRustに勝る点が一つでも残っていれば
C++しか書けない人がこれほど発狂することなかったろうに
258デフォルトの名無しさん
垢版 |
2021/10/18(月) 23:49:18.78ID:k0GYnhD+
超次世代言語Dart
2021/10/19(火) 01:27:04.57ID:PbORd8vw
C/C++で完璧なコードかけるならどこいっても歓迎されると思うよ
それが誰もできないんだからrustに流れてるってことでしょ
2021/10/19(火) 03:17:45.56ID:+8M5kAvN
>>259
いや完璧なコードを書けるというのが勘違いであり凄いプログラマーでも間違いを起こすことがある
だからこそ人間頼みではなくコンパイラがチェックした方が良いと誰もが辿り着いた
261デフォルトの名無しさん
垢版 |
2021/10/19(火) 05:43:42.06ID:mawS91w/
>>255
俺も。
メモリーの確保解放ですべて解決みたいな主張してるから余計に不思議。
262デフォルトの名無しさん
垢版 |
2021/10/19(火) 07:01:04.92ID:3gMaYVXy
俺はここの耄碌よりGAFAMを信じますけどね
2021/10/19(火) 07:40:41.53ID:HngacVLx
自分で考えろ低能
2021/10/19(火) 07:49:05.09ID:+Znhh+E9
GAFAM?
FAANGじゃなくて?
Mって何?
2021/10/19(火) 08:22:28.00ID:0uJXMEOT
自分で考えている時には命令文や疑問文を使う必要がない
否定文なら使ってもいいけど
2021/10/19(火) 08:25:01.48ID:L5e5F1nS
>>264
Google
Apple
Facebook
Amazon
Microsoft
2021/10/19(火) 08:47:54.47ID:T9srRJav
GoがC/C++/Rustに比べて若干遅くなる要因ってGC以外なにがあるの?
2021/10/19(火) 08:56:27.98ID:9axoCOPN
二番目はAppleと言われてるけどどう考えてもAmazon
ケツから将来性の無い順番で消える、つまりGAFAMのMが消えてGAFAになったので
次のAppleが消えてGAFになる
2021/10/19(火) 09:55:30.99ID:T9srRJav
GAFAMって言葉が生まれたのはGAFAより後では?
MSをハブったらかわいそうってことで生まれたような
将来性が一番微妙だからハブられてたんかもしれんけども
270デフォルトの名無しさん
垢版 |
2021/10/19(火) 10:09:08.48ID:L/QTVpd7
まあFacebookよりは明らかに上やから入って当然ではある
2021/10/19(火) 13:41:00.66ID:HngacVLx
国産検索エンジンはなぜつぶされるのか
272デフォルトの名無しさん
垢版 |
2021/10/19(火) 19:00:05.85ID:089JTvXc
Crystal入れてちょんまげ
273デフォルトの名無しさん
垢版 |
2021/10/19(火) 19:37:36.30ID:OaBrXs9n
crystalはrubyライクという以外あまり特徴がないよな。次世代言語としてどこで存在感出せばいいのか
274デフォルトの名無しさん
垢版 |
2021/10/19(火) 20:15:37.83ID:LrPlA7Vp
>>254
一人で作業するなら好きな言語使えば?
275デフォルトの名無しさん
垢版 |
2021/10/20(水) 09:10:49.09ID:OEiI06HQ
>>261
++
276デフォルトの名無しさん
垢版 |
2021/10/20(水) 16:10:03.72ID:lLepbwfw
Nim version 1.6 is now officially released!
2021/10/21(木) 09:29:50.15ID:Hd41fW1K
Nimくん自分とこのスレに書き込まれずにこっちにばかり話題が来るのちょっとかわいそうになってきた
278デフォルトの名無しさん
垢版 |
2021/10/23(土) 00:34:45.65ID:o3xA5lbA
>>273
Crystalの開発は、Rubyの特徴である優雅さと生産性の高さ、コンパイラ言語の特徴である実行速度の速さと
効率の良さと型安全を目的として、2011年6月に開始された。バックエンドにLLVMを利用することによって
効率的な機械語を生成することができる。
他のコンパイラ言語と比較して、高度な型推論とユニオン型の組み合わせによって、高水準スクリプト言語の
ような簡潔な記述を実現している。
Goに影響されたファイバー間の通信を行うための軽量なチャネルとファイバーが実装されている
2021/10/23(土) 01:42:06.05ID:psrWRCod
俺が思うに
このスレに登場する言語は次世代言語なんかでは無く
狂信者がいる言語にしか見えない
次世代言語の話してるのに「C++」という単語の出現頻度の高さがそれを物語ってる

旧来の狂信者がいる言語と新しい狂信者がいる言語の
宗教戦争の場がこのスレだと感じた
2021/10/23(土) 08:56:00.74ID:qfDvYrOr
気がつくのが遅いよ、きみ!
2021/10/23(土) 10:07:43.64ID:rv17aNSC
>>279
ちょっと前まではC++が最速最強言語だったからでしょう
ただし唯一の欠点がメモリ安全でないコードも生じ得て現実にセキュリティ脆弱性なども招いていること
そこで次世代言語としてC/C++と同じく最速でありつつメモリ安全性を保証する真の最速最強言語Rustが登場したことから旧世代のC++が比較対象として話に出るのでしょう
2021/10/23(土) 11:45:11.96ID:kIBEGvOM
むしろアニメの登場人物全員JKにするみたいな奴が狂信者
爺婆はいても信者はいない
283デフォルトの名無しさん
垢版 |
2021/10/23(土) 12:14:12.92ID:OTpUh678
c++の唯一の欠点とかw
2021/10/23(土) 13:05:15.91ID:kIBEGvOM
賛成とか反対とか言えなくてへらへら笑ってるのも悪いんだよ
2021/10/23(土) 15:14:01.04ID:kbstlDmN
>>281
結局最速にするにはunsafeするやん。そういう誤魔化しをあえて語らんところが信用を失うんだよ。
286デフォルトの名無しさん
垢版 |
2021/10/23(土) 17:40:45.89ID:o3xA5lbA
rusterの気持ち悪いのが一番嫌い、お前が自分とこの発音で盛り上がるスレに書いてろ
2021/10/23(土) 17:46:02.31ID:Usgnsf5k
最初から全部unsafeで書けばいいのに
2021/10/23(土) 18:07:07.88ID:A4VxVCoL
>>285
意味不明
比較ベンチマークのRustプログラム等を見ても普通のアプリのRustソースを見てもunsafeは出てこない
2021/10/23(土) 18:10:31.38ID:dzQukzcx
RustってC++のmoveが楽になった言語の認識だったけど
ここ読むと捉え方ちがうような気がしてきた
2021/10/23(土) 18:12:33.07ID:rnZCdbOY
>>288
競プロでもしてんじゃね
2021/10/23(土) 18:14:14.05ID:kIBEGvOM
最安で欲しい物を手に入れる方法が購入ではなく盗むことだとしたら盗むか?

unsafeで最速にするというアイデアはそういうイメージ
2021/10/23(土) 18:26:04.70ID:A4VxVCoL
>>289
メモリ安全性保証などの話は別にしても
C++は最初の小さな家Cを何度も建て増ししてきたような言語
Rustは最初から最新のパラダイムを洗練して採り入れた言語なのでプログラミングのしやすさがかなり違うかな
293デフォルトの名無しさん
垢版 |
2021/10/23(土) 18:53:49.04ID:OfW/Ted4
誰もがc++ありえんと思ってて、代わりの候補もたくさん出てきた中で、ようやく使い物になりそうなのがrust
2021/10/23(土) 19:14:18.65ID:JF+Bwqfj
C++が互換性を無視して不必要な機能をばっさり切り捨てることができればだいぶましな言語になる気がするけどそんなことはできないんだろうな。
2021/10/23(土) 19:41:04.11ID:kIBEGvOM
互換性がないバージョン1から3があるなら
最も不必要なのは2なんだよ
2を無視して1の互換性を重視するのは言うほど悪くない
296デフォルトの名無しさん
垢版 |
2021/10/23(土) 20:21:23.52ID:8QkqEddx
たしか、あわしろ氏がLinuxをRustで書き直すプロジェクト始めたはず。
2021/10/23(土) 20:24:24.83ID:rnZCdbOY
どこで?
298デフォルトの名無しさん
垢版 |
2021/10/23(土) 21:01:07.99ID:WtF24tRL
>>285
0か100しか認めないタイプか?
ストレスでハゲてそうだな。
299デフォルトの名無しさん
垢版 |
2021/10/23(土) 23:36:13.26ID:rsO/lln+
Rustは難しい言語ではない。気軽に始めてみるところからスタートしよう。Rust活用企業の現場に聞いてみた
https://engineer-lab.findy-code.io/rust

松本おおおおおおおお!
2021/10/24(日) 14:51:32.96ID:x5aKIXa7
FacebookはReactとかVRあるから日本でも結構重要なポジションになりつつあるな
SNSは全然流行ってないとしても
2021/10/24(日) 17:16:59.20ID:MlWNQcCM
c++の安心側に制約を追加したSmart c++は欲しい。Rustは要らない。
2021/10/24(日) 18:13:51.90ID:NLtlOSxj
D言語の話した?
303デフォルトの名無しさん
垢版 |
2021/10/24(日) 19:18:02.70ID:4GW3Pp+f
F#……
2021/10/24(日) 20:44:53.71ID:x5aKIXa7
F#って結局何作れる言語なの?
2021/10/24(日) 23:46:02.08ID:J36a/Om9
>>301
プログラミングしやすいRustがあるのにC++ベースにはもう戻りたくないよね
2021/10/24(日) 23:51:33.94ID:x5aKIXa7
そういえばWebAssembly Studioなんてのがあるのを最近知った
https://webassembly.studio/
307デフォルトの名無しさん
垢版 |
2021/10/25(月) 00:38:46.00ID:Zg5tRANc
>>301
c++23で契約プログラミングが標準化されたら改善するかも?
308デフォルトの名無しさん
垢版 |
2021/10/25(月) 00:42:01.96ID:Zg5tRANc
そういやrustって契約プログラミングをサポートする文法あったっけ?
2021/10/25(月) 01:31:51.79ID:13mKJPww
https://crates.io/crates/contracts
2021/10/25(月) 23:17:33.61ID:vPVmdF1Z
結局、データの共有かコピーかが楽に設定できるかどうかってことに焦点が当たって、
rustは捨てられることになるよ。
こんな明らかなことさえわからん連中ばっかなのが面倒ごとだな。
2021/10/25(月) 23:55:02.93ID:Hh6pHipi
コピーの反対はムーブかもしれないので、コピーの反対は共有だろうという雑な考えを捨てよう
312デフォルトの名無しさん
垢版 |
2021/10/26(火) 10:23:33.99ID:oHFZf85O
>>267
goroutineのネイティブスレッドとM:N関係。軽量と言っても、当然、中でコンテキストスイッチのように
実行の切り替えがある。他の言語は(機能が)無いので真っ当に比較出来ないが、ほかの言語で似た外部の
ライブラリを入れるとgoより重たいし、nodeのように、I/Oバウンドな非同期しかないと1つが詰まったら
全部止まるデメリットがある。goのGCが遅めなのは、当然、このgoroutineの並行性における不可分操作が
難しいからであり、rustのRc/Arcやnimの--gc:arc/orcに比べ並行性を保ちながら参照カウントを不可分の
操作にするとコストがとても大きくなるためと言われる。多くの人が勘違いしているのは、理論上はRcより
(トレース系のGCは)GCのほうが効率的(高速化が望める)だ、ただしGCはネックが生じる
2021/10/26(火) 11:22:52.21ID:UCZJSiVy
バカが老害ガー言われ始めるのに大体10年くらいかかる。
こうして流行は終わる。
314デフォルトの名無しさん
垢版 |
2021/10/27(水) 12:05:58.55ID:6tzLPjk/
Crystal入れてください
2021/10/27(水) 14:14:45.58ID:P9D6Cr2V
存在感微妙だし。nimもいらんな
2021/10/27(水) 15:48:46.91ID:G9Y5/nKM
Zigでもいれとく?
2021/10/27(水) 16:26:23.01ID:Jg7L84/d
Vがいいかも
2021/10/28(木) 12:19:59.27ID:pk2ZbUG1
Vの良さでも語ってくれ
情報少なすぎてよく分からない
2021/10/28(木) 13:00:24.39ID:owG9GWEY
あれは詐欺だろ
320デフォルトの名無しさん
垢版 |
2021/10/29(金) 00:13:25.52ID:RD2SEv+6
vlangは0.3が全然出ないね。mutを後から導入したのがよほど不具合頻発になったのだろうか
2021/10/30(土) 02:12:19.09ID:CsJIfRO2
次に取り沙汰されるのはKokaみたいなAlgebraic Effectsのある言語だと思う
2021/10/30(土) 02:29:08.63ID:qGEfyGin
取り沙汰される、って何年後のことやねん
やたら表現力高そうだし、ベストプラクティスがなかなか定まらなそう
2021/10/30(土) 03:11:26.17ID:U9OTRLVf
rustだgoだと言ってたら一瞬Vが騒がれて消えてなくなって今はnimなの?
今ならrustでいいじゃん
クッソ速くて賢くて小さくて安全でどこでも動いて便利な使いやすい言語誰か作ってくれ
一番大事なのは速いことな
2021/10/30(土) 08:15:37.97ID:fF4OSUNs
Nim is efficient, expressive, and elegant.

どこらへんがどうエレガントなのか謎やわ
2021/10/30(土) 10:49:51.87ID:5VdQtJkF
「エレガントさ」とか「楽しさ」で売ってる言語はクソの法則
2021/10/30(土) 11:52:44.92ID:YSY9yYdl
他の言語の存在を無視したりOSの存在を無視したりしたら
まともな説明ができなくなる
空虚な言葉を使うのは原因というよりむしろ結果
2021/10/30(土) 13:21:47.38ID:U9OTRLVf
むしろ複数のコンピュータをまとめて1つの環境として扱い、その環境で最適化して実行可能な言語を作ってくれ
2021/10/30(土) 13:40:35.45ID:OQ2dRDm5
>>327
速度優先とメモリ効率優先は誰が決めるの?
2021/10/30(土) 14:03:03.78ID:U9OTRLVf
>>328
細かい部分は最適配分して決めるとしか
最初は適当なヒューリスティックでいい
330デフォルトの名無しさん
垢版 |
2021/10/30(土) 22:25:15.35ID:G/S2+R78
>>324
公式は3つ挙げてる。macro記述と言語そのもの差異がほとんど無いことを挙げている。$aとか別言語になったり
してない。もう1つはpython風の構文がエレガントだと言っている(これはpython風の構文を多くの人が嫌うの
で賛否が分かれると思う)もう1つは多くの言語が該当するので書かない。個人的にはvar/letじゃなくlet mutや
いちいち打つ::や、マクロで!とかの方がエレガントだと思わんけど、goでいえばpanicがあるのにtry/catchが無い
(多値戻りの2番目にerrorを入れてif判定させる)、genericsがまだ無いのもエレガントとは思えない
331デフォルトの名無しさん
垢版 |
2021/10/30(土) 22:27:20.82ID:G/S2+R78
>>327
Juliaでは、標準ライブラリの一つとして提供されているDistributedモジュールで分散メモリ並列計算を実装して
いる。Juliaのベースインストール状態では、2種類のクラスタがサポートされる。(1つはローカル)
・複数のマシンからなるクラスタ。--machine-fileオプションで指定する。パスワードが不要なSSHを
用いてJuliaのワーカプロセスを指定した計算機で分散される
@distributed for i = 1:100000
a[i] + b[i]
end
こういうのが1つの実行環境で複数のコンピュータでクラスタ実行される
--machine-fileで
3 164.67.165.21 # 3process
5 164.67.165.22 # 5process
332デフォルトの名無しさん
垢版 |
2021/10/30(土) 22:36:16.21ID:G/S2+R78
まあmacro記述を簡単にインライン展開するために別言語風になるのも分かるけど、、名前衝突が起きないように
デフォルトで別名に自動で名前を付けて展開してインライン展開する場合は特殊タグを付けるほうが
2021/10/30(土) 23:31:55.44ID:U9OTRLVf
>>331
そんなの言語レベルのサポートいらんやん
分散も並列化も勝手にやってくれ
プロセスもマシンも意識したくない
意識してもいいけど必須じゃなく、自動で可能な限り適切にリソースが配分されてほしい
プロセスとかそんなざっくりした単位でもなくね
それが実現可能な言語を用意せよと言っている
2021/10/31(日) 00:40:29.24ID:Qz/5KmYR
それって言語じゃなくてOSとか別のレイヤーが果たす役割じゃね?
335デフォルトの名無しさん
垢版 |
2021/10/31(日) 00:43:34.15ID:e5ZzvOAs
言語レベルサポートが無いということは、分散も並列化も勝手にやったら不可分解の通常のforループも
分解されてしまうので、そんなことは不可能。繰り返し順次実行と、(表現上は繰り返しだが)並列実行
では意味も結果も異なる。
要らないというコンピューター言語学での証明は無い。思想的には集合要素に対するmap/reduceなどが
並列の操作ができるからと言って、forだけで表現できる語彙ではない。言語の標準ライブラリにreduce
などのAPIがある事は、それそのものが(並列に実行していないのに)並列性の表現と同じ意味。
CPU側でそれが並行操作可能か、何らしらのマーカーは必要というのは素人以外はすぐ分かる事
>”言語を用意せよと言っている”おまえ何様やねんw
2021/10/31(日) 00:44:58.68ID:LjLsZLEJ
プログラミング言語という概念すら理解してないのがこのスレの住人のレベル
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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