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

■ このスレッドは過去ログ倉庫に格納されています
2022/08/29(月) 11:22:16.48ID:5dAad4gs
スレタイ以外の言語もok

前スレ
次世代言語27 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1659655598/
2022/09/07(水) 08:26:20.07ID:AY0Q59m9
>>417
イミュータブルを使わないと再帰が増えてハードル上がるから
2022/09/07(水) 08:34:10.43ID:ASjGwh81
同じforループでも

for (i = 0; i < 10; i++)
これは見るからにmutableだけど

for i in 0..10
これは毎回別のimmutableがやってくる感じ
2022/09/07(水) 08:39:03.96ID:SuR+St8r
いいかげん 俺ウザいだろ
tagが自然発生したぞ
どうだ怖いか

Flutterスレ盛り上げてこいよ
2022/09/07(水) 09:44:51.32ID:XqqYtKGz
イミュータブルはzero overhead abstractionとは対極だからな
特にRustの場合は関数型みたいにオブジェクトの一部を書き換える度に新しいオブジェクト作るとかやってたら細切れに解放が必要になってコンパイルも実行もクソ効率悪そう
2022/09/07(水) 10:24:02.90ID:aeiTHGZS
>>241
必要性もないコピーを部分可変にするアンパックは例が悪すぎる。let t = (0, 1, 2);として
let (a, mut b, c) = foo; こんな風に書くより
println!("{} {} {}", t.0, t.1+100, t.2);アンパックせず、このように書くか
let (a, b, c) = t;
println!("{} {} {}", a, b+100, c);アンパックしても即値計算ならわざわざmutは必要ないですよね
あるいはもっと複雑な算術する必要があるなら、単独でlet mut で、let mut b= t.1+100;
どっちにしてもlet (a, mut b, c) = foo; なんてほとんど使わないのではないか、なにより見た目が気持ち悪い。
これが最高だという人もいるけど、個人的にはなんかしっくりこないな
ほかの言語の多値戻り値のように()カッコさえなければ良いのに・・・・
2022/09/07(水) 11:56:35.70ID:a104GDG0
>>393
それめちゃくちゃしっくりくる
誰もあんな嫌なやつ育てたくないわな
2022/09/07(水) 13:08:54.29ID:ossJLtb4
>>401
俺仕事でNLPやってるけどトークナイザの実装がクソ遅いんだよ
英語だとRustで実装されたfastバージョンがあるんだけど
日本語対応のやつはゼロ
作らしてくれーと言ってるけど許可降りない
2022/09/07(水) 13:44:11.23ID:AY0Q59m9
>>424
日本語の字句解析なんてやったことあんの?
片手間でできるようなもんじゃないぞ
Cで書かれたありもの使えよ
2022/09/07(水) 14:05:06.57ID:ossJLtb4
>>425
やったことあるから言ってるんだが?
それに今時の自然言語処理って転移学習は必須
そのためにはトークナイザとモデルを合わせなきゃいけなくてこれがめちゃくちゃ使いにくい
2022/09/07(水) 14:09:08.42ID:AY0Q59m9
>>426
やったことあるならその時のが残ってるだろ
それをプレゼンしてだめなら自分の思ってるほどの性能は出てないてことじゃね
428デフォルトの名無しさん
垢版 |
2022/09/07(水) 18:37:19.13ID:eUEKoWnI
>>421
オブジェクト作るって、ヒープのアロケーションを想定してる?
429デフォルトの名無しさん
垢版 |
2022/09/07(水) 19:13:42.89ID:ge/fWvoV
いるよな、知りもしない癖に口出してくるやつ。
2022/09/07(水) 19:20:29.73ID:OCYL1nNS
>>428
所有権の複製こそ最善手
2022/09/07(水) 20:04:27.92ID:t2gi/CWf
>>429
論破されて自演はみっともないぞw
2022/09/07(水) 20:06:49.94ID:/qhkAnst
今夜のAAPLの発表まで暇つぶし

早いもので2年か、改めて見る
Scalaが日本で衰退し始めている理由を説明します
https://www.yout
ube.com/watch?v=kFzLia7YZQU
433デフォルトの名無しさん
垢版 |
2022/09/07(水) 20:17:13.33ID:dqzrycJl
https://madnight.github.io/githut/#/pull_requests/2022/1

上げ幅で言うとC++が一番上がってるんだよね。
434デフォルトの名無しさん
垢版 |
2022/09/07(水) 20:18:37.12ID:dqzrycJl
C++は3年ごとに改定されるので、歴史ある言語でありながら、次世代言語でもあるんだよね。
素晴らしいことだと思います。
2022/09/07(水) 20:21:49.10ID:F4QYab6d
3年ごとに改定って道路工事かよ
おいしい
2022/09/07(水) 20:31:13.48ID:g9jqSBBW
SDGs的に完成は最悪手
発注側も分かってる

Scalaは完成しちゃったの?
2022/09/07(水) 20:40:06.02ID:HmyZhEv1
Haskellも完成
Goはver2いつ出すんだレベル
2022/09/07(水) 20:42:19.72ID:HmyZhEv1
いい意味で
言葉足らずでした
2022/09/07(水) 20:47:36.68ID:g+neltEd
>>422
プログラミングをしたことがないからそんな発想になる
関数からタプルなどが返ってきて別々に使うなど日常茶飯事

let (tx, mut rx) = mpsc::channel(10);
個別にmut指定する仕様は尊い
2022/09/07(水) 20:52:51.19ID:nXW6tumg
>>439
Goスレでpromise/channelの育成を要求して成長した
2022/09/07(水) 20:58:01.38ID:g+neltEd
>>440
Goにpromiseができたの?
Goスレ見に行くほど追ってないので知らんけど
2022/09/07(水) 21:00:46.44ID:mFj19fp9
>>441
Rustの仕様は完成した
俺尊い
2022/09/07(水) 21:14:05.84ID:g+neltEd
>>442
Rustは公開されている山のようにあるTODOリストが常に少しずつ進行中
大きなことから小さなことまで機能追加でどんどん便利になっている
2022/09/07(水) 21:28:44.94ID:hfhFNamj
機能追加はcrate/macroで起こってる だがcoreは封鎖した
Go動向を追う最善手はGoスレ見に行くことである
知らんけど
2022/09/07(水) 21:36:37.03ID:LgczABzT
そろそろ風呂に入ってくる
だが隙あらばスタックとヒープ mpscとスレッド安全の育成を要求する扉はまだ開いている 乗り遅れるな
2022/09/07(水) 21:44:22.20ID:g+neltEd
>>444
外部crateの話は一切していなくて
Rust言語が日々進化しているとは
Rustコンパイラによる機能追加と改善
および標準ライブラリの機能追加を指す
もちろんcoreライブラリ部分にも追加やstable化などがある
447デフォルトの名無しさん
垢版 |
2022/09/07(水) 21:53:02.05ID:En8I5Kb5
>>428
その人じゃないけどRustでは特に指定しなければオブジェクトなどもスタック上に作られるよ
例えばCのコードと同じ動作をRustで書かれた>>181のイテレータメソッドチェーンのコード
各イテレータ毎にそのオブジェクトがスタック上に作られるね
結果としてC言語でforを回したり関数ローカルのmax変数を使うのと同じ
そのため全く見た目が異なるRustコードとCで同等の生成コードが出来上がってるわけ
2022/09/07(水) 22:26:11.82ID:bnLUEQYt
>>447
>各イテレータ毎にそのオブジェクトがスタック上に作られる
スタックもヒープもasmもhardware levelは何も知らない。育成ry
2022/09/07(水) 22:36:50.03ID:g+neltEd
ヒープ利用は確保と解放操作が必要だから必ず遅い
スタック利用はスタックポインタの増減を関数の最初と最後でまとめてするだけで速い
さらに最適化でレジスタ利用になりうるから超速い
2022/09/07(水) 22:37:48.00ID:SiZHOEm5
>>447
職場でその言葉を知ったかしたら相手が勝手に納得しました。魔法のコトバ

育成無用 ヒント無用
2022/09/07(水) 22:41:11.76ID:fqrBDyte
>>449
隙をみて恥をかき捨てた事でたった今 1mm成長した。俺すごい
2022/09/07(水) 22:54:26.21ID:5lmH+vKI
>>449
重箱の隅だけど malloc/freeは最適化で消えることがあるから "必ず遅い" は言い過ぎ
ヒープ利用でもレジスタが使われることもある
https://godbolt.org/z/crxTse4vG
2022/09/07(水) 23:04:02.99ID:JYc4oRyX
>>452
重大なヒントleakかと思ったけど最低限で良かった
明日 職場で知ったかしてもらう予定
2022/09/07(水) 23:18:52.05ID:MCKgMvZG
>>453
ボッチ自宅開発者だからオジが知ったかできる場所は5chだけ
リアルでやってたらここまで酷いことにはならない
2022/09/07(水) 23:25:44.51ID:4U49yzDh
>>454またはPython職場でRust勉強会をしてて自分が一番詳しいと思われたい&
Rust使わせてくれない上司を見返したくて頑張ってるんだよ。
ウルウルくるぅ
2022/09/07(水) 23:27:02.51ID:g+neltEd
>>452
ご指摘ありがとう
誤解させる書き方してしまいごめん
2022/09/07(水) 23:39:50.25ID:LgsdK3r3
>>456その謝り方リアルでやっちゃだめだぞ
458デフォルトの名無しさん
垢版 |
2022/09/07(水) 23:41:58.89ID:En8I5Kb5
>>452
その例は現実的ではないよね
実際の使われ方だと新規オブジェクト生成は通常は別関数だから
それをinline指定でもしない限りは別関数にあるmallocは消えないです
ヒープ確保は常に行われてしまいます

一方でRustでは新規オブジェクト生成が同様に別関数でinlineでなくても
オブジェクトを「値返し」するので大丈夫です
オブジェクト生成する別関数でも呼び出す側でもヒープの利用はありません
2022/09/07(水) 23:58:53.34ID:a/h0B3rR
RustよりもCが遅いケースが生じる一因だな
2022/09/08(木) 00:52:54.26ID:8UoQH6yi
ヒープを使ってしまったら、>>452のような重箱の隅をつつくレアケースを除くと、最適化で消えないので不利
Rustのようにオブジェクトの生成すらスタック上で行なう方が有利

Rustはオブジェクトを値返しする点がそれを可能としている
オブジェクトをレジスタ群に格納して返せるときは最も速くなり、
その大きさを超えても、呼び出し元のスタック領域に確保された場所へ直接書き込んで渡すためこれも速い
2022/09/08(木) 01:00:14.34ID:U6/gufpm
>>458
重箱の隅だけどinline指定しなくても関数のインライン化は行われるよ
同一翻訳単位の場合はもちろん、リンク時最適化でインライン化されることもある
2022/09/08(木) 01:01:41.29ID:U6/gufpm
必ず○○とか必要以上に強い言葉を使うから重箱の隅をつつきたくなってしまうわけで、
ほとんどの場合○○とか適切な言葉遣いをしてくれれば良いのに
2022/09/08(木) 01:21:29.31ID:bfKvyn62
>>461
inline化だけの話ならそうだね
でも今回はmalloc部分が消えるかどうかで単純なパターンだとinline化されて消えるときもある話じゃないかな
オブジェクト生成関数のmallocが常に消えたら大問題なのでそれは特殊なケースでしか起きないと思うよ
2022/09/08(木) 01:24:09.17ID:4nByTxu8
Vecとかヒープ使ってないと思ってそう
2022/09/08(木) 01:25:35.66ID:N4CSjuGd
値返しおじさん
2022/09/08(木) 01:50:13.51ID:bfKvyn62
>>464
RustではVec(オブジェクト)生成new()でヒープは使わないよ
サイズ1以上になって遅延して初めてヒープ確保

SmallVecを使えば指定サイズ以上になって遅延して初めてヒープ確保
それまではスタック上のみを使う

ArrayVecはヒープを一切使わない
スタック上の指定サイズの中でのみで使う

だから「上限サイズがなく、かつ、想定サイズを超えた」時でなければヒープを使わずに済むようになっているよ
467デフォルトの名無しさん
垢版 |
2022/09/08(木) 01:51:32.30ID:M4A7wjs7
TS以外だと実際どれやればいいん?
理由添えて教えてほしい
2022/09/08(木) 02:21:09.08ID:KnWQjklo
>>467
TypeScriptやっている人ならRustかな
まずウェブブラウザのフロントエンドで少し処理することが出てくるとWebAssemblyを使うがそこでの使用言語シェア1位はRust
次にブラウザではなくデスクトップ上などで作るときもJS/TSとRustを使った安全に高速なフレームワークTauriがある
もちろんサーバーサイドでもRustを使って安全に高速な構築ができてサーバーやクラウドコストも他言語より有利になる
469デフォルトの名無しさん
垢版 |
2022/09/08(木) 02:43:12.05ID:M4A7wjs7
>>468
めっちゃ丁寧な解説ありがとう
汎用系のCOBOL3年から未経験でWEB系に最近転職したんだ
自主学習でReactやったんでとりあえずフロントエンドで採用されたけど
今後サーバーサイドやその他の技術を習得
しようとしたとき何をやろうか?と悩んでたんだ

参考にしてみます。本当にありがとう。
2022/09/08(木) 06:11:54.46ID:fF3EwaLJ
>>466-469
誘い球連投でほっこりした
2022/09/08(木) 07:07:05.36ID:KnWQjklo
連投なんてしていないぞ
2022/09/08(木) 07:10:41.61ID:BSPkqs+x
>>471
>>466も召喚してくれ
2022/09/08(木) 08:06:25.89ID:VJlBI8uM
>>449
c++のvectorすら予約するからなぁ。
449はどれだけ時代遅れなんだろう。
2022/09/08(木) 08:22:43.32ID:zqAFLdB2
こんなに優秀なRustなのになんでFirefoxは遅いし、著名なあまりソフトウェアが出てこないの?
2022/09/08(木) 08:26:35.79ID:BdGA/lpu
>>449 >>456は行儀よく振る舞う練習
>>473は自演否定を一旦諦め 蒸し返しの誘い球
温存している自宅回線IDで後ほど再び自演否定
こんな流れで戦ってる
476デフォルトの名無しさん
垢版 |
2022/09/08(木) 08:37:41.52ID:WNih/Uq3
>>466
Rustはスタック上だけでVec操作できるよう充実してるね
2022/09/08(木) 08:51:41.58ID:+LoUe6Y0
>>474
安全とハイリスクハイリターンの対立と分断があるから
優秀の反対は別の優秀だから
2022/09/08(木) 09:47:44.75ID:RfxdukXg
俺仕事でPython NLPやってるチームに配属された どうだ怖いか
周りのDr持ちが段違過ぎてRustで戦いを挑むカードを推進してる
Rustで作らしてくれーと言ってるけど許可降りない
無意味な上司のせいでRustはパーソナルプロジェクトだ

そのプロジェクトとは CLI Tools だ
JetBrainsのDeveloper Ecosystem Surveyでは
2021に待望のCLI Toolsカテゴリーが新設された。
突然Systems Programmingが激減したのは誤差だ
479デフォルトの名無しさん
垢版 |
2022/09/08(木) 09:51:36.54ID:JEMfdspa
Project Crasher
2022/09/08(木) 09:56:34.95ID:Txzh6OM/
2020に新設された仕事での利用率は、2020→2021の伸びは0だが、
キャンペーンが実を結ぶのは今年2022だ
何しろ2022はtauriがv1に到達し Desktop/GUI Applications がエンタープライズで飛躍的に伸びる
WebAssemblyの使用言語シェア1位とかいう話もある
メモ帳レベル機能でもawesome扱いしてくれるのは今だけだ 車輪に乗り遅れるな
2022/09/08(木) 10:52:23.96ID:PN9YNiO2
どうしてID変えるんですか?やめてください迷惑です
2022/09/08(木) 10:56:40.75ID:+LoUe6Y0
迷惑かけるまでがハイリスクです
2022/09/08(木) 11:06:23.80ID:KnWQjklo
>>480
いずれ多くの分野でRustを使って当たり前の時代が来るだろうけど
まだしばらくは限定される気がするね
2022/09/08(木) 11:23:21.29ID:JEMfdspa
あと10年くらいかな
2022/09/08(木) 12:25:34.25ID:gDKj2SJw
>>480
曲芸師かよ >車輪に乗り遅れるな
2022/09/08(木) 12:50:52.48ID:VIOSuMTh
>>480
今は、Rustで実装ってバリューあるけれど、もう何年もしたら、当たり前になって誰も気にしなくなるんだろうね。
487デフォルトの名無しさん
垢版 |
2022/09/08(木) 13:45:08.90ID:WNih/Uq3
スクリプト言語で十分な分野はそのままじゃないかな
それ以外の分野はRustを使うことが当たり前に
2022/09/08(木) 14:10:48.26ID:+LoUe6Y0
言語仕様が優秀でも実装で失敗すれば終わり
標準ライブラリがーっていうのもどちらかといえば実装側の問題
2022/09/08(木) 14:53:25.83ID:LIDvvnz0
ライブラリを選ぶコストや年単位で変更をウォッチしてアップデートの要否を判断して適用するコストって馬鹿にならんのよね
最近の言語なら言語そのものの生産性の差より言語の違いによるライブラリ周りの生産性の差の方が大きい
490デフォルトの名無しさん
垢版 |
2022/09/08(木) 19:00:05.87ID:aaaIAhtE
そう考えるとBoostのあるC++は素晴らしいよね。
491デフォルトの名無しさん
垢版 |
2022/09/09(金) 19:27:35.69ID:J0h2kR8b
https://www.jpcert.or.jp/sc-rules/00.introduction.html

CERT セキュアコーディングスタンダードは、C、C++、Javaを対象としたセキュアなコーディング標準を公開した。
RustとBashは安全なのでCERT/CCの対象外とした。
2022/09/09(金) 19:40:15.23ID:GpFRRbzJ
>>491
マイナー言語はふつうにスルーされてるだけ
2022/09/09(金) 19:48:53.77ID:NJZb/x50
>>491
歴史を考えろよ
これはgoやrust登場前に作られた規約だぞ
494デフォルトの名無しさん
垢版 |
2022/09/09(金) 20:16:31.91ID:J0h2kR8b
あ”あ”〜〜ワクワクが止まらねえ〜〜。
495デフォルトの名無しさん
垢版 |
2022/09/09(金) 22:47:37.83ID:B0h43lqZ
>>491
CもC++も対象バージョンが古すぎ。
2022/09/10(土) 07:21:33.57ID:uXnvxxOp
本日のRustおつ夜会場はこちらですか?

>Rustで作らしてくれーと言ってるけど許可降りない
https://www.jetbrains.com/lp/devecosystem-2021/rust/
497デフォルトの名無しさん
垢版 |
2022/09/10(土) 09:06:15.64ID:ZPKzDOJp
>>352
途中までJuliaのコピペ乙
2022/09/10(土) 16:00:01.13ID:0VnbKdes
>>491
そんな古いのどこから見つけてきたんだ?
499デフォルトの名無しさん
垢版 |
2022/09/10(土) 18:40:23.49ID:830ybrIN
CERT知らんのか。
2022/09/10(土) 19:10:24.81ID:OQaV5j6q
>>498
さすがに恥ずかしいぞ
2022/09/10(土) 20:44:33.04ID:BhJh8aSd
C固有の話やメモリ安全性に関わるものはともかく、
シグナル安全性とかモダンな言語でも気にしないといけない部分はそれなりにあると思うので、
モダンな言語向けにまとめ直したものがあると嬉しいとは思う
2022/09/10(土) 20:56:11.13ID:R3UqRaV2
pythonみたくマルチスレッド禁止にすりゃええねん
2022/09/10(土) 21:28:21.07ID:q8enYz1J
goとnimに興味あります
rustはある程度触ってみたけどもういいや
2022/09/10(土) 21:31:16.53ID:PkiDAnmE
小鳥んはいつまで次世代なんだよ
まだJavaから覇権を奪えないのか
2022/09/10(土) 23:11:12.68ID:pCQRIeiF
Nimは本質的なメリットが何もないから
今後も企業が採用することがないと思うよ
2022/09/10(土) 23:23:36.54ID:a77H3leG
Rustは本質的なメリットが何もないから
今後も企業が採用することがないと思うよ
507デフォルトの名無しさん
垢版 |
2022/09/10(土) 23:50:11.76ID:I8LDMMGc
>>502
Pythonはマルチスレッド禁止ではなく
グローバルインタプリタロックをしてるから真の並列処理ができないだけ
I/Oブロッキングされてる間に他が動けるなど完全に無意味というわけではない
これはRubyも同じで所詮はスクリプト言語だからしょうがない
2022/09/10(土) 23:59:58.32ID:WfJh9xF9
Rustは企業による採用が多い
例えば>>9の記事、>>43の記事、154の記事など
各企業がRustのメリットを様々な観点から語っている
509デフォルトの名無しさん
垢版 |
2022/09/11(日) 00:34:56.10ID:Iy8wr1LO
>>508のような重箱の隅をつつくレアケースを除くと、Rustの現実>>496
2022/09/11(日) 00:47:20.06ID:XM7RcVpf
理解のある有能な上司・経営者がいる企業はRustを適切に導入しつつあり
ダメな企業はそれらの記事にもある多大なメリットを理解できないまま差が広がるのだろう
2022/09/11(日) 01:10:08.71ID:fTsZYMd7
配属して間もなくの歓迎会で>>510の話をしたら周りが凍りついた

統計的Rustの現実
https://www.jetbrains.com/lp/devecosystem-2021/rust/
2022/09/11(日) 01:26:31.38ID:VONtFQ6w
>>510
統計とか言ってる時点でズレてるからな
俺はもう1番安全な言語しか使いたくないよ
2022/09/11(日) 01:28:14.37ID:b0yVF+AE
>>512
じゃあRustは危険だからだめだな
2022/09/11(日) 01:31:47.64ID:VONtFQ6w
>>513
ストローマン
2022/09/11(日) 02:13:14.46ID:QQU6OFWg
>>509
トヨタやNTTも採用しているし
それらGAFAMによる採用も含めて
レアケースというよりも適切な判断ができる企業がRustを採用していってる感じ
2022/09/11(日) 02:47:04.45ID:St3yVzYk
企業体力がある企業が採用していってる感じ!
って感じ?
2022/09/11(日) 03:35:13.96ID:7JragUBO
昔から同じ傾向だけど
余裕のない会社(人)や無学習な会社(人)はそのまま古い言語、遅い言語、安全でない言語を使い続けるね
これは言語に限らずあらゆる対象について同じ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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