次世代言語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/17(日) 23:53:18.81ID:Rod/beEv
>>221
それは君が間違っている。
以下の記事引用の最後の段落を読んで現実を知ろう。

グーグルやマイクロソフトが「Rust」言語でOS開発、背景に国家による諜報活動の影
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/

 1970年代初めにUNIXの開発にC言語が採用されて以来、OS開発はCやその後継であるC++の独壇場だった。グーグルはこれまでもAndroidの開発にJavaやKotlinを採用していたが、カーネルやデバイスドライバーなどOSの下位レイヤーの開発にはC/C++しか使ってこなかった。RustはC/C++と同様に下位レイヤーの開発に使用する。

 グーグルは数千万行にも及ぶ既存のC/C++のコードを書き換えるのは不可能としており、新規のコードの開発にのみRustを適用する方針だ。それでもOS開発の常識が数十年ぶりに変わるのだけは間違いない。

 RustはWebブラウザー「Firefox」を開発する米Mozilla Foundation(モジラ財団)が開発を主導するプログラミング言語だ。開発が始まったのは2006年で、安定版であるバージョン1がリリースされたのも2015年のことだ。まだ新しいプログラミング言語をグーグルやマイクロソフトがOS開発に採用する理由は、OSのセキュリティー強化にある。

 Rustは、プログラムに必要なメモリーの確保や解放に関連するバグが生じない「メモリー安全」が保証されたプログラミング言語である。それに対してこれまでのOS開発に使われてきたC/C++は「大規模な開発においてメモリー安全なコードを記述することがほぼ不可能」(マイクロソフトのブログ「We need a safer systems programming language」より)なのだという。

【脆弱性の70%がメモリー管理バグに起因】

 グーグルによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するという。同様にマイクロソフトも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関するバグに起因すると述べている。C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、Rustを採用するに至ったというわけだ。
229デフォルトの名無しさん
垢版 |
2021/10/18(月) 00:00:05.81ID:U4M03mzh
>>228
10年後にはまた別のことを言ってる。
再現性のないバグのほとんどすべてがメモリーに起因するのは間違いないが、メモリーの確保解放とはまた別の話。
Rustのやり方で上手くいかないことは、C++を使う者ならとうの昔に気付いている。
230デフォルトの名無しさん
垢版 |
2021/10/18(月) 00:03:14.89ID:U4M03mzh
Haskellこそ救世主である。
2021/10/18(月) 00:09:24.28ID:gU1bKDav
>>229
Rustがメモリ安全性の問題を解決している
これはC++とRust両方でプログラミングしたことある人ならば全員が理解していること
232デフォルトの名無しさん
垢版 |
2021/10/18(月) 01:15:23.81ID:U4M03mzh
Rustじゃ無理、Haskellこそ次世代言語。
233デフォルトの名無しさん
垢版 |
2021/10/18(月) 02:37:41.54ID:mrfOLNSK
>>227
ほんそれ
234デフォルトの名無しさん
垢版 |
2021/10/18(月) 02:39:28.50ID:mrfOLNSK
>>225
温暖化ωですね判りますωω
235デフォルトの名無しさん
垢版 |
2021/10/18(月) 02:42:33.77ID:mrfOLNSK
>>229 に同意
>>228 読んで騙される香具師は素人
2021/10/18(月) 03:31:02.12ID:cK47AFx9
Rustがメモリ安全だって主張している人はRustのメモリ安全とは具体的に何なのかソースも添えて説明すべきでしょう。
そうしないとあの言語だってメモリ安全だとか俺ならC/C++でも十分メモリ安全に書けるからRust不要って言われちゃうよ。

俺の知っている限りではRustのメモリ安全にはメモリリークしないことは含まれていないのでリークする可能性があるらしい。
RustにはC++のようなデストラクタがあるので解放し忘れることはないらしいが
C++のstd::shared_ptrに相当するRc<T>はReference count方式なのでお互いに参照しあうとメモリが解放されない。
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
速度優先とメモリ効率優先は誰が決めるの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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