X



次世代言語29 TypeScript Swift Go Kotlin Rust Nim
レス数が1000を超えています。これ以上書き込みはできません。
0002デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:07:37.22ID:5PJHomtk
C++は三年ごとに改定されるので常に次世代言語です。
0003デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:09:04.07ID:nFJbShxf
AWSがプログラミング言語「Rust」を使っている理由
https://japan.zdnet.com/article/35183866/

Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を
使っている大きな理由として、エネルギー効率の高さを挙げる。
AWSは早くからRustを採用し、GoogleやMicrosoftとともにRust Foundationの創設にも携わった。
現在もRustの普及に熱心に取り組んでいる。

AWSのソフトウェアエンジニアで、Rustの普及に取り組む、
Shane Miller氏と主任エンジニアのCarl Lerche氏の投稿によれば、
Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、
PythonやJavaよりもはるかに「エネルギー効率に優れている」という。
Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、
データセンターの環境負荷の軽減に取り組んでいる。
Rustの採用はその一翼を担うという。

Rustで構築されたAWSサービスの例としては、
コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、
コンテンツ配信ネットワーク「Amazon CloudFront」、
LinuxベースのコンテナーOS「Bottlerocket」がある。

「CやRustが他の言語よりもエネルギー効率に優れていることに驚きはない。
衝撃的なのは、その違いの大きさだ。CとRustを広範に採用すれば、
控えめに見積もってもコンピュートに使用されるエネルギーの量を50%削減できる可能性がある」と
Miller氏は述べ、その根拠として、C、GoogleのGo、Lua、Python、Ruby、Fortranなどをはじめとする
複数の言語のエネルギー効率を相対的に示した研究結果を紹介している。
0004デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:15:28.09ID:5PJHomtk
俺の感想では、Rustはゴミだけどな。
0005デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:16:07.28ID:PsPhq2bV
>>2
多くの言語が機能強化してるからそこはあまり意味がない
C++はポンコツ土台に増築工事を何度も重ねていて質がよくない
C++は過去資産しかメリットが亡くなっている
>>3でAWSが新規システムにC++を使わなかったのもメリットが既に何もないため
0006デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:18:43.58ID:5PJHomtk
>>5
あーごめん聞いてなかった。
0007デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:18:58.28ID:atFLdkbV
お待たせしました(awesomeレス※)

Zig   https://ziglang.org/
    Faster🚀 than Cが自慢「当然Rustよりもな😄」https://youtu.be/RgIny6xvnSo 🆕
    Bun(Zig) >Rustは本質的には不必要なことをやりすぎ「zero overhead abstraction」どこ行った?🆕
    >Rust「アプリの実装と実装言語の善し悪しを混同すんな😡」<「Chrome(C++)について一言🎤」>黙秘🙊🆕
Rust  試食コーナーで食べてもらって狂喜乱舞
    GAFAM >Rustエコシステムには投資しない トリクルダウン無し 寡占する GAFAM >だが今は試食タイムだ
    GAFAM >「あま〜〜い」ってさけんで食レポしてる😏みんな食べに来てね😛
    StackOverflow >愛され言語ランキング1位
    JetBrains >Rustで作らしてくれーと言ってるけど許可降りない
    KENTA >提灯コメント出さない
    俺 >数学出来ないのでRustはキツイ規制の鶴亀算が史上最強 鶴亀算でRustフレームワークが充実することなんて無い
    Rust >鶴亀算だけなら俺が安全性や正しさを確実に保証 unsafe☢は関知しない お前の責任だ
    俺 >今はRustだけで良い。レベルアップはお断りだ 数学出来ないけど有能社員を指導したいとは思ってる すべての理解が概念的 概念的に理解すれば簡単だ
    有能社員 >Rustは学習コストが高い割に使えない C/C++を書けないとRustは書けない、Rustは意味なし
    有能社員 >Rustは言語オタク 二極化だと思ってたらHaskell衰退の道を追う Rustには興味のアンテナ張るだけ 先行投資なんてしない
    現実派 >データ競合がコンパイル時点でゼロってことはない。JARO⚠案件だ
    下っ端社員 >RustはGAFAMなんかより自動車ISO認証級(仮)の実績積み上げがないと、言い出すのも怖い😩
0008デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:20:10.63ID:607aMy6Q
Rust  Rustは教官付き教習車だから、コンパイラの言うとおりに運転しないとブレーキ踏まれて前に進めない。
    現実派 >具体的な話マダー?😡 >絶壁の学習曲線はRustの重大な問題
    俺 >バカは遅い言語や危険な言語を使い続ければよい🆕
    TypeScript実装した天才「Rustには向いてない、Goで作り直す」🆕
D    C言語と同等に高速で安全も満たす言語 awesome-d 老舗の割にマメ
    「ガベージコレクトされたプログラムの方が高速(10年以上前)」🆕
OCaml  関数型で速度を最優先するならこれ1択(or F#?) StackOverflow >愛され言語ではない
F#   関数型最速はF#(実例根拠が待たれる)
Go   実稼働分野でバリバリ活躍中 GitHub PullReq >TypeScriptとGoが圧倒的
Scala  実稼働分野でバリバリ活躍中 KENTA >日本では衰退しました ScalaでのNetflix分岐点(未確認)
Nim   Pythonからの乗り換えに最適(未確認 Numpy使ってないPythonコードの高速化例が主?)
    awesome-nim https://github.com/ringabout/awesome-nim🆕;
    メモリ管理はGCに押しつけさらに交換可能 https://nim-lang.github.io/Nim/mm.html🆕;
Pony  開店前 awesome-ponyが2年以上更新されていない
    参照の持ち方だけで6つもある(Reference Capability) behaviorが終わるごとに該当アクターでGCを回す
    湧く沸くRust >High-Performance Safe Actor Programming https://news.ycombinator.com/item?id=25957307
Haskell アカデミック勢が根強い それ以外は衰退しました(未確認)
    Tesla,Microsoft,Meta,GitHub,一流銀行🏧 >使ってますが何か? https://serokell.io/blog/top-software-written-in-haskell
    Tesla >We use Haskell to auto-generate C code that is compiled into vehicle🚗 firmware.
    下っ端社員 >いい話だ。だが結局☪かよ
Julia  科学技術方面開拓中 StackOverflow >愛され言語ランキング上位
FORTRAN 科学技術方面で強い、しばしば1択
COBOL  金融機関方面では既存システムで根強い それ以外は衰退しました
0009デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:22:27.44ID:5PJHomtk
たしか開発者もRustはゴミと認めてなかったっけ。
反省点を踏まえて新言語を作るので期待してくれとか言ってたような。
0010デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:24:13.73ID:9njT45J7
C    C言語がないぞ C言語がないぞ(大事なことだから2回)
C++   三年ごとに改定されるので常に次世代言語🆕
php   原付 >静的型はブレーキ🛵 俺にブレーキはない 10年経って分かった <matz😚
Lisp  JavaScriptと変わらん ブランディングした先人たちのマーケティング能力が驚き
    惑星探査機🛰とか特殊な用途、身近なところでルンバ🤖がLisp
    Awesome Lisp Company https://github.com/azzamsa/awesome-lisp-companies
    プロトタイプから本番に移行 柔軟に改修しやすい common lisp あとから型書いてパフォーマンスUp
    思い出 >https://practical-scheme.net/trans/beating-the-averages-j.html >オジさん🧓は言語を変えない
Clojure StackOverflow >愛され言語ランキング上位 2つあるawesome-clojureがどちらもマメに更新されてる
    CircleCIとかいくつかの実用サービスに使われてるのがすごい 「本物のREPL」(未確認) LogSeq
    Apple,CircleCI,Cisco,Cognitect,Nubank🏧,Walmart >使ってますが何か? https://docs.google.com/spreadsheets/d/1jBQD-rzOeGeKgLjsQ21r4YfEHp8XOpB_vl6TGJEBj3g/edit#gid=0
0011デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:25:42.16ID:kPDe7Hj+
欧米企業「最初のバージョンは常に捨てられる」
    「アイデアは価値がない、アイデアを誰より早く形にして価値がある」
Erlang 方向性が違う どっちも強い >お気楽Goはやっぱりつよいの?
    php >原付🛵より遅いぞ https://benchmarksgame-team.pages.debian.net/benchmarksgame/box-plot-summary-charts.html
Jakt  https://github.com/SerenityOS/jakt Memory safety(ARC), Math safety, performance, transpiles to C++, Inline C++
    https://awesomekling.github.io/Memory-safety-for-SerenityOS/ 🆕
    Jakt作者「Rustの方こそメモリ管理に絶え間ない気配りが必要で、自動のフリして実際にはプログラマーの負担」🆕
GC   究極的にはGCが勝利する(JARO⚠案件?)
メモリリーク C++ & GC(Java,C#,Go,etc)「バグです🪰」Wikipedia「バグです🪰」Rust「安全です 常識💀🙈🙉🙊」🆕

※ジョーク集です。「未確認」表示の有無に関わらず真偽を保証するものではありません。
0013デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:28:33.83ID:5PJHomtk
>>5
で、なんだったっけ?
0014デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:30:31.00ID:5PJHomtk
Goはすでに実用になってるので、次世代から新世代へ格上げかもしれん。
0015デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:31:11.58ID:bQ4OxUjV
GoogleやMicrosoftがRust言語でOS開発
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/

【脆弱性の70%がメモリー管理バグに起因】
GoogleによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するという。
同様にMicrosoftも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関するバグに起因すると述べている。
C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、Rustを採用するに至ったというわけだ。
0016デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:33:06.93ID:8assD4qG
>>1-11


>>9
それなら「反省点リスト」を整備・公開したほうがいいと思うけどなぁ。
Rustはすでにビジネスになっているからそんなことしないだろうけど。
0017デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:41:09.59ID:5PJHomtk
>>16
知ったかぶってしまいました。
0018デフォルトの名無しさん
垢版 |
2022/09/17(土) 19:54:28.59ID:3w7tQPkF
>>15
そのメモリ管理バグが引き起こしているセキュリティ脆弱性の根絶ができる新たな言語がRustしか登場しないのはなぜだろう
今世紀になってからも色んな言語が誕生してきたけどリスクを残す手動メモリ管理のままか戦力外のGCへ逃げるか両極端しかない気がする
現在求められている要件をRustしか満たしていないためにRustが唯一解となり採用されていってる感じだ
0020デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:16:48.13ID:Z2rSXL0e
前スレのこれ
「Chrome」は「MiraclePtr」でさらに安全に 〜Googleが「解放後メモリ利用」対策を開設 診断性が向上するという副次的効果も
https://forest.watch.impress.co.jp/docs/news/1439971.html
「Chrome」で対処されているバグの種類
https://asset.watch.impress.co.jp/img/wf/docs/1439/971/image3.png

>ChromeはRustで書き直せばバグを1/4に減らせると言われているね

Rustでの循環参照、メモリーリークのことを考慮すると ちょっと話は変わるんじゃない?
0022デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:25:47.68ID:pdrl4Ikl
>>19
Rustでは禁忌の循環参照を除きメモリリークすることは絶対にない。
一般的に、循環参照を解放するにはコストが非常に高いトレーシングGCを用いるしかないため、
高速性が求められる言語では循環参照を作らずにツリー構造+弱参照という形にする。
0024デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:31:42.43ID:F49YQPus
rustはエラーメッセージがc++より親切
0025デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:34:45.17ID:E0C8fvLs
>>23
コードを読めないのか?
わざわざ複雑なことをして自分で循環させてるじゃん
自然には循環参照が起きないことの証明となっている
0027デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:37:43.52ID:yoERXsay
数のstackoverflow v.s. 質のJetBrains

stackoverflow
https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-programming-scripting-and-markup-languages

jetbrains
https://www.jetbrains.com/lp/devecosystem-2021/ruby/
https://www.jetbrains.com/lp/devecosystem-2021/rust/
https://www.jetbrains.com/lp/devecosystem-2021/go/

Ruby https://i.imgur.com/zqmf96u.png お一人様 7% ほとんどの人が仕事で使っている
Rust https://i.imgur.com/olB9F6L.png お一人様 86% ほとんどの人が個人の趣味
0028デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:45:40.72ID:eg8z8VIG
会社や客先の方針で無理やり使わされるプログラミング言語と違って
個人的な趣味で自由に言語を選べる状況でも使われるRustはやっぱりプログラミングがしやすいため?
0030デフォルトの名無しさん
垢版 |
2022/09/17(土) 20:56:06.27ID:/MEkW9dR
ヌルポインタには解放前も解放後もないわけで
生ポインタの解放後メモリ利用というのはポインタがヌルではないから深刻なバグになる

弱参照は解放後は絶対にヌルになる(絶対に解放されるとは言ってない)

生ポインタと弱参照を比較するのが正しい
それ以外の比較は誤解を助長している
0033デフォルトの名無しさん
垢版 |
2022/09/17(土) 21:16:27.18ID:TKBxI3h2
Rustのやり方は賢面白くて賢いなあと思った

①まずRustでは言語仕様からNullポインタ(Null参照)を排除
➁従来のNullポインタ相当を使いたいときはenum Option型のNone値を使用
③None値はポインタ(参照)とは全く別の型だからそのまま使えば型エラーにできる
④しかしOption型はenumすなわちタグ付きだから毎回メモリが無駄に使用される??と思ったら
⑤言語仕様上Nullポインタを完全に排除したのでNone値を示すために生成コードではNullポインタを使える

概念上の安全性と生成コードの効率性を分離して両立させているんだな
0034デフォルトの名無しさん
垢版 |
2022/09/17(土) 21:18:59.74ID:F49YQPus
C23の話は無いのか?
0038デフォルトの名無しさん
垢版 |
2022/09/17(土) 21:35:45.30ID:taDdn0lF
Rustではポインタだけでなく数値もNonZeroXxx型が各サイズ用意されたね
例えばOption<NonZeroU64>型はu64型と同じ64bitで表現されNoneの時に値0
従来の言語でのプログラミングでゼロ値を特殊扱いで値が無いことを意味させていたケースも安全に扱えるみたい
0039デフォルトの名無しさん
垢版 |
2022/09/17(土) 21:46:11.34ID:vONeYgK2
Zig Playgroundもあるんだがサーバーが弱っちい
https://zig-play.dev/
素直にローカルだな

https://zenn.dev/voluntas/scraps/4111a964e3e07f
学ぶモチベーション
> C++ や Rust は自分には難しい
> Wasm に出力してブラウザで利用したい

CGOでGoからZigのライブラリを呼び出す
https://zenn.dev/mazrean/articles/4b7d9ba78fd073
>Cの問題点を改善しつつ、Cの果たしていた役割を綺麗に代替できており、非常に良くできていると感じました。

潜在的ターゲット層は それなりにありそうだ
0040デフォルトの名無しさん
垢版 |
2022/09/17(土) 21:53:11.57ID:aNLH35VS
C++とRustが難しいって単なるバカなんだろ
まとまな企業がZigを使うようになることはありえないな
0043デフォルトの名無しさん
垢版 |
2022/09/17(土) 22:15:29.24ID:gU/Uk4Er
>>42
興味深い
>tscをGoに移植する作業は、Vercelがスポンサーとして資金を提供しています。
VercelってSvelteも囲い込んだな

あとRustのままだとお金出なかったのか
0044デフォルトの名無しさん
垢版 |
2022/09/17(土) 22:32:25.64ID:SnY0M+Bf
規模ねぇ
ripgrepにはお世話になってるけど、tscとかに比べたら規模も大きいとは言えないだろうし。
0045デフォルトの名無しさん
垢版 |
2022/09/17(土) 22:50:28.88ID:5PJHomtk
>>15
これは凄いなあ。
メモリーアクセスをコンパイラが管理するRustでは、出来ないのでは?
0046デフォルトの名無しさん
垢版 |
2022/09/17(土) 22:51:25.05ID:5PJHomtk
C++は熟練するとやりたいことが全てできるようになる。
制限フリー。
0047デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:02:39.03ID:caFhGbeO
>>38
ゼロ値を特殊扱いするケースってほぼ名義尺度だから直和型(あるいはenum)で十分じゃね?
算術演算できるような値の場合は負の値を特別扱いすることが多いような
0048デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:06:01.91ID:XaNIN122
>>45-46 tsc-rust中止の tsc-goの教訓で言うと「向いてない」
このスレ的には「軍事予算級じゃないと不可能」

>>15 このスレの住人が書きそうな口調で笑った
こんな記事を 聖書のように毎回持ち出してたのかw

> 周期的な可変参照を持っています。
原文
> cyclical mutable reference
Circular reference(循環参照)の事言ってるのか?
0049デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:09:44.26ID:5PJHomtk
>>47
C++は、トレイツやコンセプトで自由に出来るね。
さらに一歩進んでコンパイル時に3Dモデルの静的レンダリングやってる人も居たね。
おっそろしほど何でもできる。
制限フリー。
0050デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:12:09.98ID:rfXB8s8a
>>42
それ大規模だからできなかったのではなく単なるそのまま移植だからしなかったんだよ
そこでの選択肢はそのRustで作製して62倍速となったプロトタイプをそのまま完成させていくか
お手軽に同じGC言語へ文法や言語依存部分だけ書き直すかのどちらかの選択
速さよりもお手軽かつたまたまスポンサーが付いた方を選んだ
ライバルが出現したり利益に直結しないならいくら遅くても構わない
あと今までが遅すぎたから僅かな速度向上でも喜ばれる
0051デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:15:13.11ID:XaNIN122
>>50
> Rustで作製して62倍速となったプロトタイプ
Bun(Zig) vs deno(Rust)について一言🎤
0052デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:19:18.85ID:VYLVWvRi
>>51
その件は言語は全く関係ない
Node.js(by C++)がそれらの中で一番遅い原因はC++が遅いためか?
違うだろ
0053デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:19:47.08ID:5PJHomtk
>>48
>>15 を確認せず適当に答えるけど、書き込める記憶域を予測可能な周期性でアクセスすると、それが(攻撃者が知りたい情報を読み取れるような)脆弱性となる。

・ユーザーが同じ操作を繰り返すなどの理由で、先ほどと同じサイズの記憶域をアロケートし、また開放することを繰り返す。
・同じサイズであるがゆえに、システムは先ほど解放されたばかりの記憶域を効率よく返してしまう。

これを防ぐために、返却された記憶域をすぐには使わず、一時退避させる。
ということでは?
0054デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:21:47.17ID:5PJHomtk
>>52
いや、それはC++が悪いであろう。
なぜならC++は光の速度を超えるために作られたのだから。
反省してC++26に反映するべし。
0055デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:27:38.60ID:5PJHomtk
C++において、コンパイル時定数(constexpr)は、コンパイル時計算が適用される。
したがって、コンパイル時定数としてデータを渡すなら、コンパイル時に3Dオブジェクトのレンダリングを完了してしまえるということである。
もちろん、3Dに限らず制限フリーです。
そんな道楽にうつつを抜かすのがC++黒魔術部です。
入部に特別な条件はありません。
さああなたも今日から黒魔術士を目指しましょう。
0056デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:29:58.26ID:RB3RigiG
>>52 二枚舌が捗ってるね
素直に Bun vs node vs deno -> 速度 Zig > C++、Zig > Rust
tsc-rust vs tsc-js -> 速度 Rust > javascript
なのでは
0057デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:33:02.02ID:5PJHomtk
>>56
二枚舌って、安倍元総理生き返ったの?
統一教会やるじゃん。
0058デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:35:54.87ID:P9I9DZHJ
>>55
おまえさん初心者なんだな
コンパイル時確定定数をコンパイル時に算出できるプログラミング言語くらいいくらでもある
0059デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:37:52.85ID:ECgAkAfZ
>>57 おやおや
Rust無理筋上げが逆効果だと気づいて
C++無理筋上げに応用しようとしているMAUI/C#erですか?
0060デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:39:34.68ID:5PJHomtk
C++ならconstexprは0秒実行です。
なぜならコンパイル時に計算が終わっているからです。
これは凄いです。

プロシュート兄貴も言っています。
> 「計算する」と心の中で思ったならッ!
> その時スデに計算は終わっているんだッ!
> 「計算した」なら、使ってもいいッ!
まさにC++です。
0061デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:42:17.56ID:5PJHomtk
ペッシ「分かったよプロシュート兄ィ!!兄貴の覚悟が!“言葉”でなく“心”で理解できた!」
0063デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:47:37.11ID:g/OWYbYT
>>60
コンパイル時に計算を終わらせるくらいなら君の大嫌いなRustでもできるし凄いことでも何でもない
0064デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:48:30.63ID:5PJHomtk
>>62
その御方は私ではないけれど、私は本名を名乗ってインターネッツしてるので、身バレも糞もないのですよ。
ツイッターもフェイスブックも本名アカウントで認証バッジもついております。
0065デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:55:34.21ID:5PJHomtk
キミの限界は、きみ自身にあるんじゃない。
言語の限界が君の限界を決めるのだ。
さあC++で限界を超えろ!
0066デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:56:40.04ID:5PJHomtk
Just do it!!
0067デフォルトの名無しさん
垢版 |
2022/09/17(土) 23:57:14.61ID:5PJHomtk
ハァハァ、興奮して鼻が膨らんできた(笑
0068デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:01:22.70ID:BY+z9QuY
>>60
C++は単なるimmutableをconstで表すため
本当の定数つまりコンパイル時定数をcostexprで表さざるを得なくなっちゃってるよな

Rustではconstがコンパイル時定数だからわかりやすい
もちろん同様にコンパイル時に関数を呼んで計算させて定数をコンパイル時点で算出確定させることができる
0069デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:05:06.77ID:a87PubfG
>>68
だめだ!それじゃあダメなんだッ!
「本当の定数がある」じゃないッ!!!
俺たち黒魔術部員ならッ!「ファッ!??」「実行時定数が無いのッ!?」
と考える!!!!
0071デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:11:17.78ID:XVqHa/Kg
コンパイル時計算は理屈上はJITの方が有利でしょ
実行時の統計に基いて頻出パターンを事前計算するとかできるからな
0072デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:13:17.20ID:a87PubfG
>>71
よし、その理論をC++26へ提案する栄誉を貴様に与えよう。
0073デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:15:59.99ID:ds+slurx
>>48
それは単にVercelの人の能力がないのでは?
rustcはRustで書かれてるんだしコンパイラは得意分野なんだけど
なんで実装できないなんて判断をしたのか謎すぎる
0075デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:39:41.33ID:ds+slurx
Vercelの人のブログ見たけどtscをそのまま移植しようとしたのか?
流石にそれは無理でしょ
typecheckerの仕様だけリバースエンジニアリングして
その仕様をrustで実装するようにしないと
あらゆるオブジェクトが参照であるtypescriptのコードを移植するとか流石にそんなことをやる発想が微妙
0076デフォルトの名無しさん
垢版 |
2022/09/18(日) 00:42:56.71ID:ds+slurx
確かにGoならあらゆるオブジェクトを参照にできるし
クロージャもあるしそのまま移植するのには向いてるかもな
0077デフォルトの名無しさん
垢版 |
2022/09/18(日) 01:08:52.24ID:NvpAysHg
元のtscのコードの多くの部分がガベージコレクションに依存していると書いているから
それらを治して本格的に高速にする道を選ぶか
サボって同じGC言語へ移植する道を選ぶか
今回は後者にしただけだろう

普通にある一般的なケースでは
システムに何らかの限界が来て新たな設計をする機会で他の言語にする
何もかもほぼそのままで言語だけ変える特殊なケースならばGC言語の範囲内の中で選ぶしかない
世界中の人々が今後も使い続けるものならば非GC言語へ移植する価値もあるとは思うが
0078デフォルトの名無しさん
垢版 |
2022/09/18(日) 01:28:43.72ID:ds+slurx
tscが遅いからそれより早いトランスパイラを作るという目的なら別にGoでも良い気はするね
ただどこかで踏ん張ってRustに移植するという作業は人類にとっても価値があると思うけどね
0079デフォルトの名無しさん
垢版 |
2022/09/18(日) 01:30:28.35ID:ds+slurx
GC言語使って参照を持ち放題で問題ないって
それってプログラマがデータ構造とメモリレイアウトを正確に理解していない
つまり副作用を追跡できないことを意味する
でかいコードベースでその状態はかなりまずいよ
0080デフォルトの名無しさん
垢版 |
2022/09/18(日) 01:36:10.67ID:ds+slurx
副作用を追跡できないからテストコードを書く必要が出てくる
参照と書き換えの制限はテストコードも不要にする
tscを再設計する時が来てる
0081デフォルトの名無しさん
垢版 |
2022/09/18(日) 01:40:45.22ID:GdQa7W3N
>>79
GC言語はプログラム設計やその中のデータ構造設計が酷くてもなんとなく動いてしまいがち
もちろんバグは発生しやすくなるしデバッグしにくいしメンテもしにくいし機能追加や改善など大変
非GC言語が苦手な人や難しいという人はそのあたりのデータ構造含めたプログラム設計をきちんと出来ていないダメな人
0082デフォルトの名無しさん
垢版 |
2022/09/18(日) 01:42:28.72ID:ds+slurx
>>81
困ったら適当に参照持たせたら終わりだしな
しかもそれを書き換えたりもする
めちゃくちゃだよな
0083デフォルトの名無しさん
垢版 |
2022/09/18(日) 07:35:50.11ID:0NeU1sXt
じゃあここにいるRust玄人たちでRust使ってtsc作り直せよ
Vercelの人は能力不足だとかほざいちゃってるし
0085デフォルトの名無しさん
垢版 |
2022/09/18(日) 08:09:37.13ID:AdQM9ytP
>>39-41
このコンボで精神崩壊したのか。
それで>>84でUber disやら深夜のVercel dis

GAFAMのやらかしなんてキリがない 二枚舌が捗ってる
0087デフォルトの名無しさん
垢版 |
2022/09/18(日) 08:27:50.32ID:2mHUQDo2
前スレ >GCで良ければGC言語使えば良いよ

Google >Rustで良ければRust使えば良いよ

Google >Rust使えないから Carbon始めました
0089デフォルトの名無しさん
垢版 |
2022/09/18(日) 09:08:02.19ID:3N6sN2Xv
>>86
Carbon公式FAQを読みなさい
If you can use Rust, ignore Carbon
とのサブタイトルから始まりRustの方が良いと書かれている
Carbonは既存C++コードのための存在
0090デフォルトの名無しさん
垢版 |
2022/09/18(日) 09:09:29.57ID:MnGgqwog
Google >Rustで良ければRust使えば良いよ

Google >Rust使えないから Carbon始めました

まんまじゃねーか
0092デフォルトの名無しさん
垢版 |
2022/09/18(日) 09:23:45.71ID:NszbSvOd
CarbonはC++に強く依存したプロジェクトのためのものなので、そうじゃないならRustを使え、
とわざわざ書いてあるんだな
0093デフォルトの名無しさん
垢版 |
2022/09/18(日) 09:29:02.34ID:u3D6XzAD
Google >Rustで良ければ Rust使えば良いよ

Google >Rust使えないから Carbon始めました

まんまじゃねーか
0094デフォルトの名無しさん
垢版 |
2022/09/18(日) 09:30:03.67ID:tyxU6yRV
RustはRustに強く依存したプロジェクトになるという欠点があるからな。
Rusteseはそれが狙いなんだろうけど。
0096デフォルトの名無しさん
垢版 |
2022/09/18(日) 09:59:36.68ID:7lE3L7eF
>>95
GoogleはRustを使いまくっていて
AndroidとLinuxがRust導入することになったのもGoogleの強いRust推しがあったためだよ
一方で既存のC++によるシステムは次に大規模システム改変があるまではこのまま使い続けたいけど
C++には問題が多すぎるからCarbonでそれまで延命するっていう話だよ
0098デフォルトの名無しさん
垢版 |
2022/09/18(日) 10:12:06.21ID:S16AZMX9
そもそもGoogleはRustを安定的に支えるために設立したRust Foundationの発起人やんけ
0099デフォルトの名無しさん
垢版 |
2022/09/18(日) 10:21:51.07ID:XVqHa/Kg
>>84
こういうのはだいたい最初の突破口はクラウドの設定ミスかソーシャルエンジニアリング
0100デフォルトの名無しさん
垢版 |
2022/09/18(日) 10:38:43.71ID:oLhOG23s
C/C++用のライブラリ書く機会多いもんなぁ
だがここにRust使ううまみは全く無い
0101デフォルトの名無しさん
垢版 |
2022/09/18(日) 10:41:29.51ID:23reXPkE
Rustはなんでも「Rustなら最高に安全に、高効率でできる」と言って、開発効率を無視するのがなんか違うよなって思ってる。
すぐに「長期的にはRustの方が開発効率が良い」とか言うし。

「最初は負債を負ってでもプロダクト出さなきゃしゃーねーだろ、後で返済しろ」みたいなまともなビジネス要件を完全に無視されるので、なんなのよって思うことが多い。
0103デフォルトの名無しさん
垢版 |
2022/09/18(日) 10:57:40.17ID:VBi0HIqZ
大風呂敷はともかく
言語仕様に絞ればRustはプログラミングしやすくて開発効率が高いのは事実だと思うぜ
その点まで否定する人はいないと思うが
0105デフォルトの名無しさん
垢版 |
2022/09/18(日) 11:04:33.30ID:gAqx5zJC
C++には自由がありそうでないんだよな
bad_allocを投げない自由があるとか綺麗事を言うが実質的にそんな自由はない
0106デフォルトの名無しさん
垢版 |
2022/09/18(日) 11:09:26.06ID:PydvmlVx
>>41
zigはzenとの確執がありそうで怖い
0107デフォルトの名無しさん
垢版 |
2022/09/18(日) 11:12:40.00ID:a87PubfG
C++は脳汁が出るぜィ!!
0109デフォルトの名無しさん
垢版 |
2022/09/18(日) 11:16:05.92ID:a87PubfG
競技プログラミングでC++が好まれるのは、脳汁が出るからです。
ランナーズハイやクライマーズハイと同じ、あるいはゾーンに入ると表現されることもあります。
RPGで言えば、加護を受けて無敵状態の時間帯です。
どうだ!C++凄いだろ!!
0110デフォルトの名無しさん
垢版 |
2022/09/18(日) 11:19:12.61ID:8Oubr/aV
ぜ語尾でマウントの複おじ
な語尾で主観垂れ流しの複おじ
体言止めで証明失敗の複おじ
各種取り揃えております
0114デフォルトの名無しさん
垢版 |
2022/09/18(日) 12:01:46.79ID:aeQbKIv+
法的な泥棒には当たらないけどOSS倫理的にはNG

Zigがわざわざ日本語の声明を出している
Zigソフトウェア財団とZenプログラミング言語に関する声明
https://ziglang.org/news/statement-regarding-zen-programming-language/
>コネクトフリー社の創設者であるテイト氏は、不完全な技術論により彼自身の行動を正当化しようとすると同時に、契約条項を利用してZigの貢献者がこのオープンソースプロジェクトに更に貢献する事を阻止しています。また、コネクトフリー社のZenはZigを表面的にリブランディングしたものに過ぎません。このようなテイト氏の過去と現在の振舞いから、日本の専門家や会社がこうしたクローズドソース製品に頼り生計をたてようとするのは、私どもの良識としてはお勧めできません。
0117デフォルトの名無しさん
垢版 |
2022/09/18(日) 12:41:41.76ID:YKE2Ef70
>>114
>法的な泥棒には当たらないけどOSS倫理的にはNG

>契約条項を利用してZigの貢献者がこのオープンソースプロジェクトに更に貢献する事を阻止しています。


倫理置いとくと法的にはZigのほうがヤバそうね。
0118デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:06:27.86ID:a87PubfG
詐欺出来るくらい、ITに強くなったと考えるべきでは?
日本やるじゃん!
0119デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:08:21.32ID:a87PubfG
帝都 久利寿

キラキラネームじゃん。
0121デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:23:19.96ID:a87PubfG
日本人なら詐欺師の味方するよな!
応援しようぜ!

そんな弱小言語がどうだろうと俺たちには関係ないし。
0122デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:28:07.69ID:GhzcuJyY
OSSのクローズドフォークで金儲けなんてRust信も大好きGAFAMだってやりまくってるからなあ
Zig開発陣にとってはいい勉強になったねとしか
0123デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:30:28.29ID:a87PubfG
統一教会「いい勉強になったね」ニヤッ
0124デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:31:07.59ID:GFJFaQz6
そのへんの経緯を知りたいけどよくわからない
Zen側が貢献してきたZigソースコードは全て他で置き換えられてZigから抹殺されたのでZen側にはZigに対する権利は無くなったと主張しているってことなの?
0125デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:34:57.24ID:a87PubfG
「ライセンスを持つものは、他者にライセンスを分け与えることが出来る」
「それ以外の方法でライセンスを得ることはできない」

という、繋がり重視のライセンスを考えたんだが。
特許とっていい?
0126デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:36:03.60ID:y2Aq5YSy
>>114
Zigのライセンスにはリブランディング禁止条項ないから
リブランディングは無問題

当然Zigのライセンスには従う
0128デフォルトの名無しさん
垢版 |
2022/09/18(日) 13:45:32.43ID:ds+slurx
>>109
競プロってC++の機能を大して使ってなくね?
最近出た競プロの本立ち読みしたけど普通に90年代のC++だった
0131デフォルトの名無しさん
垢版 |
2022/09/18(日) 16:07:08.69ID:YKE2Ef70
>>130
フレームワークはスレ違い
0134デフォルトの名無しさん
垢版 |
2022/09/18(日) 16:39:13.55ID:g3yzrDMH
Jaktの人、精力的でええやん
C++の置き換えに一番期待できる言語仕様だから早く安定板にしてほしい
この人なら専用IDEも作ってくれそうな勢いを感じる
他の言語はIDEに無頓着だから困る
0135デフォルトの名無しさん
垢版 |
2022/09/18(日) 16:46:08.87ID:a87PubfG
人類の資産の8割がC/C++で出来ている。
したがって、C/C++に注力することで、人類の発展と未来が担保される。

と思います!!
0137デフォルトの名無しさん
垢版 |
2022/09/18(日) 16:59:51.90ID:CbkvNJGd
低レイヤーでもRustは向いてない、何年もの経験のあるRust使いでも。

「Rust開発は呆れるほど程時間がかかる上に、楽しくない」そして移行先が話題のZig
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun
https://kevinlynagh.com/rust-zig/
https://kevinlynagh.com/rust-zig/typical_keyboards.jpg

高レイヤー参考
>>42
tscをGoに移植
https://postd.cc/tsc-go/
0138デフォルトの名無しさん
垢版 |
2022/09/18(日) 17:24:43.71ID:YN5s6Pjv
ZigならC++で良くね?って思う
C++のベストプラクティスが分かりにくいという問題なだけでしょう
0139デフォルトの名無しさん
垢版 |
2022/09/18(日) 17:46:57.75ID:a87PubfG
>>88
ソーシャル・クッキングって日本語で言うと闇鍋?
0141デフォルトの名無しさん
垢版 |
2022/09/18(日) 18:56:07.13ID:a87PubfG
マジか。
0142デフォルトの名無しさん
垢版 |
2022/09/18(日) 19:23:43.99ID:yoKR1Bn1
>>132
そう思うとrustって愛されてるのに誰も何も作ってないよな
せいぜいunixコマンドの移植ぐらいじゃね?
0145デフォルトの名無しさん
垢版 |
2022/09/18(日) 19:51:07.35ID:gAqx5zJC
何か作るならPythonでいいよな
Pythonが否定されるまで次世代言語の出番はない
0146デフォルトの名無しさん
垢版 |
2022/09/18(日) 20:32:44.57ID:RA+tdQam
一見したところRustスゲー的な記事タイトル
Cloudflare Ditches Nginx For In-House, Rust-Written Pingora
https://www.phoronix.com/news/CloudFlare-Pingora-No-Nginx

実はLuaからの置き換え部分が大きく寄与
>This isn't 'Oh wow, Rust is so much faster!', it's 'Oh wow, doing less work is faster!'
https://www.phoronix.com/forums/forum/phoronix/latest-phoronix-articles/1346074-cloudflare-ditches-nginx-for-in-house-rust-written-pingora?p=1346115#post1346115

cloudflareの元記事にもそう書いてある
https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
>Our Rust code runs more efficiently compared to our old Lua code.

これ日本のテックサイトでどう紹介されるんだろ たのしみ
0147デフォルトの名無しさん
垢版 |
2022/09/18(日) 21:28:24.24ID:YKE2Ef70
c++はファイルの拡張子を統一しろよ
0150デフォルトの名無しさん
垢版 |
2022/09/19(月) 00:04:20.61ID:Z63DsfE9
Luaはゲーム開発なんかではよく使われてるし、スクリプト言語の中では相当速いはず
そりゃCloudFlareほどの規模ならCやRustで書き直したほうがいいのは確かだけど
別に選択として悪くはないと思うけどな
0151デフォルトの名無しさん
垢版 |
2022/09/19(月) 00:14:26.43ID:9xLKPVoG
Lua使ってたという話は10年以上前には時々聞いていたけど最近でもゲームで使ったりするのかな・・・
0153デフォルトの名無しさん
垢版 |
2022/09/19(月) 00:30:03.28ID:jZPkBY+c
C++の適当なサブセットをベターCとする戦略が失敗したから
LuaがベターCになってしまった
それにJavaScriptをブラウザ以外で使うのもあまり成功してないから
0155デフォルトの名無しさん
垢版 |
2022/09/19(月) 07:42:06.09ID:hVO4reu0
>>144
マジでこの人胡散臭いよな
なんで外国人なのにわざわざ日本に来て活動してんだろう
0156デフォルトの名無しさん
垢版 |
2022/09/19(月) 12:24:30.51ID:yTyO0id6
だからLuaJITは未だに5.1なのか
0157デフォルトの名無しさん
垢版 |
2022/09/19(月) 12:51:16.71ID:jWPeXdq1
nodejsが出たときJSがサーバーサイドも覇権を取るみたいな言説が一瞬湧いたけど、今となっては絶望的だな。

フロントエンドの事情が漏れ出て足引っ張られまくり。モジュールとかfetchとかバンドルとか。
0158デフォルトの名無しさん
垢版 |
2022/09/19(月) 13:17:47.22ID:JVJqZ5kG
>>154
あれはマジで読めない
dynasmっていうオレオレJITライブラリを使ってるんだけど
既存のluaのソースにそれを埋め込んでるからマジで酷いんよ
0159デフォルトの名無しさん
垢版 |
2022/09/19(月) 13:52:36.43ID:E2P5O1UU
>>157
React.jsやVue.jsなどでサーバーサイドレンダリングもする場合は
サーバーサイドを別言語で改めて書くなんてバカなことはせずに
そのまま同じJavaScriptコードをサーバーサイドで実行するのでNode.js等が使われている

これをしないと各ページは中身のない雛形のみサーバーが送出するので
ブラウザで表示が遅くなったりSEOで不利となったり様々なデメリットがある
だからサーバーサイドでNode.js等のJavaScript実行環境が使われている
0160デフォルトの名無しさん
垢版 |
2022/09/19(月) 14:00:48.55ID:JVJqZ5kG
>>157
サーバーサイドの前段に置くというので落ち着きつつあるよ
つまりさらにややこしくなった
0162デフォルトの名無しさん
垢版 |
2022/09/19(月) 14:25:44.47ID:E2P5O1UU
もちろん例えばサーバーサイドをRustにしてフロントエンドをWasm(by Rust)にすることで共通コードを走らせたり
0166デフォルトの名無しさん
垢版 |
2022/09/19(月) 14:55:40.89ID:E2P5O1UU
>>165
Denoは使っていない
サーバーサイドでのJavaScript実行が最大の負荷ネックなのでRustへの移行を試みている
0168デフォルトの名無しさん
垢版 |
2022/09/19(月) 15:05:16.56ID:E2P5O1UU
>>167
SSGも当然しているがSSRと同じで各ページ生成のJavaScriptコード実行が負荷ネック
CDN edgeも当然検討していてedgeでのWasm実行があるのでその点でもRustが良いとの結論になった
0170デフォルトの名無しさん
垢版 |
2022/09/19(月) 15:14:20.19ID:E2P5O1UU
>>169
もしRust/Wasm以外に負荷コストを下げる方法があるならば提案してみるので知りたい
無さそうならばこの方針のまま進むと思う
0171デフォルトの名無しさん
垢版 |
2022/09/19(月) 16:03:36.42ID:Po7VCTJB
そもそも負荷コストが問題になっているのか、Rustへの投資を回収できるかを定量的に評価せよ
0172デフォルトの名無しさん
垢版 |
2022/09/19(月) 16:34:20.05ID:E2P5O1UU
言語に対して投資を回収とはどういうことかよくわからない
サーバーリソースは大きく減る見通し
0173デフォルトの名無しさん
垢版 |
2022/09/19(月) 16:44:12.76ID:Hu7yqvEZ
以下聞きかじり(キッパリ)

LuaJITは開発者本人が天才過ぎて他がまねできない。バグ出しも殆ど終わった感があるし開発者本人もヘビーユーザーも5.1からの移行の必要性(移行コストの正当化)を感じてない。もちろんLuaJITメンテはされる。

>>154
forkがとん挫した例がある
https://github.com/moonjit/moonjit

今の注目?

Redhatが立ち上げた新規のJITエンジン(メイン目標はRubyへの適用)
https://github.com/vnmakarov/mir

c2m(MIR)が本JITの性能 gcc -O2やclang -O2(~gccの-O3)の比較
https://developers.redhat.com/sites/default/files/blog/2020/11/commet-lake-speed.png
JITエンジンだから優秀だと思う
JVMやV8との比較が欲しいところ

最新記事(Last updated: August 26, 2022)
https://developers.redhat.com/articles/2022/02/16/code-specialization-mir-lightweight-jit-compiler
0174デフォルトの名無しさん
垢版 |
2022/09/19(月) 16:45:28.04ID:Po7VCTJB
>>172
具体的に何円減るんだ?それは現在の事業や人員の規模に対して十分に意味のある金額と言えるか?
そういう計算できないならそらISUCON勝てないわな
0176デフォルトの名無しさん
垢版 |
2022/09/19(月) 17:00:56.55ID:E2P5O1UU
>>174
技術のスレで具体的な金額を求めて何をしたいんですか?
ISUCONを持ち出すのも唐突すぎて何を言いたいのでしょう
十分に意味があるから進めるわけですよ
0177デフォルトの名無しさん
垢版 |
2022/09/19(月) 17:01:10.49ID:ZiX0Fnns
Scala難しくね? 開発者高くね? Netflix以上じゃないとpayしない HW投資しとけ
みたいな話を何かの講演動画だったかでみたけど思い出せない

>>175 >お金を儲けること
その通り。
自社開発で開発者が暇してるのでもなければ、HW投資かサバ代予算増額の方が良い。
0179デフォルトの名無しさん
垢版 |
2022/09/19(月) 17:16:52.25ID:S5fQL4AK
速い言語を使えばいいだけなのに、
遅い言語を使って無駄にリソースコストを支払うのか。
遅い言語を使うとメリットあるなんてことは一切ないのに。
0180デフォルトの名無しさん
垢版 |
2022/09/19(月) 17:54:44.32ID:QIKrLEPf
架空なのか自社サイト(いつでも再検討)なのか 好きにしたらいいよ。上司の許可は忘れずに
0181デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:10:33.34ID:Z9ZARiSG
転職して最初の決算以降、誰も私に意見を言えなくなりましたよ。
結局のところ、実力が一番大事なのでは?

これは、会社員だけでなく、言語にも言えると思いますよ。
実力が大事。
0184デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:19:11.98ID:S5fQL4AK
開発コストはどの言語でも変わらない。
遅い言語だと開発コストが安い、なんてことはない。
0185デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:23:37.58ID:luZbhWR/
>>179
PythonもRubyもNode.js・Javascriptも、果てはRustさえ敵に回す、迂闊な発言だわ。
「全員宇宙開発で使われる安全なアセンブラで書けばいいのにね、りそーすこすと!」
0186デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:24:43.13ID:PeXg9+d0
>>183
だよね
cloudflareでも今の今までRust導入に手こずってるんだから
cloudflareの規模があれば回収できるが、中小は無理でしょ
0187デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:26:26.78ID:luZbhWR/
じゃあバッチとか書かないで、全部おすすめの言語で書きなよ?MS Officeのマクロも書かないで、あんたの信じる言語で書きなよ?
だれも止めてないよ?ただ単にアドバイスしてるだけでね、りそーすこすと!
0188デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:30:23.81ID:S5fQL4AK
アセンブラはプログラミング言語ではない。
アセンブラとほぼ同じ速さを出せる言語が多数あり、
それらで書くとコンパイラによる最適化フェーズもあり有利だ。
0189デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:31:23.09ID:QQSMzDQg
ありえんな
0190デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:33:01.63ID:QQSMzDQg
誤爆
0191デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:34:49.01ID:E2P5O1UU
>>186
Rust導入で手こずるなんてことがあるんですか?
他の言語と同様に手こずることはありませんでしたが
0193デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:38:59.63ID:jZPkBY+c
外貨じゃないと買えない電気と
いくらでも発行できるとかいう無限のリソースで買えるシステムとの対立なのかな
0194デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:43:43.25ID:M4eV0eKf
>>193 この人いつもポエム挟んでくる

スルーしてたけど、
>>153
>C++の適当なサブセットをベターCとする戦略
これ何のことか聞かせて
0195デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:46:07.83ID:E2P5O1UU
>>192
検討とは何のこと?
Rustへの移行を試みていると>>166に書いたように
既に小規模な実験をかなり進めていて見込みは良好です
0197デフォルトの名無しさん
垢版 |
2022/09/19(月) 18:51:47.48ID:Z9ZARiSG
>>194
でも、真髄を突いたポエムでは?

これ、円をいくら発行しようとも、エネルギーを外国に頼ってるから無理、って意味でしょ?
0200デフォルトの名無しさん
垢版 |
2022/09/19(月) 19:03:36.18ID:E2P5O1UU
>>196
>>198
先に小規模な実験で色んなことを検証するフェーズがあります
これは新機能追加や一部システム改変など様々なことで必ず事前に行われます
他のところでも似たような感じで進めるのをよく見聞きしますが
何を問題にしていますか?
0201デフォルトの名無しさん
垢版 |
2022/09/19(月) 19:03:53.49ID:Z9ZARiSG
>>199
別の人ですよ。
ID見ればわかるじゃないですか。
0202デフォルトの名無しさん
垢版 |
2022/09/19(月) 19:22:36.76ID:fF3L7mKr
>>182
「真性の病気 」はなかなかないから、何かの一環で頑張ってるんだよきっと?

Goスレ663-664でめっちゃ「挑発的」聞き方で、「全訳」に挑んでいる奴がいるんだけど雰囲気似てる

何の「動機」で全訳に取り組んでいるのか、怪しい「ライセンスビジネス」とか「本」でも出すのか

「どこが全訳」だしてくるか後日「答え合わせ」しようや
0204デフォルトの名無しさん
垢版 |
2022/09/19(月) 20:06:58.48ID:LKL6sPNO
>>157
PHPerおつ
0207デフォルトの名無しさん
垢版 |
2022/09/19(月) 20:55:35.23ID:ENkN+t9w
複オジはね
もともとはRustスレでクソコード貼り付けてた子なのよ
あれみたらわかるけど決して職業マではないわ
暇を持て余した学生か無職よ
病気というより単にエアプ勢なのよ
0209デフォルトの名無しさん
垢版 |
2022/09/19(月) 21:12:43.56ID:dsh440Ug
>>207
仕事でやってれば必要になる観点を持ってないから職業マじゃないのは同意するが
エアプで知ったかぶりするだけでなく
嘘までついて虚勢を張り続けるのは間違いなく病気
0213デフォルトの名無しさん
垢版 |
2022/09/20(火) 08:53:46.32ID:kT9PmXd0
ソースをよく読むことが絶対正しいとは限らない
読まない方が効率が良いことが多い
0228デフォルトの名無しさん
垢版 |
2022/09/20(火) 16:16:03.90ID:/Ms9OaY6
MS Azureの人がわざわざこんなツイをするなんて

余程Rustが上手くいってないんだろ

自分たちでお金掛けずにOSSを煽ってる様だ
0229デフォルトの名無しさん
垢版 |
2022/09/20(火) 16:31:59.50ID:SYco0YfA
ほしいのはrustの方向性を持った言語バリエーション
rustだけってのが良くない
0231デフォルトの名無しさん
垢版 |
2022/09/20(火) 16:53:53.88ID:6U+S2E6P
2021/5にUS政府がexecutive order on cybersecurityを出して(Department of Commers & Nistに)対策の方策提出(60日以内)を要求したんだね
https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/

それで業界側に話が来て苦し紛れか、おあつらえ向きのRustの名前を挙げて「対応しているポーズ」をしてるのか

そっち方面疎いから、Rust関係なんか不自然だと思ってたけど、やっと謎が解けた

C/C++の人(Microsoft, ISO C++ committee)の講演 ためになる
Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022
https://youtu.be/ELeZAKCN4tY?t=2457

MS Azureのツイもこの流れだな
0232デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:00:36.85ID:+ns9IM90
単一のWebリクエストの処理だったりスケジュールバッチだったりゲームのステージだったりと、
リソースのスコープが何らかの一連のコンテキストに対応しているケースは多いと思うんだけど
そういったコンテキストに基づいたリソース管理を言語組み込みで自然に記述できる言語ってないのかな
もちろんコンテキストが同期的に完結するならRAIIで実装できるけど、非同期も考慮するとGoのContextみたいにライブラリになっちゃってどうしても強制力や記述性は劣るよね
0234デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:09:04.21ID:s9rLzRMi
2021/5「対応しているポーズ」

その後遅々として進まず

今日「みんなRustやろうぜ ポーズ」(俺のせいじゃないアピール)

>>233 この件(>>231)に対する意見は?
0235デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:11:16.88ID:iEIHewYx
>>232
Rustならば非同期であろうとリソースを使う主体へ所有権が移動していってリソースを使うものがいなくなると自動的に解放されるべ
0237デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:29:24.22ID:ne/X4AFl
>>229
>ほしいのはrustの方向性を持った言語バリエーション
そう
時間稼いで新バージョン作って結局C++のまま。一部新規の簡単なところだけRust
0238デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:31:29.53ID:0JIP37F8
Rust、俺も好きだよ
Linuxカーネルにも6.1でやっと入るしね
でも好きなんだけどwinui3対応来ないしdirectx 12対応も公式サポートも来ないし(コミュニティのd3d12-sysなんて6年前だぞ!)、fsharpがあらゆる.NETエコシステム非対応になってる再来に見えて仕方がない
Microsoftのやるやる詐欺にはいい加減懲りてるんだ
0244デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:52:21.48ID:BdrUKNGd
>>238
>Rust、俺も好きだよ
俺もRustが普通の時代(仮 遠い目)が来るなら拒まない

>>238
>Microsoftのやるやる詐欺にはいい加減懲りてるんだ
Rustの件は「莫大な軍事予算が下りる」くらいないと>>237で着地

「莫大な軍事予算」マダー?>US政府
0245デフォルトの名無しさん
垢版 |
2022/09/20(火) 18:15:18.68ID:hNRkPWlR
結局>>15の問題が様々なインフラに影響を及ぼしているので
新たなシステムから順にC/C++を捨ててRust採用て話なんやろな
0249デフォルトの名無しさん
垢版 |
2022/09/20(火) 19:03:26.25ID:hGRs6IhL
>>218
Microsoftの人でもGC以外の言語が必要な場合はって感じなんだね。当たり前と言えば当たり前だけど。
0250デフォルトの名無しさん
垢版 |
2022/09/20(火) 19:09:47.83ID:Ww7jMmuH
>>249
興味があるなら時間見つけて動画リンク(時間指定 >>231)のさわりの部分だけでも見た方が良いよ
US政府要求に沿ってるだけ
0255デフォルトの名無しさん
垢版 |
2022/09/20(火) 20:30:32.65ID:poUTUsCs
こんなの見つた

Rust part16
https://mevius.5ch.net/test/read.cgi/tech/1656285423/738
https://mevius.5ch.net/test/read.cgi/tech/1656285423/743
>「実装させない方法があるかどうか」
>Rust の初心者として様々な言語機能を理解したいという立場で疑問に思った部分を抜き出し

これ自分の学習用とは思えない

この人も、Rustの「全訳」に挑んでいるのかも

なんにしても、それぞれの言語の「公式以外」から「全訳」(全解説)と称するものが今後出てきたら要注意

>>202
後日「答え合わせ」しようや
0256デフォルトの名無しさん
垢版 |
2022/09/20(火) 20:50:11.08ID:mWqgd8qD
このスレが盛り上がるのは平日の20-26時くらいなんだよね
きれいな社畜で笑っちゃう
僕はRustで1600万ほどもらってます
0257デフォルトの名無しさん
垢版 |
2022/09/20(火) 20:51:12.22ID:z6cIhAGk
C++は8086でも動いてた。
0258デフォルトの名無しさん
垢版 |
2022/09/20(火) 20:52:22.48ID:z6cIhAGk
>>256
お客様が大手企業だからってことは無いの?
0259デフォルトの名無しさん
垢版 |
2022/09/20(火) 20:53:09.18ID:1cXMflH4
この世界は二種類の人々に分かれている。
『言語・技術』に興味を持つ人々と、
『オジサン』に興味を持つ人々である。
0261デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:06:20.07ID:zH3u0JIU
>>256が言っていることに真実があるなら

複オジ は 会社(零細スタートアップか何か)の社長(or COO)

>>207-210は連係プレーで職業マを否定

>>207は何か知ってるんじゃないの?
0262デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:16:55.14ID:z6cIhAGk
>>261
楽天の社長ってことは無いの?
0263デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:34:39.28ID:DK3tUzu4
複オジの虚言癖を真に受けちゃうのも結構やばいぞ
至る所に嘘だと分かるヒントが散りばめられてるだろ
0264デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:35:49.35ID:nobtOBFX
長期視点で見ると以下の通り

python
→今からやるのは機械学習の人たちだけオッケー

Go
→Rustで良い

C/C++
→Rustで良い

TypeScript
→wasm-bindgenがdomなどをサポートしてるのでいらない

Zig
→生ポインタとかメモリアロケーションとかCに先祖返りしてるRustで良い

Carbon
→C++どうでも良い場合はRustで良い

よって長期視点で見るとRustだけでよろしい
0265デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:52:13.29ID:kT9PmXd0
>>259
メカニズムに興味を持つ人とポリシーに興味を持つ人

デバッグが苦手な人は、人間の意図と関係ない現象に興味を持つのが苦手なんじゃないかと思う
0267デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:57:15.72ID:Rkn9OZVq
長期的視点で見るならRustの最大のリスクは、クールでセクシーな新言語の出現だろうな
Scalaの悲劇を忘れてはならない
0268デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:58:58.31ID:nobtOBFX
ScalaはJVM言語だったのが最大のミス
オラクル支配の言語なんか使えるわけない
0269デフォルトの名無しさん
垢版 |
2022/09/20(火) 21:59:34.75ID:n3SPYoKp
特定の言語に固執するのは技術力の低さの証
その状態が許されるのは人を動かす仕事ではなく人に動かされる仕事をしてる間だけ
0270デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:00:51.15ID:z6cIhAGk
クールでセクシーって進次郎のことか。
進次郎構文のプログラミング言語なんて誰が使うのさ。
統一教会が売りつけてきそう。
自民党だし。
0273デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:14:40.82ID:PsJADa91
Scalaは関数型を積極的に取り込んだよね
よーく見ていくと詰めが甘いと言うか苦しいとこあるけど
部分適用させようとしてアンダースコア書かないといけないとことか
0274デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:17:01.31ID:owULvK/K
Scalaはしばらく使ってたけどライブラリの破壊的変更が酷くてやめちゃった
半年ぶりにコンパイルすると全く通らない状態だったし
最近は落ち着いたらしいけど今なら他に選択肢もあるし戻ろうとは思わないなぁ
0275デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:17:49.95ID:z6cIhAGk
Rustも同じ道を歩いてる。
0276デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:22:51.03ID:/Bvo4oH4
YouTube で有名な雑食系エンジニア・KENTA が、
Scala, PHP をオワコン認定した

それで、ScalaのTwitter、Laravel のZOZO が、やばくなった。
まともな開発者が集まらない

これでオワコンと言われた、Ruby on Rails がますます1強になっていく
0277デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:30:15.92ID:b8QKntNX
GCはステロイドみたいなもんだからな。
0278デフォルトの名無しさん
垢版 |
2022/09/20(火) 22:35:49.95ID:kT9PmXd0
大昔のゲームを今やってるおじさんは、ソフトが時代遅れになる恐怖を感じない
0280デフォルトの名無しさん
垢版 |
2022/09/20(火) 23:05:51.81ID:9uDlQujI
ハードウェアのドライバなんて大半が待ち時間だから
0281デフォルトの名無しさん
垢版 |
2022/09/20(火) 23:13:34.53ID:omzXxvLB
色んな業界がRustへ移行しようとしてるんだな
ドライバはバグでセキュリティホールになりがちだったから今後C禁止Rust必須の方向へ進むかもしれない
0284デフォルトの名無しさん
垢版 |
2022/09/21(水) 07:10:43.49ID:HysOxLo3
>>220-221
こっちで話出てからC言語スレの様子が変わった

ハノン ◆QZaw55cn4cと雰囲気の似ているスレに注目してる
0285デフォルトの名無しさん
垢版 |
2022/09/21(水) 07:29:10.09ID:0EddIk8Z
Flutter vs .NET MAUIで口の悪いC#erも注目してるが
昨晩>>261以降の怒涛の「>>255を受けての連係プレー?」の際も自前の動画作業をしていたようなので
こっちのRusteseとは一旦切り離してみる
0288デフォルトの名無しさん
垢版 |
2022/09/21(水) 11:26:36.18ID:CWNBM10n
「Linux」、バージョン6.1でRustを導入へ--トーバルス氏が明言

https://japan.zdnet.com/article/35193491/

LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。
https://japan.zdnet.com/storage/2022/09/20/fbead5b1eeb6ff33e598cce49a17eb26/linustorvaldstedyoutubeb.jpg
0292デフォルトの名無しさん
垢版 |
2022/09/21(水) 11:55:42.34ID:rE5Y/LNp
いよいよ 数学的証明のない Rustの安全性が 試される 時の試練はこれからだ
0295デフォルトの名無しさん
垢版 |
2022/09/21(水) 12:21:59.19ID:p1umNBjJ
>>288
C++は欠点だらけだとして一切受け入れなかったLinux開発陣が
Rustは有用だとして正式に受け入れることが決まったのか
0296デフォルトの名無しさん
垢版 |
2022/09/21(水) 12:34:04.87ID:FfiLiD3c
Rustは保証とか証明可能って軽率に言う
CSや数学勢、敵にまわし過ぎ
0300デフォルトの名無しさん
垢版 |
2022/09/21(水) 14:27:30.72ID:a4l0TSJn
>>299
そういえばRusteseって数学できないんだったな
0301デフォルトの名無しさん
垢版 |
2022/09/21(水) 14:32:23.54ID:irdQT16y
>>297
>色々条件つけての保証なり証明

お前、さっさとその「証明」論文(仮)持ってこい

それとも、また優良誤認詐欺かよ
0304デフォルトの名無しさん
垢版 |
2022/09/21(水) 14:48:48.78ID:foKpgHn9
>>297
>色々条件つけての保証なり証明

>>302
なら、お前がもってこい、存在するならな

それとも、またRusteseの優良誤認詐欺か
0305デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:06:43.90ID:7NXl3GM5
>>303
おいおい、お前が言い始めた「色々条件」だろーが

お前が想定した「条件」で良いのに、ひとつも「証明」が存在しなかったのか

またRusteseの優良誤認詐欺か
0306デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:21:12.55ID:757dNGj4
>>304-305
まじでバカなのか?
個々の機能について条件付けて正しいことを証明してるんだぞ
別に世界の真理について証明してるわけじゃないのにアホすぎるだろw
0307デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:24:49.82ID:RSc7hR6Y
>>306
>証明してる
お前、さっさとその「証明」論文(仮)持ってこい

もしかして口だけ証明なのか?

またRusteseの優良誤認詐欺か
0309デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:38:57.72ID:juTH5GpO
>>306
>証明してる
お前、良かったな、どれがその「証明」論文かさっさと出せ(>>308)

もしかして口だけ証明なのか?

またRusteseの優良誤認詐欺か
0311デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:47:52.05ID:V0Zho+CF
>>306 >>310
>証明してる
お前、さっさとどれがその「証明」論文か出せ(>>308)

もしかして口だけ証明なのか?

またRusteseの優良誤認詐欺か
0313デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:49:43.53ID:H+WZNlq+
その通り

>>306 >>310
>証明してる
お前、さっさとどれがその「証明」論文か出せ(>>308)

もしかして口だけ証明なのか?

またRusteseの優良誤認詐欺か
0314デフォルトの名無しさん
垢版 |
2022/09/21(水) 15:53:51.31ID:IXwJ1OKE
おいおい、まだかよ
「どれ」の「どこ」だよ

>>306 >>310
>証明してる
お前、さっさとどれがその「証明」論文か出せ(>>308)

もしかして口だけ証明なのか?

またRusteseの優良誤認詐欺か
0315デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:00:56.63ID:ks+QjcI0
>>312
横からだけど、そりゃ無茶だろ。

数学的証明でない論文が大半じゃない?初っ端から実験的手法の論文みたいだし。

まずは数学的証明の論文を提示したほうがいいと思うわ。メモリ安全性に関する論文はRust公式も宣伝していなかったっけ?
0317デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:09:33.76ID:pMmp4CCV
おいおい、まだかよ、Rustese数学できねー、なさけねー、早くしろ
「どれ」の「どこ」だよ

>>306 >>310
>証明してる
お前、さっさとどれがその「証明」論文か出せ(>>308)

もしかして口だけ証明なのか?

またRusteseの優良誤認詐欺か
0318デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:14:45.06ID:757dNGj4
>>311,313-314,317
基地害か?
全部知りたいなら>>308が挙げてくれた論文見ればいいし、個別に聞きたいならなにが聞きたいのか示せよ
0320デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:16:50.88ID:A+S1HdS/
>>306 >>318
>証明してる
お前が、さっさと「どれ」の「どこ」がその「証明」論文か出せ(>>308)

もしかして口だけ証明なのか?

Rustese数学できねー、なさけねー、早くしろ
またRusteseの優良誤認詐欺か
0321デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:19:47.01ID:C10YiKi9
cycloneじゃなく、さっさとRustの「証明」だせ

>>306 >>318
>証明してる
お前が、さっさと「どれ」の「どこ」がその「証明」論文か出せ(>>308)

もしかして口だけ証明なのか?

Rustese数学できねー、なさけねー、早くしろ
またRusteseの優良誤認詐欺か
0323デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:25:37.89ID:/N9xXXTO
「ベースとして作られ」
これが「証明」だと言ってるのか?
もしかして口だけ証明なのか?

>>306 >>318
>証明してる
お前が、さっさと「どれ」の「どこ」がその「証明」論文か出せ(>>308)

Rustese数学できねー、なさけねー、早くしろ
またRusteseの優良誤認詐欺か
0324デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:42:42.82ID:UIALNmqD
「ベースとして作られ」
これが「証明」だと言ってるのか?

さっそくRustの方が劣化コピーじゃねえか

https://blog.waft.me/2017/09/24/region-based-03/
>Dangling pointerのデリファレンス、「メモリリークをコンパイル時に防ぐ」仕組みとしてリージョンを導入した

>>306 >>318
>証明してる
お前が、さっさと「どれ」の「どこ」がその「証明」論文か出せ(>>308)

Rustese数学できねー、なさけねー、早くしろ
またRusteseの優良誤認詐欺か
0326デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:46:00.23ID:i+mJr34M
さっそくRustの方が劣化コピーじゃねえか
Rustは「メモリリークをコンパイル時に防ぐ」は出来ない

https://blog.waft.me/2017/09/24/region-based-03/
>Dangling pointerのデリファレンス、「メモリリークをコンパイル時に防ぐ」仕組みとしてリージョンを導入した
0327デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:51:39.94ID:UY6DP7+P
「基づく」とか「ベース」は「証明」じゃねえ

>>325「論文中でのリージョンがRust におけるライフタイム」
って、さっそくRustの方が劣化コピーじゃねえか
https://blog.waft.me/2017/09/24/region-based-03/
>Dangling pointerのデリファレンス、「メモリリークをコンパイル時に防ぐ」仕組みとしてリージョンを導入した

*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない
>>306 >>318
>証明してる
お前が、さっさと「どれ」の「どこ」がその「証明」論文か出せ(>>308)

Rustese数学できねー、なさけねー、早くしろ
またRusteseの優良誤認詐欺か
0329デフォルトの名無しさん
垢版 |
2022/09/21(水) 16:55:24.66ID:h5syVRZM
>>327
Cycloneのregion = Rustのlifetime だから
CycloneもRustもコンパイル時点でメモリ安全性を保証できることが>>319の論文により証明されている
0330デフォルトの名無しさん
垢版 |
2022/09/21(水) 17:01:18.27ID:U6NlYu0S
>>328-329「基づく」とか「ベース」は「証明」じゃねえ

「証明」ではない「反例」

>>325「論文中でのリージョンがRust におけるライフタイム」
>>329「Cycloneのregion = Rustのlifetime だから 」
って、

さっそくRustの方が劣化コピーじゃねえか
https://blog.waft.me/2017/09/24/region-based-03/
cyclone(>>319)>Dangling pointerのデリファレンス、「メモリリークをコンパイル時に防ぐ」仕組みとしてリージョンを導入した

*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない

やっぱり口だけか
Rustese数学できねー、なさけねー
またRusteseの優良誤認詐欺か
0332デフォルトの名無しさん
垢版 |
2022/09/21(水) 17:07:36.23ID:2LV6+DU5
「ベース」にあった性質が「派生」で失われた

「ベース」にあった他の性質が「派生」で保持されていると言う「保証」「証明」はない

「派生」で付け加えた性質には、「何の証明」も与えられていない

これが正しい論理的思考
0333デフォルトの名無しさん
垢版 |
2022/09/21(水) 17:18:47.61ID:h5syVRZM
キチガイが暴れているようだが
Cycloneのregion = Rustのlifetime なので
Rustはコンパイル時点でメモリ安全性を保証できることが>>319の論文により証明されている
0334デフォルトの名無しさん
垢版 |
2022/09/21(水) 17:22:43.05ID:U65PnWYQ
>>332 まさにこれ

だからRustの「証明」を出せ、と言っているが、数学的論理的思考の出来ないRusteseが永遠にエコーチェンバーで陶酔してる

「Cyclone Core」には数学的証明が与えられた性質が存在している(>>319)

しかし

「Cyclone」にあった性質(*)が「Rust」で失われた
(*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない)

「Cyclone」にあった他の性質が「Rust」で保持されていると言う「保証」「証明」はない

「Rust」で付け加えた性質には、「何の証明」も与えられていない

これが正しい論理的思考
0335デフォルトの名無しさん
垢版 |
2022/09/21(水) 17:35:38.40ID:iP+X8zZU
論文中のCycloneのregionとRustのlifetimeは同じことを意味しているから
>>319の論文の意味論そのままRustにも適用できますね
コンパイル時点でメモリ安全性を保証できることになります
0337デフォルトの名無しさん
垢版 |
2022/09/21(水) 17:43:24.43ID:NcsmvTEN
「Cyclone Core」には数学的証明が与えられた性質が存在している(>>319)

しかし

@「Cyclone」にあった性質(*)が「Rust」で失われた(*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない)

A「Cyclone」にあった他の性質が「Rust」で保持されていると言う「保証」「証明」はない

B「Rust」で付け加えた性質には、「何の証明」も与えられていない

これが正しい論理的思考
0338デフォルトの名無しさん
垢版 |
2022/09/21(水) 18:00:00.52ID:H3dYipCM
「Cyclone Core」には数学的証明が与えられた性質が存在している(>>319)

しかし

@「Cyclone」にあった性質(*)が実際に「Rust」で失われた(*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない)

A「Cyclone」にあった他の性質が「Rust」で保持されていると言う「保証」「証明」はない

B「Rust」で付け加えた性質には、「何の証明」も与えられていない

C「Rust」の「コンパイル時点でメモリ安全性」(仮 + *)は「証明」されていない

これが正しい論理的思考

Cを認めるのが「都合が悪い」Rusteseが 4~5名 存在します。深夜から早朝、日中まで。
0339デフォルトの名無しさん
垢版 |
2022/09/21(水) 18:05:44.53ID:6SxND0cP
>>319の論文を見たけど、regionをそのままlifetimeと読み替えれば論文でのセマンティクスは成立してるね
したがって、Rustはコンパイル時点でメモリ安全性を保証できることを意味してる、で合ってるね
0340デフォルトの名無しさん
垢版 |
2022/09/21(水) 18:15:26.68ID:EmNmA81M
>>338 >Cを認めるのが「都合が悪い?」Rusteseが 4~5名 存在します。深夜から早朝、日中まで。

そして夕方〜夜間も。
0343デフォルトの名無しさん
垢版 |
2022/09/21(水) 19:49:07.40ID:ZClInrHS
「意味論」「セマンティクス」これ目立つ。しばらくwatchするか掘ってみるか
0346デフォルトの名無しさん
垢版 |
2022/09/21(水) 22:23:35.93ID:Y7cJ6m1Q
「Rust」の「コンパイル時点でメモリ安全性」(仮 + *)は「証明」されていない
(*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない)

>>325,335 >>339 YO
「意味論」「セマンティクス」についてしようや

前スレ
>>https://mevius.5ch.net/test/read.cgi/tech/1661739736/528
>あるいはRustでは保証するとか証明可能とか言う話は全て架空だ
>数学的証明された事実は一つもない

>>https://mevius.5ch.net/test/read.cgi/tech/1661739736/529
>まあ数学自体が架空だと思ってる奴もいるんだよな
0347デフォルトの名無しさん
垢版 |
2022/09/21(水) 22:28:40.37ID:ZvRKgk02
「Rust」の「コンパイル時点でメモリ安全性」(仮 + *)は「証明」されていない
(*Rustは「メモリリークをコンパイル時に防ぐ」ことは出来ない)

>>325,335 >>339
お前ら、「意味論」「セマンティクス」の言葉を出せば、煙に巻いて、

嘘が通せると思ってんのか?
0349デフォルトの名無しさん
垢版 |
2022/09/21(水) 22:43:39.75ID:VH5FwCf0
>>348
なさけねーレス

複オジ社長w連れてこい
0350デフォルトの名無しさん
垢版 |
2022/09/21(水) 22:59:08.22ID:YRic72Dm
>>348
今夜のレス常駐当番なの?

複オジ社長wと連絡とれた?

無視しろって言われた?

君、.NET MAUI担当なの?
0351デフォルトの名無しさん
垢版 |
2022/09/21(水) 23:10:55.31ID:+WdKqpjN
>>325,335 >>339
「数学自体が架空」って、おいおい、数学出来る奴はそんな発想すらねーんだよ
0352デフォルトの名無しさん
垢版 |
2022/09/22(木) 06:32:39.62ID:KYC2ssXj
>>343
意味論(semantics)はコンピューターサイエンスでは常識かつ必須のものであり
今回のような証明においてももちろん不可欠のもの
そして>>319の論文を見てみたら当然のように今回の核心部分で意味論(semantics)が出てきている
皆が言及しているのも当然なのであった
0356デフォルトの名無しさん
垢版 |
2022/09/22(木) 11:29:07.11ID:OHyjVVFp
この腐ったスレで仮定の話をしてみる

尋常ならざる「ヘイト」を集めた仮想集団Rustese(4~5名)が、近々
0357デフォルトの名無しさん
垢版 |
2022/09/22(木) 12:21:57.02ID:C83w8w00
>>354
5chもCloudflareを使っているから
これでこのスレの住民が仲良く全員ともRust製にお世話になっていることになるね
0360デフォルトの名無しさん
垢版 |
2022/09/22(木) 12:56:32.85ID:brooaw/j
>>356 >>353

https://mevius.5ch.net/test/read.cgi/tech/1663409149/255
デフォルトの名無しさん 2022/09/20(火) 20:30:32.65 ID:poUTUsCs

こんなの見つた

Rust part16
https://mevius.5ch.net/test/read.cgi/tech/1656285423/738
https://mevius.5ch.net/test/read.cgi/tech/1656285423/743
>「実装させない方法があるかどうか」
>Rust の初心者として様々な言語機能を理解したいという立場で疑問に思った部分を抜き出し

これ自分の学習用とは思えない

この人も、Rustの「全訳」に挑んでいるのかも

なんにしても、それぞれの言語の「公式以外」から「全訳」(全解説)と称するものが今後出てきたら要注意

>>https://mevius.5ch.net/test/read.cgi/tech/1663409149/202
後日「答え合わせ」しようや
0363デフォルトの名無しさん
垢版 |
2022/09/22(木) 15:00:07.02ID:HWZm8NU4
各スレをそれぞれ荒らしている集団
それぞれ担当分野をいくつか持っている
0365デフォルトの名無しさん
垢版 |
2022/09/22(木) 15:39:42.78ID:Io0prChu
日本のITの発展を阻害するのが目的な裏組織でもあるんじゃないかと妄想したくなるなw
0366デフォルトの名無しさん
垢版 |
2022/09/22(木) 15:45:41.23ID:llfSUMQF
なるほど、腐ったスレ -> 腐った設定を楽しむポエスレ

追加設定(仮):
Rust,Go,C#,組込み,低レイヤー,それぞれ担当分野の強みを集めて日本製VRヘッドセットなどのウェアラブルデバイスのキット、総合ソリューション商売(仮)を近々発表する設定

ファームウェア、デバイスドライバがRust製、Rustの優良誤認を巧に利用したセールス

Rust,Goの「全訳」(公式以外)を出してコンサル、受託開発もすると宣伝

近々予定のLinux6.1を良い弾みに使う

Rustの>>338は都合が悪いから火消し作業@5ch w

ネットメディアに取り上げられて「顔出し」インタビュー記事が出るw

尋常ならざるネット行動で「ヘイト」を集めた「仮想集団Rustese」(4~5名)(仮定)の社長(仮)が複オジ社長(>>256)w
0368デフォルトの名無しさん
垢版 |
2022/09/22(木) 18:19:41.34ID:b/GA6Yzt
5ch常駐&自演癖&妄想癖の複オジしゃちょーがまともに仕事してるわけないでしょ

おまえは何と戦ってるんだ?
0370デフォルトの名無しさん
垢版 |
2022/09/22(木) 18:45:24.24ID:EqL6Qqki
>>367
Web 方面って言うか CDN なんてゴリゴリのサーバーソフトだからむしろ組込ソフトに近い分野だぞ
0371デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:36:34.44ID:qLW9OXP3
そこらへんはFPGAでは?
FPGAの回路合成にC/C++は使えるけど、Rustが使えるという話は聞いたことがない。
0372デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:42:08.92ID:A33fHa/9
CDNは普通にHTTPを解釈してその様々な指定に応じて様々な対応処理をするウェブプロキシサーバー(ソフトウェア)
0373デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:42:39.81ID:qLW9OXP3
論理合成はAIを使うとよさそうですが。
0375デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:43:37.20ID:qLW9OXP3
ニコニコもFPGAらしいですね。
0376デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:45:53.50ID:qLW9OXP3
CDNというものは、所詮、ファイルを送出してるにすぎないんですよ。
しかし、非常に高速性が要求される。
0377デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:48:37.86ID:OQfEBTkz
nginx使ってたのを独自Rust実装にしたという話で
FPGAの話がどっから出てくるんだ
0379デフォルトの名無しさん
垢版 |
2022/09/22(木) 19:50:17.08ID:qLW9OXP3
いまどき、ソフトウェアとか言ってたら、もしかして:自宅警備員。
と言われちゃいますよ。
0381デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:08:57.90ID:qLW9OXP3
自分は光の戦士なので無理。
0382デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:09:17.87ID:EqL6Qqki
>>378
どこにもCDN自体をFPGA化したなんて書いてなくて笑うしかないんだけど
そもそも画像処理のFPGA化なんていつの時代の話してるんだよw
0383デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:10:45.11ID:/ukDae2r
CDNにFPGAは無理
処理すべきバリエーションが多すぎる
さらに設定ファイル毎に異なる動作をしたり機能も追加されていく
もちろんCDN各社ともproxy server softwareを用いている
0385デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:21:18.64ID:EqL6Qqki
>>383
無理かどうかは分からんけどデータ自体を処理するわけじゃない(そう言うのはルーターなりスイッチの役目)だからあんまり効果は無いだろうね
0386デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:27:57.36ID:KxxTKJvn
じゃあ今ならRustで構築するのがベストか
Cloudflareは当たり前のことをしただけ
0388デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:51:15.94ID:+hddm2QC
>>377
同意。
記事もろくに読まずに >>371 みたいな自分の勝手なオレ常識を垂れ流すやつには呆れる。
0389デフォルトの名無しさん
垢版 |
2022/09/22(木) 20:58:40.24ID:EqL6Qqki
SystemC とか知ってる俺スゲー君だろ
8年近くも前の記事をドヤ顔で出すあたり上っ面だけの知識っぽいけどw
0390デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:08:11.72ID:tkcjyRPY
>>367
おそらくフロントエンドは全部Rustになります
CDNエッジサーバーで「フロントエンドの処理を全部動かす」のが確定的になったから
そこではRustが暴れまくる
コンパイラとシステムプログラミング、OSだけでなく
Webの世界もRustが支配しそうだ
0391デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:43:59.14ID:LJW4Hu7v
>>389
Cからの動作合成が使い物になると思ってる時点で実際FPGAやったことないのバレバレなんだよな
ちゃんとパフォーマンス出そうと思ったらVerilogで書くのは当然として配置やクロック系までちゃんと調整しないといけないわけで
0392デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:52:22.05ID:fvym6PGc
フロントエンドでもバチクソに速さを求められて要件もシンプルな場所にはそれなりに Rust が使われると思うけど、業務アプリとかみたいに要件にも揺れがある領域では GC が基本の言語がまだまだ(もしかしたらずっと)強いだろ。
0393デフォルトの名無しさん
垢版 |
2022/09/22(木) 21:54:38.94ID:t4qAEvuE
>腐った設定を楽しむポエスレ
これでしばらく俯瞰してる

https://mevius.5ch.net/test/read.cgi/tech/1663409149/366 (一部設定加筆修正)
デフォルトの名無しさん 2022/09/22(木) 15:45:41.23 ID:llfSUMQF
なるほど、腐ったスレ -> 腐った設定を楽しむポエスレ

追加設定(仮):
Rust,Go,C#,C,組込み,低レイヤー,それぞれ担当分野の強みを集めて日本製VRヘッドセットなどのウェアラブルデバイスのキット、ソフトウェアソリューション事業(仮)を近々発表する設定

ソフトウェアスタックの一部がRust製、Rustの優良誤認(*)を巧に利用した宣伝
(* https://mevius.5ch.net/test/read.cgi/tech/1661739736/946,963)

Rust,Goの「全訳」(公式以外)を出してコンサル、受託開発もすると宣伝

近々リリース予定のLinux6.1(Rust製ドライバ実働ready)を宣伝材料に使う

Rustの真実(**)は宣伝に都合が悪いから5chで火消し作業w
(** https://mevius.5ch.net/test/read.cgi/tech/1663409149/338)

尋常ならざるネット行動で「ヘイト」を集めた「仮想集団Rustese」(4~5名)(仮定)の社長(仮)が複オジしゃちょー
(https://mevius.5ch.net/test/read.cgi/tech/1663409149/256,368)

着々と「ヘイト」を収集中

ネットメディアに取り上げられて「顔出し」インタビュー記事が出るw
> 後日「答え合わせ」しようや
(>>https://mevius.5ch.net/test/read.cgi/tech/1663409149/202,255)
0394デフォルトの名無しさん
垢版 |
2022/09/22(木) 22:05:07.85ID:Gy6yFsGR
>>354
Nginxは静的webサーバーとしてはApacheより速いけど、HTTP(S) ProxyやリバースProxyでそんなに速くないし
ロードバランシングもあるけど、モニタリングとか簡素だもん。Cloudflareがいままで余りにもお粗末だっただけで
HAProxyやEnvoy(いずれもC系)でHTTPSでは99%タイルで3倍以上、Traefikの最新版だって2倍スループットの
差が出る。まあ上の記事にも書いてあるけどね
ちょっと古いけど、ベンチマーク(もちろんCPUやメモリ消費量の話じゃないけど、それはパフォーマンスに直結する)
https://www.loggly.com/blog/benchmarking-5-popular-load-balancers-nginx-haproxy-envoy-traefik-and-alb/
0396デフォルトの名無しさん
垢版 |
2022/09/22(木) 22:20:15.18ID:Gy6yFsGR
それとHTTP(S) ProxyなんてHTTPリクエストの入り口だけど、それを「フロントエンド」なんて言わないよね。
大体はミドルウェア扱いで、コンペティションならサーバーサイドの処理結果や連続する同一リクエストなどを
Proxyキャッシュから返すとか小細工するけどさ
ほとんどの実際のサーバーサイドの入り口のプログラミングだって普通にファイヤーウォールの中にあるので
そんな外で一体になるようなプログラミングは許されることは多くない
エッジサーバー言い換えるとエッジコンピューティングは、CDNやIoTのような特殊な業務には求められるけど
データーベースにつながってるようなシステムだと(工夫して非同期を使っても)結局データを取りに行って
戻ってこなくちゃならないし
0399デフォルトの名無しさん
垢版 |
2022/09/22(木) 23:53:56.73ID:qLW9OXP3
ファイル配信がFPGAに置き換わってることを知らなかったのでは?
0400デフォルトの名無しさん
垢版 |
2022/09/23(金) 01:00:35.17ID:gD4It3Ab
異世界おじさん
0401デフォルトの名無しさん
垢版 |
2022/09/23(金) 05:31:20.24ID:exFn1ITS
>>399
ファイル配信がどのレイヤーのこと言ってるのか知らんけどフルFPGAの配信サーバーなんて見たことないけど?
0405デフォルトの名無しさん
垢版 |
2022/09/24(土) 10:44:41.46ID:46kCizQt
お前らは、標榜したことを実現するためにあらゆる手段を使うべきだと刷り込まれている
だがそれは数学ではないし道徳的にも正しくない
0406デフォルトの名無しさん
垢版 |
2022/09/24(土) 13:05:16.42ID:trDL4TBK
おまえら次のスレでは別の言語が覇権!ってしてるんだもんなあ
なんていうか世の中からズレまくってるよ
0407デフォルトの名無しさん
垢版 |
2022/09/24(土) 15:01:08.03ID:baRfG8oL
次世代言語の話というより、格付けをしたいだけのキッズが混ざってるからな
0408デフォルトの名無しさん
垢版 |
2022/09/24(土) 15:07:26.56ID:oo/J7FFO
トーバルズ氏、Rust導入やM2搭載「MacBook Air」について語る
https://japan.zdnet.com/article/35193521/2/

Rustがまだカーネルに導入されていない理由の1つは、一部の開発者が、Linuxで動かすには非標準のRustの拡張がたくさん必要になることを懸念していることだ。
例えば、Rustで書かれたLinuxの新しいNVMeドライバーを動かすには、70以上の拡張が必要になる。

しかしTorvalds氏は、自分たちはすでに何十年も、標準のC言語にはないものを使い続けてきたと指摘した。
「私は以前から、この分野の標準はゴミだと大声で主張してきた。標準が間違っているので、私たちは標準を無視している。Rustについても同じことが言えるだろう」と同氏は言う。

少なくともTorvalds氏は、重要なのはむしろRustのコンパイラーの信頼性と安全性だと考えている。
今ある問題の1つは、「GCC Rust」の信頼性と安定性が低いことだ。このため現実的には、今のところ、LinuxでRustを使用するには「Clang」を使うしかない。
しかしTorvalds氏は、「Clangは十分使える。Rustをマージすればおそらく有益だろうし、カーネルに害を与えることもないだろう」と語った。
0409デフォルトの名無しさん
垢版 |
2022/09/24(土) 15:22:13.06ID:znV/izy5
最近はClangが賢いしLLVM方式は多言語をサポートできて有利だな
技術力のない次世代言語はLLVMコードを吐かずにCコードを吐いて最適化の機会を失っている
0410デフォルトの名無しさん
垢版 |
2022/09/24(土) 15:50:34.59ID:46kCizQt
勝利条件が間違っているのでチャンスを与えても無視されているケースもあるけど
0411デフォルトの名無しさん
垢版 |
2022/09/24(土) 20:26:26.19ID:7pBAspe1
>>409
Nimですね
0413デフォルトの名無しさん
垢版 |
2022/09/24(土) 23:12:05.67ID:84FXrjPL
複数のCコンパイラ(gcc, g++, clang, vc, intel c++, tccなどなど)に対応するより、1つのほうが楽だからそうしてるだけで
技術力がない訳じゃないんだわ。アホ信者だろうからどうでもええけど
0414デフォルトの名無しさん
垢版 |
2022/09/24(土) 23:20:12.97ID:pfcr5AFZ
>>409
そのLLVMはC++で作られてるわけで
0415デフォルトの名無しさん
垢版 |
2022/09/24(土) 23:39:17.14ID:SwoMyRrN
ある言語などの処理系がどの言語で書かれているかは全く無関係
例えばPythonで書かれていても動作が遅くなるだけで問題なく動く

そしてLLVMの出現時期がたまたま既にC++が標準化され普及した直後だったからC++で作られただけの話
もっと以前ならCで書かれただろうし現在開始のプロジェクトならRustで書かれただろう
0418デフォルトの名無しさん
垢版 |
2022/09/25(日) 01:46:08.85ID:5EJgs9fu
>>413
様々なコンパイラに対応するという目標からして間違っているよ
本来の目標は様々なアーキテクチャに対応することだね
その目標を達成するための様々な方法の一つとしてCに変換する方法があるけど
LLVMに変換する方法と比べてCに変換する方法は様々な点で劣ってしまうね
0419デフォルトの名無しさん
垢版 |
2022/09/25(日) 09:17:51.29ID:LGm5VRVM
gccとllvm、違いを述べてみよ
0420デフォルトの名無しさん
垢版 |
2022/09/25(日) 09:29:12.22ID:Rxhh3DJ9
GNUとApple。
0421デフォルトの名無しさん
垢版 |
2022/09/25(日) 09:39:28.60ID:1aDg8GuI
>>419
各プログラミング言語とも各アーキテクチャとも独立した中間コードにあたる命令セットと型システムを持つLLVMでは
各言語のコンパイラはその命令セットによるLLVM中間コードを吐くだけで
LLVMが一般的な最適化と各アーキテクチャに対する最適化を行なって最終コード生成をしてくれる
GCCは時代遅れのシステム設計なのでそのへんが上手く行っていない
0424デフォルトの名無しさん
垢版 |
2022/09/25(日) 10:09:08.63ID:rVqFiGXV
まぁgccも3くらいの頃はRTLがあるとはいえ結構密結合していて改造するのも大変だった記憶
4以降くらいで中間表現がちゃんとなって今はLLVMと変わらないんじゃないかな
どちらかというとライセンスの問題のほうが違いとしては大きいかもね
0425デフォルトの名無しさん
垢版 |
2022/09/25(日) 10:12:52.67ID:Jv2bK5g9
RTLはあくまでもGCCによるGCCフロントのための内部の存在から脱しきれていない
LLVMのように外部の独立した主体が中間コードを生成しても使える状況には程遠い
0428デフォルトの名無しさん
垢版 |
2022/09/25(日) 10:28:34.89ID:Rxhh3DJ9
で、統一教会はなんて言ってるの?
0430デフォルトの名無しさん
垢版 |
2022/09/25(日) 10:41:19.90ID:7o/BwXuI
Cのheaderと型情報のないバイナリをパーツ化していたのに
一体化してどうすんの
0431デフォルトの名無しさん
垢版 |
2022/09/25(日) 10:42:40.37ID:0nYZB2Sd
GCCとLLVMって 各種ベンチマーク見ると
ほぼサイズも実行速度も同程度っていうのが現実

だからどっちでも いっしょしょ
0432デフォルトの名無しさん
垢版 |
2022/09/25(日) 10:49:07.78ID:Rxhh3DJ9
スレにサタンが紛れ込んでると思います。
0433デフォルトの名無しさん
垢版 |
2022/09/25(日) 11:03:01.03ID:g3b7BSZx
>>431
性能はほぼ一緒だね
しかしこのスレに一番関連ある関心事は新たな次世代言語が作られた時のコード生成のためにどちらが利用できるか利用しやすいかかな
現状だとほぼ間違いなくLLVMが選ばれると思う
0435デフォルトの名無しさん
垢版 |
2022/09/25(日) 11:17:57.28ID:g3b7BSZx
>>434
Wasmは多々あるアーキテクチャの一つ
LLVMコードからWasmコードが生成されるという関係
各言語コード→LLVMコード→Wasmコード(あるいはx64コードなど)
0438デフォルトの名無しさん
垢版 |
2022/09/25(日) 11:31:17.41ID:P75X35KX
”様々なコンパイラに対応するという目標からして間違っているよ 本来の目標は様々なアーキテクチャに対応すること”

また変な事言い出してきた。llvm13.0でllvm/ADT/Triple.hを確認すると59種のアーキテクチャが確認できて
手元のgccが79種、こいつは足し算もできないどころか、自分の文章に矛盾だらけなことに気づいていない.....
劣ってるのは、何でもかんでも引っ張り出してきて他言語を攻撃する品性のないあんたの頭であって、優れているのは
地道に言語実装を担当するコミッターであり、決してあんたではない。「〇〇を勉強してる俺スゲー!」www
0439デフォルトの名無しさん
垢版 |
2022/09/25(日) 11:40:34.50ID:tfhvRRUB
俺スゲーっていうか
自分の力量も相手の力量も両方見えてないのが初心者の特徴
フワフワした断片的な知識で夢心地になれるのも初心者の特徴
0442デフォルトの名無しさん
垢版 |
2022/09/25(日) 12:22:24.14ID:HLrQUK/+
このスレに出てくる言語だと
SwiftやRustやZigやKotlin(ネイティブ生成時)などみんな各コンパイラがバックエンドとしてLLVMを使っている
もちろんC系各言語はClangがLLVMバックエンド
0443デフォルトの名無しさん
垢版 |
2022/09/25(日) 13:25:51.48ID:7o/BwXuI
GCでも似たような話を聞いた
多々ある言語がみんなGCを使っているのに何故ARCなのかって
おそらく、多々あるアーキテクチャの一つにならない方が得をする可能性もあるからじゃないか
0444デフォルトの名無しさん
垢版 |
2022/09/25(日) 14:58:40.12ID:P75X35KX
gccのほうが変則的ながらサポートするアーキテクチャが多いのは歴史が長いからだろうけど、gcc rustとか
linusが言ってるように存在する(だがいまいち)んだから、攻撃性だけ高いバカは相手にしちゃいかんのな?
公式じゃないとしても様々なコンパイラに対応はrustですら行っていて自分に返ってきた諸刃の剣になっとるわ
何が言いたいのか1つも分らんし、結局はマイナーだの、みんながLLVMだの。マジ気持ち悪い
0445デフォルトの名無しさん
垢版 |
2022/09/25(日) 15:24:54.20ID:czhuHWYf
nimはコンパイラを作らない方針よ
Cへのコンバータを代わりに用意していましゅ
0446デフォルトの名無しさん
垢版 |
2022/09/25(日) 17:11:04.17ID:Rxhh3DJ9
>>439
日本の技術は世界一。
0449デフォルトの名無しさん
垢版 |
2022/09/25(日) 18:11:13.74ID:Rxhh3DJ9
D言語も入れるべきでは?
0450デフォルトの名無しさん
垢版 |
2022/09/25(日) 18:43:21.75ID:+OL/eqQP
当時Zigに注目してなかったが、過去スレのこれ↓今度は「競プロ的視点」でZigのところ再現してくれ

ちなみに某一名が >それは専用プログラムでない限りプログラミングでやってはいけない行為 >"caller hash"
と批判しているが、"Rust@github rust/optimized-customhashmap"でも行われている。

https://github.com/benhoyt/countwords

https://mevius.5ch.net/test/read.cgi/tech/1655771266/
976デフォルトの名無しさん2022/08/05(金) 07:34:10.27ID:BZGh0CoX
Time in seconds for each data size: kjvbible.txt
x10 x100 x200 x400 Mem Comment

0.018 0.052 0.089 0.174 ***MB baseline/cat
0.036 0.089 0.147 0.260 ***MB baseline/rg foobar (ripgrep, no match)
0.032 0.091 0.159 0.290 ***MB baseline/ugrep foobar (no match)
0.058 0.457 0.889 1.789 1.1MB baseline/grep foobar (no match)
0.219 2.108 4.127 8.263 0.9MB baseline/wc -w (word count, total only)

0.154 1.271 2.551 5.079 2.0MB C (caller hash,stdin=binary-mode)
0.177 1.412 2.733 5.446 3.8MB Go (caller hash)
0.161 1.458 2.903 5.671 1.4MB C++ (caller hash,cin=binary-mode)
0.175 1.513 2.953 5.863 4.6MB Zig @github fixed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0.176 1.572 3.124 6.045 2.6MB Rust@github rust/optimized-customhashmap <------実は"caller hash"
0.180 1.597 3.219 6.267 3.1MB Rust@5ch res >>602
Ryzen9 5900X windows11
0451デフォルトの名無しさん
垢版 |
2022/09/25(日) 18:57:56.78ID:qD8+FrW3
そんなことより条件揃えないベンチは何も価値がない
どうでもいい話を今ごろ蒸し返すのは病気
0454デフォルトの名無しさん
垢版 |
2022/09/25(日) 19:15:44.04ID:PDKGWlWe
唯一確かなのは言語のスレで実装でマウント取ろうとする奴がまともでないことだな
0455デフォルトの名無しさん
垢版 |
2022/09/25(日) 19:22:43.96ID:toxRGZVn
ある言語で誰かにより書かれた特定のアプリやシステムやプログラムコードをもってその言語自体を叩く人がいつもいるね
区別がつかないのかも
0456デフォルトの名無しさん
垢版 |
2022/09/25(日) 19:27:32.77ID:o/MazDuA
そもそも言語を叩くって意味が分からんわ
いや、意味は分かるんだけど動機が分からんわ

プログラミング言語に好きも嫌いもなくて必要なもんを使うだけ←わかる
嫌いな言語なんてない←わかる
嫌いな言語がある←わかる
嫌いな(?)言語を叩く←???
0457デフォルトの名無しさん
垢版 |
2022/09/25(日) 19:33:28.70ID:Rxhh3DJ9
>>450
次世代言語は遅いくせにメモリー食いすぎだな。
0458デフォルトの名無しさん
垢版 |
2022/09/25(日) 19:34:35.56ID:Rxhh3DJ9
>>456
5chでRustやRubyが叩かれるのは理由があるからな。
0461デフォルトの名無しさん
垢版 |
2022/09/25(日) 20:30:28.24ID:jQaUrv4h
実装で特別なことはしてないが「競プロ的視点」という事で:

Language x10 x100 x200 x400 Memory Comment
--------------------------------------------------------------
Zig 0.118 1.073 2.113 4.203 3.2MB (std.HashMap + "caller hash" by Context(std.hash.Fnv1a_64.hash))
Zig 0.162 1.493 2.970 5.935 4.6MB (std.StringHashMap)

zig version 0.10.0-dev.4166+cae76d829
CPU Zen3@boost max~4.75GHz

Faster than C になってる(Cはまだまだ最適化の余地があると思うが)
0462デフォルトの名無しさん
垢版 |
2022/09/25(日) 20:40:28.94ID:tSRJjxfh
バカだな
言語間で異なるアルゴリズムを使っていたら
それは言語の比較ではなくアルゴリズムの比較だ
0463デフォルトの名無しさん
垢版 |
2022/09/25(日) 20:45:11.70ID:Rxhh3DJ9
実際に速くても、RustよりZigのほうが速い証明にならんのか?
0464デフォルトの名無しさん
垢版 |
2022/09/25(日) 20:51:08.64ID:WuvdTVAA
ZigもRustもコードを合わせればほぼ同じLLVMコードを吐いてほぼ同じ結果になるやろな
無論Clang使用したCも
0465デフォルトの名無しさん
垢版 |
2022/09/25(日) 21:20:01.75ID:7o/BwXuI
叩かれる側に原因があるっていうのはアフォーダンス
物を売りつければ、買う側に原因があるという
ちょうど猫が入りそうな箱に猫を入れたら、箱に原因があるという
0466デフォルトの名無しさん
垢版 |
2022/09/25(日) 21:45:37.43ID:S7teK5ry
おーいつもやつ帰ってきたか
寂しかったぞ
三連休どこに消えてたんだ
家族サービスでもしてたか?
書き込み減って悲しかったぞ
0467デフォルトの名無しさん
垢版 |
2022/09/25(日) 23:10:00.88ID:LGm5VRVM
C言語へのトランスレート自体は悪くない。
でもマイナー言語でリソース足りないのに色んな言語へのトランスレートをやろうとするのは無理すぎ。
0469デフォルトの名無しさん
垢版 |
2022/09/26(月) 12:30:23.28ID:YfpqeBHF
JVM 系言語が Kotlin Native, Scale.js, GraalVM あたりで JVM 以外に色気出すのは筋悪いと思うね。

そこに魅力を感じる層は結局自分が今習得しているツールに縛られた技術選定しかできない人々という意味でも、発展性がない。
0470デフォルトの名無しさん
垢版 |
2022/09/26(月) 14:29:10.13ID:8+SLfSDi
>>469
視野が狭い末端プログラマーらしい意見だね。

君は結局自分が今置かれた立場に縛られた物事の見方しかできない人という意味でも、発展性がない。
0471デフォルトの名無しさん
垢版 |
2022/09/26(月) 14:40:41.23ID:tGukFybk
>>453
nlvmというトランスレーターではないllvm IRを直接吐き出す実装があるんだわ。もちろん、公式じゃないし
こんな事する意味があまりないから全然流行ってないけど、上のほうで暴れてたLLVM=Rust信者だって
もともとはRustだってOCamlで書かれた最初のコンパイラを辞めて、LLVMのセルフホストになった。
そこにコンパイラ基盤がLLVMだから良いとか・優秀だという考えはない、単にコンパイルを速くしたかったか
開発リソースを集中させたかっただけ。現にgccrsはllvmだと宜しくない場合があるから作られてるわけで

言語へのトランスレートが無理なんじゃなく、作者は開発コスト問題から数多ある無数のCコンパイラへ対応は
辞めたがってるけど、それだってマイナーなTiny C/tccがC標準から少し逸脱してるから辞めたいだけ
0472デフォルトの名無しさん
垢版 |
2022/09/26(月) 14:41:03.61ID:heiSJ5NK
暇なんか
0474デフォルトの名無しさん
垢版 |
2022/09/26(月) 14:51:59.22ID:6oNZz9Ue
>>469
根拠を示していないから、ただの誹謗中傷にしかなっていない。
煽るにしても、もうちょっとそれらしい主張にしたら?
例えば「JVM系の言語はだらしなくヒープを使うからネイティブにしても速くならない。そんなのをやるんだったら、安全性と速さを両立したRustを勉強したほうがいい」とか。
0475デフォルトの名無しさん
垢版 |
2022/09/26(月) 16:55:54.26ID:heiSJ5NK
ruby は ruby で実装されています
遅くなる罠
0476デフォルトの名無しさん
垢版 |
2022/09/26(月) 17:38:57.35ID:a/RKbAyr
>>471
LLVMなんてどこでも使っているのに
LLVMというだけでRust信者と思い込むのは浅はか
なんでもかんでもRustにもって来たがるのはアンチの悪い癖
0477デフォルトの名無しさん
垢版 |
2022/09/26(月) 17:45:13.50ID:6tM7XGma
>>469
JVM言語の唯一のメリットであるポータブルな点は当時と比べて重要度を失っているんじゃないかな
もちろんポータブル自体は有利だけどJVMよりもっと様々な必要や要素を兼ね備えたWASMの出現が大きかったね
後発だから色んな改善がされているのは当たり前だけどWASM>JVMであることは否定しようがないもんね
0478デフォルトの名無しさん
垢版 |
2022/09/26(月) 20:34:04.50ID:aq2MKDiL
https://github.com/benhoyt/countwords

Language x10 x100 x200 x400 Memory Comment
--------------------------------------------------------------
Zig 0.118 1.073 2.113 4.203 3.2MB (std.HashMap + "caller hash" by Context(std.hash.Fnv1a_64.hash))
C(gcc) 0.136 1.146 2.271 4.531 2.0MB (optimized.c, binIO,jemalloc,O4,LTO) NEW
C(clang/LLVM) 0.137 1.147 2.280 4.544 2.0MB (optimized.c, binIO,jemalloc,O3,LTO) NEW
Go 0.177 1.412 2.733 5.446 3.8MB (caller hash)<--from過去スレ
Rust(LLVM) 0.154 1.425 2.838 5.674 2.6MB (optimized-customhashmap,O3,LTO,caller-hash) NEW

以下、caller-hashではない
Zig 0.162 1.493 2.970 5.935 4.6MB (std.StringHashMap)
Rust(LLVM) 0.214 1.725 3.396 6.715 3.5MB (optimized,fxhash,O3,LTO) NEW

zig version 0.10.0-dev.4166+cae76d829
gcc 12.2.0/clang 15.0.0
rustc 1.64.0 (a55dd71d5 2022-09-19)
CPU Zen3@boost max~4.75GHz

Go Ryzen9 5900X windows11 <-- Boost Clock. Up to 4.8GHz.?

Rust(optimized-customhashmap)はC(optimized.c)と「コードを合わせ」てあるはずだが、コンパイルオプション程度の「簡単」な工夫を試した限りではgcc/clangと「ほぼ同じ結果にはならなかった」

「コードを合わせたRust」がCと比べて「2~3割程度遅い」のは「そういう場合もあるよね」で驚きも失望もない

意外なのは過去スレGoがRustと同水準だ(起動時間0.03s程度以外むしろGoの方が速い)という事。(こちらで再現したわけではない)
0479デフォルトの名無しさん
垢版 |
2022/09/26(月) 21:18:14.74ID:kqzwQQxQ
またキチガイが粘着にデマを蒸し返してるのか
RustがC/C++と同等の速さで動くことは世界中で様々なケースで確認済み
今は次の段階へ進んでいて新たなシステム構築からRustへ置き換わって行ってる
0480デフォルトの名無しさん
垢版 |
2022/09/26(月) 21:28:58.87ID:C6vutbgO
Rustはコードがスパゲッティになっちゃうから
その分遅くなる可能性あるよね
スパゲッティにならなきゃCと同等だよ
0481デフォルトの名無しさん
垢版 |
2022/09/26(月) 21:31:40.65ID:O0BeXmlV
>>479
さすがにそりゃ無理だろ。
0482デフォルトの名無しさん
垢版 |
2022/09/26(月) 21:46:52.90ID:9MQ9piMO
>>480
Rustで書くと素直な整理されたデータ構造に改善する方へ寄せられていくから
スパゲティにはならずむしろスパゲティ解消のメンテしやすい良いコードになってしまいますね
0483デフォルトの名無しさん
垢版 |
2022/09/26(月) 21:52:22.11ID:+dm3CjP+
保守性の悪いスパゲッティなコードを書く人がRustを嫌っているのはそこだな
Rustだといつもの汚い思い通りのコードが書けないからイライラするのだろう
0484デフォルトの名無しさん
垢版 |
2022/09/26(月) 22:14:45.96ID:/nP0aUDh
Rustスレで自己満クソコードをいっぱい貼った子がおってなw
あれたぶん自分ではきれいな非スパゲッティコードだと思ってるんやろな
0489デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:05:18.27ID:/nP0aUDh
自分ではキレイと思ってるから自分では自信があったのかなw
スレ住民にクソコード貼るなって言われても意固地になってたよw
その流れを再放送するなら無意味だよね
聞く耳持たないだけだから
0490デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:10:51.04ID:s+ZBVtyn
仕様をよっぽど気に入らない限りコードなんて見なければいい
仕様が憎ければコードまで汚く見える
0492デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:27:53.64ID:UCDuW+LB
>>489
「ママー、きょうこんなコードかいたんだよ、みてみてー」ってノリだったから汚いかどうかは眼中になかったんだろ

気持ち悪いおっさんが幼稚園児メンタルで汚コードを一日中貼り続けるからマジキモかったけどな
0493デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:30:20.22ID:27oIc9Ns
>>491
>>1から過去スレをたどっていくことができない情弱
・酷評されたコードを汚くないと再反駁するためのネタ振り

どっち?
0496デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:38:47.29ID:n/I9g/yq
昔はgotoだらけの制御が絡み合って個々に分解しにくいコードを指してスパゲティと呼んだものだが
今時そんなgotoだらけのコードはないだろうから、どんなコードを指してスパゲティと呼んだのか興味はある。
0497デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:40:55.28ID:Lm6MVDpz
コードを示せない上にスレも示せないって、スパコードが実在しないんじゃね
0499デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:48:39.78ID:TKJcQCDW
Rustでスパゲッテイなコードは起きないだろうから
>>484がRustを叩きたくて嘘をついていて引くに引けなくなっただけだと思うよ
0500デフォルトの名無しさん
垢版 |
2022/09/26(月) 23:54:32.25ID:Jsp+UQ/m
最初から「Rustスレ」でって書いてあるじゃん
ディープコピーすら知らなかった複オジの黒歴史を見てこいよw
0502デフォルトの名無しさん
垢版 |
2022/09/27(火) 00:01:35.99ID:GvJUGqKn
Rustスレもいつも眺めているがスパゲティコードらしきものを見たことないな
そもそもRustでスパゲッティコードというものが想像つかん
0504デフォルトの名無しさん
垢版 |
2022/09/27(火) 00:29:16.23ID:N/hVnqtI
結局Rustアンチの人による妄想なの?
次世代言語でのスパゲッティ見てみたかった
0506デフォルトの名無しさん
垢版 |
2022/09/27(火) 07:43:25.27ID:IZdkb4Kl
>>482
「改善する方向に誘導」は嘘。
マズそうなデータ構造で助言してくれるわけじゃない。
実際は「煮詰まってきたときにコンパイルが拒否する」が正解。Rustはにっちもさっちもいかなくなってから「これはダメ」と放り投げる。
0507デフォルトの名無しさん
垢版 |
2022/09/27(火) 09:16:32.53ID:rf9DOsrN
テスト駆動によれば、テストが通らない状態から始めるように誘導しなければ
改善へ誘導したと言えなくなる
0508デフォルトの名無しさん
垢版 |
2022/09/27(火) 09:41:06.42ID:cEY2BOsF
Rustが叩かれてるというよりは単に複オジが叩かれてるだけなんだがw
このへんの区別がつかない人と話になる?w
0509デフォルトの名無しさん
垢版 |
2022/09/27(火) 11:19:43.94ID:UjKs3SUd
このスレはなぜJuliaの話題が無いのか
単純な計算やループだとRustのようにCと同等のネイティブコードで実行でき簡単に並列化・分散化してスケールする。
行列を標準で扱え、コンパイルも出来てスクリプト言語のように手軽にcliで実行できる。面倒な型は普通に型推論だが
逆行する推論を備え、それによってコンパイル言語でありえない動的さと、Lispのような真のマクロを備える
それともどこかにある最適な実装を、シコシコとオレ様実装してしまう泥臭く真の漢のシステムプログラマーばかりなのか
0511デフォルトの名無しさん
垢版 |
2022/09/27(火) 11:38:54.13ID:XJRFtCjW
>>509
その単純な計算やループはたまにしか使わない
JuliaはGC言語なのにヒープメモリをできる限り少なくするプログラミングをプログラマーがしなければいけない
そのへんに気を使わずプログラムを作ると速さに大きな差が出る
つまりメモリ管理は気にせず言語に任せておけばいいという言語じゃない
なのにガベージコレクションが発生する
0513デフォルトの名無しさん
垢版 |
2022/09/27(火) 12:51:08.64ID:5P+0Jw0N
Juliaは多重ディスパッチでデータ型とアルゴリズム実装を自由に組み合わせられるみたいなのが売りの一つだと思うけど
ちゃんとテストされてない組み合わせだと簡単に計算結果を間違うという指摘が結構あって
数値計算向けの言語としては致命的なんではないかなぁと思っている
0514デフォルトの名無しさん
垢版 |
2022/09/27(火) 13:19:39.57ID:rf9DOsrN
カリー化の要領で単一ディスパッチに帰着するパターンの正式名称が致命的だった
0515デフォルトの名無しさん
垢版 |
2022/09/27(火) 15:29:16.37ID:bek5280g
>>511
本当に触ったことありますか?どんな言語だとしても、ループ内でのヒープメモリ割り当てなんて気を付けて書く。
それはRustだって同じ事、GCというかスコープを外れたらOSが回収するが、決してメモリーを気にしないような
プログラミングなんてしない、これはGoでもJavaでも同じ。これを気にしない人はカッコ付けて再帰呼び出しを
してみたりスタックさえ気にしない人が稀にいる
本当に言いたいことを最後に書く日本人の典型だと思うが、そりゃGCはGC系なので発生するでしょうね

>>512
いまどきならCUDA.jlやAMDGPU.jlというものがある。だがRustだとかGoだとかもGPUを普通は使ったりしない。
前者は標準の高階関数で悦に入ってるのがその証拠であり、後者は多数のgoroutineで疑似パラレル処理を
するわけだが稀にGPUを使うとしても特殊例に過ぎない

>>513
そりゃテストされてない組み合わせなんてまともに動くほうが稀だとおもうけど。Rustでいえば少し昔のactixを
async-stdで動かすようなもんだろう、動的呼び出しのコストを気にして、動的性がほとんどないRustやGoと
比べるのが違うんだろうと思うが、letだのvarだの書かないのは、型推測の究極系からいうとありだと思う。
パターンマッチングもあるし、ライバルはRustとかじゃなく、PythonのDeepleaning系やRなんだろうと思うが
0516デフォルトの名無しさん
垢版 |
2022/09/27(火) 15:42:59.62ID:R6/41eV0
めっちゃw早口で言ってそうw
0517デフォルトの名無しさん
垢版 |
2022/09/27(火) 16:39:12.74ID:ZRU3zNgl
>>515
> どんな言語だとしても、ループ内でのヒープメモリ割り当てなんて気を付けて書く。

多くのGC言語では、そんなことを気にせずGC任せのプログラマーが多数派だと思います

> GCというかスコープを外れたらOSが回収するが、

ありえません
0522デフォルトの名無しさん
垢版 |
2022/09/27(火) 19:50:43.74ID:NlDwCy+I
>>518
Rustは管理部門がコーダーに押し付けたい言語。
社員監視用にマナー講師を雇うようなもんだ。
0523デフォルトの名無しさん
垢版 |
2022/09/27(火) 20:02:47.05ID:0rkJ8NRM
>>522
このまえはRustを趣味で使われる割合が多いと叩いていたのに叩く方針変更かね
Rustはプログラマーに愛されているプログラミング言語7年連続1位と記事が出ているけどどうするのかね
0524デフォルトの名無しさん
垢版 |
2022/09/27(火) 20:09:31.55ID:DiyGsTXL
>>515
各組み合わせごとに厳密にテストしないと組み合わせられないなら
「多重ディスパッチで簡単に組み合わせられます」とか言うなよってこと
そもそも静的型ならコンパイルエラーになるしPythonとかなら巨大なライブラリにみんなで乗っかる方式だから、組み合わせの問題が発生しやすいのはJulia固有の話
0525デフォルトの名無しさん
垢版 |
2022/09/27(火) 20:13:06.18ID:NlDwCy+I
>>523
今までも同じ主張しかしとらんよ。
これからは他人のために使うRustユーザーが増えていくから、愛され言語1位を維持するのは無理だろ。
PythonとかJavaの規模のなっても維持できているなら本物だな。
0526デフォルトの名無しさん
垢版 |
2022/09/27(火) 20:18:14.18ID:YwA5X+6D
Rustは他の言語よりコーティングしやすいしプログラマーにとっては嬉しい言語っす
0527デフォルトの名無しさん
垢版 |
2022/09/27(火) 20:49:24.20ID:R1T2sN7L
1から自分で好きなように書くならRustは気持ち良い言語なのは同意するけどね
Rustは個人の好みや癖が出やすい言語だから、他人のオナニーの後片付けは辛いぞ
Rubyしかり、創意工夫()の余地が大きくて楽しい()言語はレガシー化すると激しくプログラマに嫌われる傾向がある
0528デフォルトの名無しさん
垢版 |
2022/09/27(火) 21:06:03.50ID:fcAnqxP3
>>527
プログラミングしたことのない人には
RubyとRustは創意工夫の余地があって辛くて
他の言語には創意工夫の余地がないように見えているのか
そんなデタラメ書き散らす前にプログラミング経験積んで出直してこい
0529デフォルトの名無しさん
垢版 |
2022/09/27(火) 21:27:10.63ID:plkckm5B
Go追加>>478(>>450,461)
Language x10 x100 x200 x400 Memory Comment
--------------------------------------------------------------
Zig 0.118 1.073 2.113 4.203 3.2MB (std.HashMap, caller hash by Context(Fnv1a_64))
C(gcc) 0.136 1.146 2.271 4.531 2.0MB (optimized.c, binIO,jemalloc,O4,LTO)
C(clang/LLVM) 0.137 1.147 2.280 4.544 2.0MB (optimized.c, binIO,jemalloc,O3,LTO)
Go 0.152 1.233 2.428 4.832 3.9MB (caller hash,better loop) New
Go 0.164 1.346 2.654 5.279 3.8MB (caller hash)手元再現 New
Go 0.177 1.412 2.733 5.446 3.8MB (caller hash)<--参考値from過去スレ
Rust(LLVM) 0.154 1.425 2.838 5.674 2.6MB (optimized-customhashmap,O3,LTO,caller-hash)

以下、caller-hashではない
Go 0.085 0.366 0.693 1.319 61.9MB (parallel.go,reserve 65536/2)<--マルチスレッド New
Zig 0.162 1.493 2.970 5.935 4.6MB (std.StringHashMap)
Go 0.182 1.563 3.063 6.097 3.8MB (customhash.go,reserve 65536) New
Rust(LLVM) 0.214 1.725 3.396 6.715 3.5MB (optimized,fxhash,O3,LTO)

zig version 0.10.0-dev.4166+cae76d829
gcc 12.2.0/clang 15.0.0
go version go1.19.1
rustc 1.64.0 (a55dd71d5 2022-09-19)
CPU Zen3@boost max~4.75GHz

https://github.com/benhoyt/countwords

予想以上にGoが速かったが、最近の成果かもしれない。
https://go.dev/blog/go1.19 (2 August 2022)
>Go 1.19 includes a wide variety of performance and implementation improvements
0530デフォルトの名無しさん
垢版 |
2022/09/27(火) 21:40:42.21ID:w/rzDiTn
アルゴリズムの比較と言語の比較の区別がつかない人が未だに無意味なことを続けてるな~
0534デフォルトの名無しさん
垢版 |
2022/09/28(水) 11:39:35.28ID:LY5LAbp2
くせぇ、くせぇ、泥だらけ漢だらけで土方臭え!forループじゃなくmap使えとか親方ァは細かすぎる・・・
何がワシだって「下積みの頃はC未定義動作で行間を読んだもんだ!」だ!未定義動作書くなよ!?基本だろうが!#
何が「ここは大手の偉い人が書いたから変えらなかったんだよ!」だ!
Displayトレイトが滅多に表示しない方に使ってて頻繁に表示する方はいちいちdisp_xxxなんて呼ばないといけないんだ!
設計根本から間違ってるだろうが!
「Rustは気持ち良い言語、Rustは気持ちよく書ける」なんて2020年代前半に言われてたらしいが、もう憎しみしかない
お百度参りしても、この恨み晴れるとは思えない
オレこのデスマが終わったら、高給取りのAIのPython業界に転職するんだ・・・
0535デフォルトの名無しさん
垢版 |
2022/09/28(水) 12:04:48.31ID:aJVEzZZx
>>534
ことごとく勘違いしてるでしょ?

mapは単なる写像にすぎなくてループと対応するものではなくループの中の写像の文 let y = f(x); に対応するものです

未定義動作はunsafeを使わない限り発生しません

disp_xxxといったものは標準ライブラリにありません

以上から貴方はRustではなく異なる別のものを使っている可能性が高いです
0536デフォルトの名無しさん
垢版 |
2022/09/28(水) 13:39:09.80ID:qn6QKhcv
顔真っ赤で一行開け必死で笑ったwwwキモッw
0537デフォルトの名無しさん
垢版 |
2022/09/28(水) 18:08:24.66ID:RGJlN0a6
rustは、haskellみたいにはならないと思う。
ロマンが足りない。オナニーしても気持ち良くない的な。
その点、juliaの方がロマン感じる。
0539デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:06:02.54ID:lioEJO8p
嫌いなのはわかるけど消去法でもRust一択だよ
まずスクリプト言語は速度と安全性がゴミなので論外
(書き捨てのスクリプトにのみ使うならアリ)

C/C++は論外
世界中のバグはこの言語から生まれている

JavaやC#もぬるぽ排除失敗
副作用まみれを助長する言語仕様
クソ重GCとJVM運用でオワコン

Goも結局ジェネリクス導入の失敗で標準ライブラリがジェネリクスなしの涙目に
安全性とは程遠い
言語仕様も一部よくわからない謎
さらにゴルーチンの書きにくさで並行処理の言語としても微妙

その他のモダン言語は結局本質的解決にはなってないから論外

よってRust一択
0541デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:15:39.85ID:6MwVPPZN
Goは色んな機能を削りすぎていて苦痛
ジェネリック導入で明るい未来を期待していたけどあんな使えない仕様になるとは
0542デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:17:23.82ID:lioEJO8p
>>540
あーそれもあるか
err != nilには笑ったわ
なんかエディタのスニペットに登録してるから問題ないらしい
0543デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:20:37.46ID:Jk2txA1W
正直NULL安全みたいな機能いるか?
Kotlinとかにもあるけど、結局NULL許容型も書けるし中途半端過ぎる
0544デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:21:11.66ID:M8/EGStO
>>539
Rustは絶壁の学習曲線で多数の初学者が挫折し、エンスー以外使えないエンドコンテンツで終わるだろう。

せめてライブラリとかフレームワークを初心者向けに作り込むことができればまだ可能性はあるが、所有権とライフタイムがラフな使い方を拒否するからそういうことも困難。

まぁ、「3番目に学習する言語」くらいの位置になれれば万々歳だな。
0545デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:25:13.91ID:lioEJO8p
>>543
関数型界隈以外ではその重要性に気がついてなかった
いわゆるシステムプログラミング言語でRustが唯一まともにNULL安全性を持って生まれた言語
0546デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:30:16.66ID:lioEJO8p
>>544
初心者が挫折しがちというのは理解できるのだが
(俺自身C/C++のヘビーユーザーだったが最初はコンパイルを通すのに苦労した)
しかし一旦理解するとコンパイルエラーはほぼ起きないし
Rustの気持ちになって考えることができるようになる
本当にコンパイラの気持ちがわかる
0547デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:40:17.57ID:M8/EGStO
>>543
Javaのヌルポは散々馬鹿にされていたからなぁ。
実際には、正常値としてのNullならnull objectの方が素性が良い。optionalみたいなNullが良いのは、異質なケースとして明示的に処理したい場合のみ。
0549デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:43:33.10ID:AiQeg8Nw
データ構造含めてスパゲッティでも動いてくれるGC言語と
データ構造が整理されていないとコンパイラが通ってくれないRust
保守性の良いコードを強制してくるRustはウザいよな
0550デフォルトの名無しさん
垢版 |
2022/09/28(水) 19:51:26.79ID:9pngDMED
>>547
ポインタであろうとデータであろうと
nullやnilなどはその型と全く別の型であるべきであり
型が異なればコンパイルエラーとすることができるため
nullやnilをうっかり使ってしまう悲劇を確実に回避できる
この仕組みを備えることをnull安全性と言う
0551デフォルトの名無しさん
垢版 |
2022/09/28(水) 20:06:25.79ID:nKJkDRPP
>>543
kotlinは割りとバランスいいと思う。
Option<T> みたいな冗長な型にならず T? で済ませてるから。
Rust はそこはちょっとダルい。
0552デフォルトの名無しさん
垢版 |
2022/09/28(水) 20:27:35.31ID:dSAv9mNm
はぁ?w
0553デフォルトの名無しさん
垢版 |
2022/09/28(水) 20:37:57.86ID:wiWWHZ2n
>>539
そんな優等生な実用性は求めてないんだよ。

次世代なら、超すごいGCとかなんでも推論してハマればすごいけれど外れるとクソみたいなのをやってくれよ。
0554デフォルトの名無しさん
垢版 |
2022/09/28(水) 21:50:06.42ID:lioEJO8p
>>553
その辺はcopilotなど最新のAIの分野だと思われる
モダン言語としてはまず言語仕様をしっかり安全性の高いものにするのが大事
それに俺はヤンキーを否定してるわけではない
pythonとかライブラリの充実度は世界一だろうし
雑なツールを作るには一番早くできるだろう
TypeScriptもスクリプト言語の型システムとしてはよくできている
しかしその手の言語を最初に使っても結局そのスクリプトを人がどんどん改造してスパゲッティになる様子を見てきた
スクリプト言語である程度実装可能なことがわかったら
すぐにRustに切り替えるべき
0555デフォルトの名無しさん
垢版 |
2022/09/28(水) 22:09:10.05ID:lioEJO8p
>>548
C/C++を理解していないと難しいとは思う
所有権の移動はあらゆる変数参照で起きうるから
ひとまず借用しまくること
Rustの借用はコンパイルが通る限り安全なのだ
所有権を移動しない
これで既存の言語のように書けるのではないかな
0556デフォルトの名無しさん
垢版 |
2022/09/28(水) 22:56:28.26ID:MJCKmooB
>>555
move不要説って、RefCellで複雑なことやろうとするでしょ

Cellでreplaceしまくったほうが簡単だよ
0557デフォルトの名無しさん
垢版 |
2022/09/28(水) 23:45:50.98ID:Ujmzyxrz
moveでもborrowでも呼び出し階層のどのレイヤーで所有権を持つか常に意識しないといけないから既存の言語と同じ感覚では書けないよ

それが良い面もあれば悪い面もある
0558デフォルトの名無しさん
垢版 |
2022/09/28(水) 23:54:28.10ID:TuAX623B
>>556
Cellや動かせないOptionの中身に対してはreplaceだな
生成コストかかるものならtakeで一時的に借りるしな
moveはいつでもコスト安い
0559デフォルトの名無しさん
垢版 |
2022/09/28(水) 23:56:03.77ID:Abgphp/D
>>543
いるに決まってんだろ。
お前意味なくいつもnull許容ばかり使ってるのか?ありえねーわ。
0560デフォルトの名無しさん
垢版 |
2022/09/28(水) 23:58:55.54ID:POQG8oSL
>>557
それは>>515も書いているように
どんな言語でもまともなプログラマーならば内心で意識してプログラミングするっしょ
そしてその意識の差で速度が大きく変わって来るから言語に関係なく重要な
0561デフォルトの名無しさん
垢版 |
2022/09/29(木) 00:25:48.05ID:DsUo27GE
moveは速い
cloneも速くするためにはRcに入れて循環参照とかいうリスクを取る

逆に言えば、最適化の意識が低いスタイルを確立すれば循環参照問題が無くなるのでは?
0562デフォルトの名無しさん
垢版 |
2022/09/29(木) 01:02:09.01ID:Z2jW5FHk
>>561
聞きかじりだけでRustを使ったことがないからそんな間違えをする
Rcのcloneと中身のcloneは全く別物かつ独立
例えば中身がclone実装なく不可でもRcはcloneできる

循環参照は意図的に作らない限りRustでは自然に生じることはない
そして作らないことが正解
0566デフォルトの名無しさん
垢版 |
2022/09/29(木) 04:19:15.74ID:4N/DzY+H
>>562
聞きかじりがどうのと、そんなメンドクサイ言語はダメだわ。
バグのもとだわ。
0567デフォルトの名無しさん
垢版 |
2022/09/29(木) 08:16:59.79ID:2DEJTfP6
>>560 >>562
そんな前提が無いと使えないんじゃ、やっぱりRustは絶壁の学習コストだな。

コミニティも初心者に配慮する気配無いし、>>544が正解か。
0568デフォルトの名無しさん
垢版 |
2022/09/29(木) 08:35:25.13ID:l+nUKPCx
>>566
>>567
じゃあC++についても知らないのね
C++のshared_ptrもRustのRc/Arcもどちらも機能もその件も同じで
そのスマートポインタのコピー(clone)をしても中身はコピーされないんだよ
中身はそのままで共有する仕組みであって基本知識の入門レベル

GCのある言語でもオブジェクトの参照のコピーとオブジェクト自体のコピーの違いがありますね
それと同じことだからこの2種類のコピーの違いを理解できていないのはマズいですよー
0571デフォルトの名無しさん
垢版 |
2022/09/29(木) 11:33:20.73ID:ixRuqvEN
まずは既存言語の延長として借用ベースでコードを書いてから
適切にムーブもするというスタイルをお勧めしたいね
本来のRustのスタイルとしてはムーブベースで考えるべきなのだけど
ハードルがかなり高いと思う
(C++のムーブコンストラクタやムーブ代入演算子を使いまくってた俺クラスの人間じゃないと無理)
借用の乱用でライフタイムの指定が嫌になったころにムーブを覚える
これこそアハ体験
0572デフォルトの名無しさん
垢版 |
2022/09/29(木) 11:38:34.00ID:cdfoharm
>>568
2種類のコピーが同じではない証拠があればそうなる
証拠を得ることができない仕組みをわざと作れば、両者は速度以外同じになるので最適化に利用される
0575デフォルトの名無しさん
垢版 |
2022/09/29(木) 13:48:46.01ID:c7o9QpKC
Rust初心者なのになぜ強がって墓穴を掘りたがるのか
複オジ病の心理が理解できん
0576デフォルトの名無しさん
垢版 |
2022/09/29(木) 14:01:28.67ID:uqGHlXBC
>>575
承認欲求だろ
他で承認されることがないから
匿名掲示板で嘘ついても虚勢を張ってでも
承認してもらいたくてしょうがない心理状態

子供が親に褒めてもらおうと嘘をつくのと同じ
大人でそれが常態化してれば病気だよね
0579デフォルトの名無しさん
垢版 |
2022/09/30(金) 16:19:35.52ID:GviXnHhi
ファミコンで動作するGUI付きOS「NESOS」が爆誕
2022年09月30日 11時06分

ファミリーコンピュータ上で動作するGUI付きのOS「NESOS」が開発されました。
NESOSではタスクバー付きのデスクトップ画面を表示したり、デスクトップ上のアイコンを自由に並び替えたり、テキストの編集を実行したりできます。
デスクトップ上のアイコンは自由に並び替え可能で、タスクバーにファイルやアプリを配置することもできます。
テキストエディタでは、ファミリーベーシック用のキーボードを使ってアルファベットと各種記号を入力可能。

NESOSは無料配布されており、公式ページのダウンロードリンクからダウンロード可能です。
https://gigazine.net/news/20220930-family-computer-nesos/
0580デフォルトの名無しさん
垢版 |
2022/09/30(金) 18:09:21.49ID:ehwOVJGt
最近の流行りが静的型付けと型付きラムダ系FPからの便利機能輸入だから逆風だけど、雑に書くのに向いてる言語ってなんだろうね
Nimはかなり書き味意識してるって話だし、ベタッと実装するならGolangは向いてると思ってる
0581デフォルトの名無しさん
垢版 |
2022/09/30(金) 18:32:32.92ID:5s+XxWyj
開発環境も含めてならC#は雑に書くのに向いてると感じたな
最近のバージョンだとクラスやmainメソッドを省いてスクリプト言語みたいに書けるし、IDEの補助が神がかってるから迷わずに書けてミスしにくい
まあ書き味も大事だが、雑に書く場合は極力テストの手間も抑えたいから、ミスしないことは超重要
0584デフォルトの名無しさん
垢版 |
2022/10/01(土) 09:50:20.55ID:TxHdfIOV
nodeとgoとrustで/helloを受け取ったら、hello worldと返すだけのAPIを立ててベンチマークしたんだけど何でここまで差が出るかわかる人いる?30倍も違うんだけど
12スレッドのwsl linuxだけどtaskset -c 1で1コアに制限しても
Goでは 36345.50rps avg102.03ms, Rustでは 82382.92rps avg43.57ms と依然として差があるんだが
シンプルなAPIでもここまで差が出るんだから、Nodeは論外ってことなのかな
コード: https://pastebin.com/cWdaC2rZ

wrkを使用
$ wrk -c 4000 -d 5 http://localhost:3000/hello

node (express)
Thread Stats Avg Stdev Max +/- Stdev
Latency 466.94ms 73.50ms 669.37ms 81.57%
Req/Sec 4.09k 678.72 4.82k 82.98%
38284 requests in 5.07s, 8.73MB read
Requests/sec: 7547.73
Transfer/sec: 1.72MB

go (net/http)
Latency 8.72ms 5.33ms 102.98ms 96.17%
Req/Sec 122.50k 6.37k 135.10k 69.57%
1163747 requests in 5.10s, 144.28MB read
Requests/sec: 228242.97
Transfer/sec: 28.30MB

rust (active-web)
Latency 8.77ms 3.15ms 31.07ms 76.16%
Req/Sec 115.76k 18.13k 156.46k 62.22%
1085310 requests in 5.08s, 133.52MB read
Requests/sec: 213464.53
Transfer/sec: 26.26MB
0586デフォルトの名無しさん
垢版 |
2022/10/01(土) 11:22:52.62ID:TxHdfIOV
IO処理が主体ならそんなに変わらない認識だったけど10行程度のWebAPIでここまで変わると思ってなかった
0589デフォルトの名無しさん
垢版 |
2022/10/01(土) 12:47:40.48ID:bVj73OG1
Goは1コアに制限したらGCのペナルティが大きいんじゃね。今は複数コアある前提でコンカレントマークでしょ?
0590デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:00:54.63ID:d18GHPyd
>>584
起動時にモジュールを大量に読み込んでるしJITもしてるからそんなベンチじゃ遅いのは当たり前
0591デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:02:43.96ID:d18GHPyd
スクリプト言語とコンパイル言語を比較する場合はランタイムのオーバーヘッドに差がありすぎるのだから
そこで差が出るようなベンチは無意味
実際のアプリケーション相当の処理を想定しないと
0592デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:24:49.19ID:TxHdfIOV
>>590
はあ?
1分やっても2分やっても全く同じだけど?
もしかして平均の意味すら知らないのかな?
0594デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:35:05.69ID:TxHdfIOV
>>593
いやだから10秒だろうが1分だろうが5分だろうが変わらないって
偉そうなこと言ってるのはお前だろ

あらゆるノイズを排除してここまで差が出るんだから起動時のコストなんて関係ないだろ
適当なこと言ってマウント取ってんじゃねーよゴミ
0595デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:42:50.86ID:d18GHPyd
>>594
ゴミはお前
論点ずらしするな
ただのストローマンだぞ
俺の言ったことをまずやれ
そしてそれでも差があるなら反論しろ
それが正当なやり方だろ
お前は手を動かさずに自分の意見が正しいと言ってるだけ

もしかして数分実行しただけでキャッシュができると思ってる?
しかもそんなよくわからんサンプルで?
そもそもキャッシュができる条件など仕様にはない
できない可能性もある
そういうことを含めてのベンチなんだよ
0596デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:44:30.12ID:d18GHPyd
「俺の意見が間違ってる」ことをコードで証明しろ
ストローマンの口八百で語ってもなんの意味もない
それこそただのマウント野郎だろ
0597デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:50:13.47ID:8aXdhr6R
いくらなんでもNode遅すぎで気になるね
レスポンスしてるヘッダの内容とかも比べてみなよ
HTTP/1.1が使われてるのか、cookieセットされてるかとか、keep-aliveはどうかとか
0598デフォルトの名無しさん
垢版 |
2022/10/01(土) 13:50:43.33ID:d18GHPyd
俺の意見を無視するならここに書く意味はないし
はろーわーるどのベンチでnodeは遅いね、で終わる話
ここに書かずに1人で納得しとけ
ここに書く以上何か意見を求めてるんだろ?
その意見を言ってやってるのに無視する
正しい人間の態度とは思えんな
あまりの自分勝手さに怒りさえ覚える
0600デフォルトの名無しさん
垢版 |
2022/10/01(土) 14:07:18.89ID:TxHdfIOV
>>597
試したけどcurl -vで複数回投げた時にconnection left intactとRe-using出るからコネクション使いまわせてるね
HTTP1.1だからデフォルトでkeepaliveになってる
wrkはHTTP1.1対応

Nodeは日付とか色々ヘッダに入ってみたいだから公平な比較にはなってないけどそれにしても差があるすぎると感じるね
0601デフォルトの名無しさん
垢版 |
2022/10/01(土) 14:27:28.59ID:nfi+ceWJ
>>584
Q:なぜ何でここまで差が出るのか?
A:この場合、rust (active-web) は、asyncなどでI/O待ちを切り替え起点とした非同期処理を行うが
goは1リクエストに対してgoroutineが1つ付く。細かく言うとRustはソケットI/Oへ受・送信が終わらないと
次のリクエストは処理待ちになる。
結果はReq/Secに出て高速で(効率的な)スイッチングを行えるgo (net/http)のほうが最終的に処理できる
リクエスト数は高いが、平均処理時間avgはRustのほうがほんの少し速くなる。

goでavgが遅くなるのは、処理中にI/Oを起点としない時分割で別リクエスト処理へ切り替えるために
切り替えコスト+処理コストの合計で1つのリクエストを完了する時間は長くなる

余談だが、wrkは5秒だと並列テストなどをするには短い。より厳密な計測ができるwrk2とかあるが
この場合は並列での負荷テストではないのでそんなに変わらない。ただ最初の1秒が参考にならない
上の例はあくまで1コアだが、多コア高負荷環境(1000同時スレッド・3万リクエスト・30秒ぐらい)だと
50%はgoのほうが速くなり、Req/SecはRustのほうが多くなる

node(express)は、express自体の重厚さJS/TS自体の重さがかなり効いていると思う
0602デフォルトの名無しさん
垢版 |
2022/10/01(土) 14:50:55.94ID:nfi+ceWJ
ただWSLであってもLinuxのbacklog当たりのカーネルパラメータを弄れば結果は変わるかもしれない。
並列・高負荷ではなくても4000コネクションだと標準の状態だと足りない気がする

$ sudo sysctl -a 2>&1 | grep -E 'somaxconn|tcp_max_syn_backlog'
net.core.somaxconn = 128
net.ipv4.tcp_max_syn_backlog = 512
0603デフォルトの名無しさん
垢版 |
2022/10/01(土) 14:57:42.06ID:8aXdhr6R
WSLでやってんのか、WSLってパフォーマンス的にはなんか特徴あるのか?
このあと気が向いたらおれもちょっと気になるとこのベンチ比較してみる
0605デフォルトの名無しさん
垢版 |
2022/10/01(土) 15:59:56.14ID:qXf32HZQ
>>597
その木なんの木。
0606デフォルトの名無しさん
垢版 |
2022/10/01(土) 17:07:51.42ID:nfi+ceWJ
もう1つ言うと高負荷で比べるならrust (active-web) なら、go側はSO_REUSEPORT/SO_REUSEADDRを
効くようにするか、fasthttp系(fiber)などを使用すべきで、net/httpを普通に使っただけだと極限の性能では
無いので注意が必要です、今回は高負荷でないので関係ありませんが
0607デフォルトの名無しさん
垢版 |
2022/10/01(土) 19:35:39.80ID:cdNryapk
利用者数が全然違うので、今はGo言語を使うほうが良いのでは?
もしもRustが使われるようになったなら、その時使えば良い。
今はまだHaskell候補の状態。
そのうちHaskellのように誰も見向きもしなくなるんだろうなあと。
0612デフォルトの名無しさん
垢版 |
2022/10/01(土) 23:39:41.67ID:sINRWAWi
殊更に型の重要性を連呼する人間は、本人が有能か無能かはともかく、自分含めて人間の技能と精度を信用していないというのは確かだと思うよ
0613デフォルトの名無しさん
垢版 |
2022/10/02(日) 05:56:42.85ID:ieoagAHy
>>611
では質問するがなぜMicrosoftはJavascriptは不十分だと認識してTypescriptを開発したの?そして普及したの?
なぜPythonなどのスクリプト言語はしきりに型ヒント機能を追加してるの?

無能は型の重要性を理解できないお前、エンタープライズでは必須
0615デフォルトの名無しさん
垢版 |
2022/10/02(日) 08:25:14.53ID:kfWfVuRd
>>611
みんな無能だよ。

たまに型無しで完璧にやれるやつはいるけど、そういう奴は他の人と一緒に仕事しても自分の高い能力を盾にルールに従ってもらえないから面倒だわ。

一人でR&Dとか調査主体の部署でやってもらうのが無難。
0616デフォルトの名無しさん
垢版 |
2022/10/02(日) 09:29:20.44ID:nK3zLFOq
無能向けのルールに従っていたらせっかくの高い能力を発揮できないじゃん
妥当じゃないの
0617デフォルトの名無しさん
垢版 |
2022/10/02(日) 10:19:17.56ID:/RWx79y8
>>616
ところが >>611 みたいのは能力が高いわけで無いという。
0618デフォルトの名無しさん
垢版 |
2022/10/02(日) 11:45:56.93ID:HCH0ui8L
>>594
>あらゆるノイズを排除してここまで差が出る
全然ノイズ排除できてないじゃんww
意味のないベンチだよ
0619デフォルトの名無しさん
垢版 |
2022/10/02(日) 11:49:28.21ID:nGDo4Vej
>>613
型パズルで開発者にできた感を与えられるから
で実際、型を合わせるだけで正常系は大体うまく動くからね
0623デフォルトの名無しさん
垢版 |
2022/10/02(日) 12:04:09.63ID:37W/LuFO
まあ実際動的型付け言語でやるプロジェクトは
少数精鋭のチーム編成ができないと厳しいわな

メンバーが多くてコミュニケーションコストが高かったり入れ替わりが頻繁だったり下請け孫請けから最低ラインを下回るメンツが入ってくるようなら静的型付け言語のほうが楽
0624デフォルトの名無しさん
垢版 |
2022/10/02(日) 12:30:18.64ID:Bnxz+VO6
>>618
どこができてない?ヘッダに多少差があるとはいえ明確な差が出てるよね
Nodeはhttpモジュール使っても遅いし言語自体がゴミとしか言いようがない
0625デフォルトの名無しさん
垢版 |
2022/10/02(日) 12:34:37.19ID:Bnxz+VO6
APIに存在しうるCPU処理、IO処理を排除してミニマムな状態でもGoやRustと比べるとここまで差が出る

だからISUCONで誰もNodeなんか使わないんだよ
Goは手軽でスピードが出るから人気なのは自明だな
0626デフォルトの名無しさん
垢版 |
2022/10/02(日) 18:32:39.72ID:95XqQzPR
>>622
このスレに居てその質問は流石に不勉強じゃないかな……

静的型付け言語での実装においてもテストはもちろん書かれるよ
当然テストに網羅性は無いわけだけど、型はそれを補ってくれて、テストで調べるべき範囲を絞ってくれる訳だ
スイスチーズモデルにしても型は理論的に一定の範囲に穴がないことを保証してくれるのでテストの良き友だよ

ランタイムやコンパイラの型の実装が間違ってるかもしれないとかいう意見は、構文解析が間違ってるとか最適化が間違ってる並の、有り得はするけど議論するレイヤーが異なる難癖なので無視するよ
0631デフォルトの名無しさん
垢版 |
2022/10/02(日) 20:37:15.64ID:X4ijFCuF
>>630
Rustはプログラムを書き始めるためのcargo new --lib した時にテスト用mod testsの雛形が自動的に生成用意されるくらいテスト重視主義の言語
もちろん強力な型システムによりRustコンパイラがコンパイル時点でデータ競合を含む多くのバグを実行する前に指摘してくれるのも事実
その分だけテスト記述は本来のロジックに関するテストに対して専念できる
0632デフォルトの名無しさん
垢版 |
2022/10/02(日) 20:38:45.06ID:zjrrEOrw
>>630
それって
コンパイラが教えないバグが一部存在してもコンパイラにペナルティがないこと
を問題視しているんだよね

全部教えると断言すればきっと罰を受けるのになあってことだよね
0633デフォルトの名無しさん
垢版 |
2022/10/02(日) 20:47:01.74ID:Vwpwuo9W
>>627
バカにされてる、というか煽られている部分を感じなかった訳じゃないけど、そうだとしても煽ってくる人間は、型とテストが複合的にエラーを減らす手段であって排他なものではないということを、理解していないか少なくとも認識していないので、レスの内容は変わらないよ

大体実装が早くできて楽だよね、っていう動的型付け言語の特性を私は否定するつもりはないし
技術というのはメリット・デメリットを認識した上で選定するものであって、単に煽るだけとか無能呼ばわりするような人間がそれらを認識できてるとは思わないし、もし不勉強と言われたくないならテストを書くという単一の手段がエラーを防ぐという点でどういう十分さがあるのか説明しなきゃ

あと
>>630
Rustだって基本のツールチェーンでテストが実行できるように作られてるんだからテストが必要ないなんで事は少なくとも言語開発チームは思っちゃいないよ
テキトー言わんでくれるかな
0634デフォルトの名無しさん
垢版 |
2022/10/02(日) 21:05:46.88ID:2u4kRfur
>>633
かつての静的型付け言語は型宣言が面倒だったため動的型付け言語は型宣言が必要ない僅かな分だけ有利だった
今の静的型付け言語は自動的に型推論が行われるため動的型付け言語が有利なことはない
実行時デバッグの手間が増える動的型付け言語は劣ったプログラミング言語
0635デフォルトの名無しさん
垢版 |
2022/10/02(日) 21:25:54.32ID:zjrrEOrw
現実は違う
まるで不殺主人公みたいに動的型を殺さないし、コンパイルが通らなかった人を殺さない
検査しかしないくせに結構役に立つのが現実
0636デフォルトの名無しさん
垢版 |
2022/10/02(日) 22:58:21.35ID:5dFyg2Cc
FacebookがRust使ってると自慢レスがあったけど。
それでFacebookは使いにくいのかと納得してしまった。
0637デフォルトの名無しさん
垢版 |
2022/10/02(日) 23:20:02.90ID:/RWx79y8
c++は拡張子が規格で決まってない糞だ
0640デフォルトの名無しさん
垢版 |
2022/10/02(日) 23:57:50.44ID:5dFyg2Cc
>>638
アマゾンが倒産する日も近いな。
0641デフォルトの名無しさん
垢版 |
2022/10/03(月) 00:04:13.05ID:FlGgn4CT
Rust Foundationを共同設立したGoogle, Microsoft, Amazonなど各社は負け組になる可能性ありうる
0642デフォルトの名無しさん
垢版 |
2022/10/03(月) 00:06:35.78ID:U6ww4YhW
型の話はRDBとNoSQLの比較で
schema on writeがいいかschema on readがいいかという話と同じ
どちらか一方がが常に言い訳ではなくそれぞれ良し悪しがある
0644デフォルトの名無しさん
垢版 |
2022/10/03(月) 01:01:23.35ID:8GQ2M+OR
>>642
NoSQLデータベースの多くはschema on readではなく、単に入れたものをそのまま出すだけだ
多くのNoSQLはオンライン性能が重要なため、Elasticsearchのようにschema on writeを使用するものもある
schema on readはむしろデータ分析用途でリレーショナルモデルとSQLで使用される場合が多い
0645デフォルトの名無しさん
垢版 |
2022/10/03(月) 01:23:30.99ID:8DSCRzId
OLTP用かつschema on readなNoSQL DBってあるっけ?
MongoやDynamoDBみたいなKVS+α系はキースキーマとインデックスの併用だから典型的なschema on writeだよな
インデックスなしのスキャン操作はschema on readと言えなくもないけどオンラインでは普通使わないよね
0646デフォルトの名無しさん
垢版 |
2022/10/03(月) 05:58:59.43ID:j+ZBVQFg
>>643
原始的なアセンブラはアドレスに型が無く、アドレスに何が入っているかによって人間が命令を使い分ける。
その状態より型があるほうが便利なのでC言語は支持された。
0647デフォルトの名無しさん
垢版 |
2022/10/03(月) 06:14:28.71ID:g/IsZXX1
a[i]の順序を逆にi[a]と書くのが何故マナー違反かって質問が存在することは誰も否定しなかったので
質問が存在するゆえに型が存在する
0648デフォルトの名無しさん
垢版 |
2022/10/03(月) 10:12:35.74ID:BGisZcin
>>640
判ります
0649デフォルトの名無しさん
垢版 |
2022/10/03(月) 10:14:07.92ID:BGisZcin
>>646
アドレッシング用レジスタとデータ用レジスタの区別も無い罠
プログラムカウンタでさえただのレジスタと区別しないの好き
0650デフォルトの名無しさん
垢版 |
2022/10/03(月) 10:16:41.11ID:BGisZcin
>>637
OSが存在しないファイルシステムも存在しない環境でどうやって拡張子を定義するんだって話
0651デフォルトの名無しさん
垢版 |
2022/10/03(月) 10:19:27.04ID:BGisZcin
>>633
>型とテストが複合的にエラーを減らす手段であって排他なものではないということを、理解していないか少なくとも認識していない

めっちゃ判ります
っていうか煽るためにわざと知らない気付かないフリしてるのかと思える
0652デフォルトの名無しさん
垢版 |
2022/10/03(月) 10:23:00.71ID:TB48Z0Cc
・動的型付け言語 ←動的動作のためメモリ上に型情報が必要となる
・GCあり言語 ←GCのためにメモリ上に一部型情報が必要となる
・GCなし言語 ←基本的にはメモリ上に型情報は必要ない
 (ただし敢えて動的に型を扱いたい時は型情報をメモリ上に持たせる)
0653デフォルトの名無しさん
垢版 |
2022/10/03(月) 11:43:54.89ID:+b5G+0cY
>>644
>NoSQLデータベースの多くはschema on readではなく、単に入れたものをそのまま出すだけだ

schema on readの意味くらいは理解してからレスしろ
0655デフォルトの名無しさん
垢版 |
2022/10/03(月) 12:09:23.06ID:iqvSOKEH
恥ずかしいから>>654こそ調べたほうがいいぞ
schema on readというのはデータ分析や大規模バッチ処理の文脈で出てくる言葉で、Hadoopのように検索時に生に近い形式のデータを力業でフルスキャンする方式だ
データ分析においてはデータの取り込みは柔軟にしつつ読むときに工夫しろというベストプラクティスがあって、それを端的に表している
対してschema on writeってのは普通のRDBやMongoDB、Elasticsearchのような、書き込み時にスキーマ情報を使ってインデックスを作る方式を指す
0656デフォルトの名無しさん
垢版 |
2022/10/03(月) 12:15:37.58ID:FME7tQvo
>>650
それは実行環境であって、開発ビルド環境のソースファイルは関係ねーだろ?
それともお前はOSも無いファイルシステムもない環境で開発ビルドしたことあんのかよ?あ?
0658デフォルトの名無しさん
垢版 |
2022/10/04(火) 00:52:19.50ID:0X2CPyYg
>>657
ム板で、ソースがファイルじゃないなら何?
0659デフォルトの名無しさん
垢版 |
2022/10/04(火) 06:00:39.30ID:/0MiP4cL
>>658
ストリームとかじゃね
あるかどうかは知らんけどワンパスコンパイラなら標準入力からソースもらうとか可能なはず
0660デフォルトの名無しさん
垢版 |
2022/10/04(火) 09:09:48.35ID:k8Tx7LNR
こういうとき絶対>>657本人じゃなくて
横から「○○じゃね?」っていうやつがやってくるの面白いよね
0661デフォルトの名無しさん
垢版 |
2022/10/04(火) 11:43:33.67ID:tBDpfoR6
>>660
知らんけど がついてたらモアベターだったよね。
0662デフォルトの名無しさん
垢版 |
2022/10/04(火) 12:54:23.68ID:b5efofhH
ファイル以外のソースがあるとしてそれがファイルの拡張子が決まってないこととなんか関係あるのか?

知らんけどw
0664デフォルトの名無しさん
垢版 |
2022/10/04(火) 13:44:57.74ID:r+s1ZTqA
そんな話じゃないでしょ…
C++の規格はフリースタンディングも想定してるから、ファイルシステムなんかそもそも規約に入れようが無く、結果、ソースファイルについても何の規約も無い、みたいな話ではないの?
規約が無いかは調べてないけど。
0665デフォルトの名無しさん
垢版 |
2022/10/04(火) 13:59:03.52ID:fLWYqVho
C言語のソースファイルは*.c
そしてヘッダファイルは*.h
決まっていて困ることはない
ファイルシステムがどうこう言い訳してるやつは屁理屈
0666デフォルトの名無しさん
垢版 |
2022/10/04(火) 14:14:34.11ID:ye813FXw
>>662
ストリームに名前なんて無いんだから拡張子なんてつけようがないだろ

>>664
そもそも開発環境とかを規定してる言語の方が珍しいだろ
0668デフォルトの名無しさん
垢版 |
2022/10/04(火) 18:44:15.47ID:OYHWMS0e
>>658
ソースは俺。
0670デフォルトの名無しさん
垢版 |
2022/10/04(火) 19:21:43.31ID:r+s1ZTqA
知ってる範囲ではc#が規格内に拡張子が書かれてるけど、確かに規定では無いな。
0672デフォルトの名無しさん
垢版 |
2022/10/04(火) 21:35:32.21ID:3BE5Mov4
汎用機とかでファイル名の最大長が短くて拡張子使わないケースとかはあるわな
0673デフォルトの名無しさん
垢版 |
2022/10/04(火) 21:49:54.68ID:AC9so0xb
>>671
javaは拡張子やフォルダー構成も決まってたような気がするけど言語仕様なのか単なる開発環境の決め事なのかはよく知らん
0679デフォルトの名無しさん
垢版 |
2022/10/05(水) 17:51:07.30ID:DUWBs0va
c++は
.cpp
.cc
.cxx
.c++
.C
.hpp
.hh
.H
とか節操無さすぎ。
0681デフォルトの名無しさん
垢版 |
2022/10/06(木) 02:02:14.61ID:fggEPvCQ
c言語は UNIX という OSを実装するために作られたものだから
ファイルシステムとは表裏一体だったという歴史は捨てようがない
派生した言語や OS も色々引きずっている
0684デフォルトの名無しさん
垢版 |
2022/10/06(木) 05:57:55.23ID:fggEPvCQ
拡張子の文化が広まったのは、
8ビットマイコン時代にCP/Mが普及したのがキッカケで
CP/M→MS-DOS→windows の系譜で定着したのだろう
当初は、アセンブリ言語のソースや実行ファイルを拡張子で区別したが
高水準言語(高級言語)が次第に移植された
0685デフォルトの名無しさん
垢版 |
2022/10/06(木) 08:26:06.13ID:1S4CXjHy
拡張子の由来
https://ja.wikipedia.org/wiki/%E6%8B%A1%E5%BC%B5%E5%AD%90#%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%AE%E7%94%B1%E6%9D%A5

拡張子は、もともとはDECのオペレーティングシステム (OS) 、たとえば、TOPS-10、OS/8やRT-11に利用されていた。
その後、CP/Mでも採用された。CP/Mのファイル名は8+3バイトの構成になっており、後ろの3バイトが拡張子と呼ばれた。
さらにCP/Mと互換性を取るため、MS-DOSやOS/2、Windowsなどに受け継がれた。現在のWindowsでは3バイトの制限はない。
0687デフォルトの名無しさん
垢版 |
2022/10/06(木) 08:44:08.07ID:fggEPvCQ
そりゃ、K&Rの時代から .c .hが有ったにしても
DECのミニコンを庶民はそうそう導入できない
0688デフォルトの名無しさん
垢版 |
2022/10/06(木) 09:13:49.27ID:MAWAKzq8
そりゃ当然、コンピュータを使っている人への普及の話だろ。使ってもいない人に普及するわけはないが。
0690デフォルトの名無しさん
垢版 |
2022/10/06(木) 09:59:11.55ID:fggEPvCQ
>>689
UNIXとCの話は先に書いたから、
次にマイコン時代の浸透と拡散の話に進めたけど、早かったか
それらの前、BCPL等の時代に拡張子やファイルの概念があったのかは調査中だ
0691デフォルトの名無しさん
垢版 |
2022/10/06(木) 10:07:30.39ID:ojVJdV1x
簡単過ぎるから未解決のまま放置される問題というのがある
アクセルとブレーキどうやって区別するのかとか
拡張子を何にするかとか
0693デフォルトの名無しさん
垢版 |
2022/10/06(木) 14:56:07.85ID:HrpdOifl
>>691
優先度低いためにいつまでたっても解決されない問題とかあるわ。
本来なら時間経過とともに優先度は上げるべきなんだよな。
0694デフォルトの名無しさん
垢版 |
2022/10/06(木) 15:37:24.75ID:HCQdlFdq
ホントに困ってたら優先順位上げるだろ
ずっと低いままと言う事はたいして困ってないってこと
0695デフォルトの名無しさん
垢版 |
2022/10/06(木) 19:23:24.18ID:vU5+2GOh
>>694
追加機能とか便利になる機能とかは困ってるわけじゃないからなぁ。
0697デフォルトの名無しさん
垢版 |
2022/10/06(木) 22:34:31.24ID:Ok1z/xEn
やっぱりヘッダーファイルができた
C言語あたりから拡張子が必要になったんじゃないか
それまではソースファイル一つとオブジェクトファイル一つで
データは外から読んで、外に書き出すものだったから
0698デフォルトの名無しさん
垢版 |
2022/10/07(金) 12:11:11.36ID:d4ub3t4L
そもそもwikipediaをソースにしちゃうひとってω
0699デフォルトの名無しさん
垢版 |
2022/10/07(金) 12:12:35.68ID:d4ub3t4L
>>683
.inc とか .m とかたまに観る
0700デフォルトの名無しさん
垢版 |
2022/10/07(金) 12:14:03.56ID:d4ub3t4L
>>675
.N88 とか .BAS より古いのか
0703デフォルトの名無しさん
垢版 |
2022/10/08(土) 00:54:36.30ID:lWG3uN0c
>>700
Csave命令に拡張子はなかった
何冊か確認した
80年代のキッズ向けゲームプログラミングの本だ
0704デフォルトの名無しさん
垢版 |
2022/10/15(土) 13:35:22.93ID:7x3tyssR
Siv3DやDXライブラリ等のゲーム制作用のフレームワークを使用したくてC++に初めて手を出そうと思うのですが
世の中の風潮がC++での新規開発はナンセンスでありC++を代替する言語(主にRust?)を選択すべきとあるようです
正直C++もRustも構文が複雑ですぐに忘れそうなので、NimかZigが良さそうと感じました
Zigは安定版がまだまだ先なので採用できませんがNimが流行っていないのは何か致命的な欠点があるからでしょうか
0705デフォルトの名無しさん
垢版 |
2022/10/15(土) 13:37:39.38ID:ZvCbuaRx
ゲーム作りたいならunityかc++じゃないの?rustはいずれ台頭するかも知れないけど今はまだ成熟してない気がする。
0706デフォルトの名無しさん
垢版 |
2022/10/15(土) 13:48:06.01ID:7x3tyssR
>>705
Unity等のゲームエンジンは使用せずプログラミング言語(GCは無しか軽めのやつ)でいきたいです
C++のフレームワークは最悪DLL化すればよいので、読みやすくコンパイルや実行速度が速い言語が良いです
総合するとNimが最有力かなと思いました
Nimがなぜこんなにも流行っていないのか不思議でなりません
0707デフォルトの名無しさん
垢版 |
2022/10/15(土) 14:06:33.72ID:F6SpEMOp
C++が嫌、Unityも嫌って趣味でするなら何でもいいけど
もし仕事ならそれは無理があるw
0708デフォルトの名無しさん
垢版 |
2022/10/15(土) 14:14:29.81ID:VwzLwjKk
普通にフレームワーク使えば良くないか?
こだわりがあるわけでもないみたいだし
0710デフォルトの名無しさん
垢版 |
2022/10/15(土) 14:40:37.67ID:nv6vkvQj
Nimは別に致命的な欠陥があるとかではないんだろうけど
わざわざ使う理由もないんだよな
構文が好きな人はいるだろうけど結局個人の好みなので
みんなで移行するほどの動機にはならない
0711704
垢版 |
2022/10/15(土) 14:45:33.73ID:7x3tyssR
レスどうもです
ひとまずC++でいこうと思います
C++20とかで昔よりは書きやすく見やすくなっている気がしますし
何より日本語の参考情報・コミュニティが多いのが長期的に見れば問題発生時に助かるはず
0715デフォルトの名無しさん
垢版 |
2022/10/15(土) 15:50:43.54ID:fXRWKHGk
ゲームそのものを作るのはUnity/UE/cocos2dのいずれか又は全部で、それぞれの1stターゲットの言語を使ってやりつつ、エンジン自作はC++でやればいいと思う
一応Rustもこないだ見たらwindows-rsでDirectX 12も書けるしXamlも食えるようになってたのでナシではない
Windows以外のプラットフォーム向けなら何個かVulkanラッパーあるし
いずれにせよ修羅の道だけど
0716デフォルトの名無しさん
垢版 |
2022/10/15(土) 16:31:40.59ID:i2DHISwU
>>706
ネイティブコンパイラじゃなくトランスレーターだから。
過去トランスレーターで流行ったのはTypescriptしかない。
0717デフォルトの名無しさん
垢版 |
2022/10/15(土) 17:46:33.43ID:2u2iBEwS
>>716
初期のC++もトランスレーターだったから流行らない原因をトランスレーターと言うのはちょっと違うと思うな
0721デフォルトの名無しさん
垢版 |
2022/10/15(土) 19:43:34.04ID:i2DHISwU
>>717
それはMicrosoftが開発言語に採用したからだ。
0724デフォルトの名無しさん
垢版 |
2022/10/15(土) 20:25:42.25ID:53DgTVqf
nim言語は普通にコンパイルして使う場合には
ネティブコードコンパイラと違いはない

nim c -d:danger -d:strip hello.nim

でバイナリの実行コードができるので。
0725デフォルトの名無しさん
垢版 |
2022/10/16(日) 11:35:47.53ID:v1FuyRJe
イケてない最大の理由は名前
kotlinとかnimとか名前がダサい
響きが野暮ったい
0728デフォルトの名無しさん
垢版 |
2022/10/17(月) 01:09:17.45ID:dy8+u3n6
>>726
>>727
俺もそう思う。
初めて見た時なんで錆?って思ったわ。
0729デフォルトの名無しさん
垢版 |
2022/10/17(月) 01:42:41.41ID:WFbt/TKL
ゴタクはいいよ
なんでnimが流行ってないかお前らも考えろよ

おおかたロゴかマスコットキャラがキモかったんじゃねーの
0731デフォルトの名無しさん
垢版 |
2022/10/17(月) 09:05:27.87ID:Ofm9JCy9
流行ってない泡沫言語なんて山のようにあるんだから考えるだけ無駄。
流行っている理由ならまだしも。
0732デフォルトの名無しさん
垢版 |
2022/10/17(月) 10:09:48.88ID:AW6s8izC
まあ流行自体が目的でない限り、真の目的のために流行を犠牲にするのはごく普通の手段でしょ
対価を一円たりとも支払わない方針のほうが珍しい
0736デフォルトの名無しさん
垢版 |
2022/10/18(火) 15:54:59.76ID:CM7CURt5
>>735
> このOSは、デスクトップPCやスマートフォン向けではなく、モノのインターネット(IoT)、おそらくはスマートホームを対象としたものだ。
0743デフォルトの名無しさん
垢版 |
2022/10/19(水) 13:04:51.36ID:6gvt48Sb
ハードを遠隔操作するOSは飽きるんじゃなくてハードが規制される
言語は規制されないから終わらない
0744デフォルトの名無しさん
垢版 |
2022/10/20(木) 06:12:38.97ID:LB7mrsJk
>>741
RTOSだとRustの制約がきつすぎて他の言語と変わらなくなりそうだと思うがね。

特にAliasing XOR Mutabilityをマルチスレッドで有効活用するのはキツイんじゃね?Mutex、RwLock、Atomicの管理で破綻しそうだし、熟成するまでせっかちなGoogleが我慢できるとも思えん。
0745デフォルトの名無しさん
垢版 |
2022/10/22(土) 09:25:03.56ID:gR6VtGLA
Rustが覇権取ってくれるのは一向に構わんがはよ流行れよとw
いつまで同じこといってんのよ~って感じやな
Goが下火になってきてるのはいいことやとは思う
はよGoを滅ぼしてくれよRustさんよぉ
0746デフォルトの名無しさん
垢版 |
2022/10/22(土) 09:59:05.95ID:Kx4jEG6I
Rustも流行らないよ
borrow checkerが厳しすぎる
0748デフォルトの名無しさん
垢版 |
2022/10/22(土) 11:37:42.63ID:7/DIukmA
そりゃあどんな物でもお金と交換できると思ってるならなんでも比較できると思うだろう
0749デフォルトの名無しさん
垢版 |
2022/10/22(土) 13:08:21.47ID:OES5lhv+
>>745
Webサービスに使うならGoで良いんじゃない?
GCあっても誤差レベルだし
ライブラリも豊富だから作りやすいでしょう
非同期ランタイムとか面倒なこともないし
0751デフォルトの名無しさん
垢版 |
2022/10/22(土) 23:03:08.03ID:iDqDSmph
Rustが覇権を握った世界でもCは使われるんじゃないの?
小さなプログラムでもRustが上なのか?
0753デフォルトの名無しさん
垢版 |
2022/10/23(日) 08:05:47.52ID:JTB6G86q
>>751
メモリの開放処理が不要なツールとかだと、明示的にメモリ解放サボれるCが有利なケース作れたりするんかな。
そんなケースで勝てなくてもいいとは思うけど。
0754デフォルトの名無しさん
垢版 |
2022/10/23(日) 08:33:25.76ID:mcEZ9b2B
>>749
正直Webサービスって別にGoじゃなくてもいいよね感半端ない
JavaでもRubyでもC#でもいいし
Goの利点なんて全然ないわ
Goルーチンなんて全然いらんし
0755デフォルトの名無しさん
垢版 |
2022/10/23(日) 09:03:11.53ID:UH4lwye7
>>754
でもISUCONでは一番人気だしスケールしやすく簡単にかけて可読性がよくパフォーマンスが出るのは事実なのでは?
Goが一番輝くのはDockerやKubernetesで使われてるようにクラウド関連の周辺ツールやバックエンドだな

CockroachDBやTiDBで使われてるように、その気になればDBみたいなプログラムにも適している

Rustはとっつきにくさがあるからここまで流行らないだろうね、そもそもGCが気になるケースってのは非常に稀だしOS開発ぐらいでしかまず使われないだろう
GCも当然進化しているわけだからJavaとかと比べてGoの停止時間は圧倒的に短いし、ある程度書き方を工夫することでスタックヒープにわける制御もできる
だからほとんどGCが問題になることもない

あくまでもRustはCを置き換える言語だね
0756デフォルトの名無しさん
垢版 |
2022/10/23(日) 09:15:11.78ID:mcEZ9b2B
>>755
でもいらねーんだよ
JavaやらのGCだってどんどん進化してるし
別にGoじゃなくてもDocker、k8sでスケールできるし
Goじゃなきゃ非機能要件を満たせないなんてことまずねーんだよ
それにエラー処理が糞だからなぁ
0758デフォルトの名無しさん
垢版 |
2022/10/23(日) 10:06:55.74ID:UH4lwye7
>>756
エラー処理がクソってのもお前の感想でしかない
例外の方がクソって考えてる人もそれなりにいるわけなんでね
俺からしたらGoよりJavaの方が終わってる点が圧倒的に多いと思ってるでね
俺はISUCONで一番Goが使われててJavaなんて誰も使ってないっていうデータを示してるわけだが

お前の感想なんか誰も聞いてないよ
0759デフォルトの名無しさん
垢版 |
2022/10/23(日) 10:21:24.89ID:UH4lwye7
スケールできるってのはあくまでも効率よくって話な
ISUCON12の初期実装でもGoとJavaでは5倍ほど差があったとのことだし、同じように実装しても普通に差が出るんだから
当然効率よくスケールできるという話になるわけ
0760デフォルトの名無しさん
垢版 |
2022/10/23(日) 11:03:30.61ID:JTB6G86q
>>758
いやー、Goのエラー処理は適当やってると問題起きた時につらいんだよね。スタックトレース付けてなかったりすると、どこで問題起きてるかがわからない。
スタックトレースをエラー処理に組み込んでないってのが、JVM言語やってた人間からすると信じがたい。
0761デフォルトの名無しさん
垢版 |
2022/10/23(日) 12:37:24.57ID:aumvRfST
軽量スレッドを使った並行並列処理する上で例外は相性が悪いからオミットされて代わりに値として扱ってるってのがまずあるね
Goが作られた最大の理由は効率よくマルチコアを利用するってのだし

Nodeみたいにシングルスレッドなのであれば例外も扱えることができるが
これを両立してる言語は存在しないね
0763デフォルトの名無しさん
垢版 |
2022/10/23(日) 13:46:11.16ID:NS3+KJ7P
実際、D言語にはGCがあるけど、LLVMを使ってるLDCでコンパイルすれば
C++にかなり近い実行速度になるし、GCはそんなに遅くない気はする
0767デフォルトの名無しさん
垢版 |
2022/10/23(日) 14:13:26.72ID:ioVOctq2
>>754
別に書き換える必要はないと思うよ
新規で始めるならGoとかRust使った方が面白いのではないかと言うこと
0768デフォルトの名無しさん
垢版 |
2022/10/23(日) 14:51:49.61ID:/lSuGz6a
そもそもJavaとWebって相性が悪い
なぜならオブジェクト指向とWebの相性がそもそも悪いから
アホがOOPを意識して書くとオーバーエンジリアリングになりがちで、基本的に手続型の方が適してる
Spring Bootとか重厚すぎて終わってる
OOPが向いてるのはGUIとか

public static void mainとかアホじゃねーの
0770デフォルトの名無しさん
垢版 |
2022/10/23(日) 15:54:26.44ID:9PrlG1Sf
違うと思う
相性が悪いわけではなかった
「今後必要になるプログラミング言語」を見てみると当時javaがどう思われていたのかが分かる
0771デフォルトの名無しさん
垢版 |
2022/10/23(日) 16:47:45.25ID:uJU0x2Ru
>>756
「でも」の意味がわからなすぎて草
「Goじゃなきゃ非機能要件を満たせない」なんて、その言語がチューリング完全じゃないみたいじゃん

極論過ぎて言いたいことがぼやけてるぞ
0772デフォルトの名無しさん
垢版 |
2022/10/23(日) 16:48:56.95ID:uJU0x2Ru
>>760
適当にするからでしょ。
そもそもその場で処理しているはずであって、スタックトレースに頼る実質超巨gotoな例外の方がどうかしてると思う。
0773デフォルトの名無しさん
垢版 |
2022/10/23(日) 16:53:17.98ID:Ru+lcIaK
メッセージ送信とかいう概念がwebと相性がいいのは分かる
その概念が何故オブジェクトの概念と密結合になってるのかが分からない
0774デフォルトの名無しさん
垢版 |
2022/10/23(日) 17:12:16.99ID:JTB6G86q
>>772
理想はまぁそうなんだけどさ。現実そうでないコードがどうやっても紛れ込むんだから根性で解決とかは勘弁。
0775デフォルトの名無しさん
垢版 |
2022/10/23(日) 17:25:00.01ID:UH4lwye7
>>774
errcheckとか活用すればいいし、コーディングする際は必ず戻り値を確認すればいい

漏れやすいのは確かだけど、エラー表現が全く統一されてないC、C++に比べると圧倒的に楽なのは事実
0776デフォルトの名無しさん
垢版 |
2022/10/23(日) 19:26:33.97ID:HOBBKeJ+
Rustのエラー処理に慣れると他の言語使えんよ
anyhowとthiserrorのコンボこそあらゆるプログラミング言語のエラー処理のエデンと感じる
0780デフォルトの名無しさん
垢版 |
2022/10/23(日) 22:33:19.11ID:u5B1k/fb
>>776
InvalidArgumentみたいな標準的なのを各レイヤーごとにいちいち自分で名前決めて定義しないといけないのはどうかと思う

プロジェクトがかわってもRust使ってる場合に標準的に使えるエラー型は用意して欲しい
まあanyhowレベルで浸透するならcrateの形でも提供でもいい
0781デフォルトの名無しさん
垢版 |
2022/10/24(月) 00:00:17.86ID:c7GaYtEs
うむ
0783デフォルトの名無しさん
垢版 |
2022/10/24(月) 08:44:13.82ID:Nh76Mk4a
let hoge
try {
hoge = maybeThrow()
} catch (err)
{
エラー処理
}

hogeをここで使用

スコープが分断されるのが嫌い
かといって全部try catchでまとめて囲むのも嫌だ
0786デフォルトの名無しさん
垢版 |
2022/10/24(月) 13:45:05.88ID:SEdanpUe
思いついてやったぞ
3項演算子みたいに書けるトライキャッチがあればいいんだろう
0787デフォルトの名無しさん
垢版 |
2022/10/24(月) 13:46:20.16ID:rCA25jH/
なんでこっちにしなかったんだろう
スコープを考えたら絶対こっちの方が良いのに

try {
.....
catch (e) {
.....
}
}
0789デフォルトの名無しさん
垢版 |
2022/10/24(月) 13:50:06.34ID:SEdanpUe
let hoge = maybeThrow() ? catch(err){
//エラー処理1
//エラー処理2
//エラー処理3
};

こういう見映えだとラムダ式に似てるだろ
0790デフォルトの名無しさん
垢版 |
2022/10/24(月) 18:46:24.56ID:8+UVFZyO
>>787
それも少し数増えたら見づらいだろ。
0791デフォルトの名無しさん
垢版 |
2022/10/24(月) 19:24:34.71ID:m3/1dAn6
そうか?

case e => HogeException
case e => FugaException

みたいにすればすげーわかりやすい気がするが
この構文は前から俺が温めていたものだ
特に出す機会はないがw
0793デフォルトの名無しさん
垢版 |
2022/10/24(月) 22:37:32.41ID:J+qP7U3e
stderrに文字を書き込んでexitしてもターミナルは終了しない
というマルチタスク的なUIを

シングルタスクで擬似的に再発明する機能がcatchだ
catchしなければ全部終了するから
0794デフォルトの名無しさん
垢版 |
2022/10/30(日) 13:17:58.74ID:bFRBVv52
多分岐を前提としたエラーハンドリングはクソだと思うわ
GoやTSみたいに基本一つで必要に応じてエラーハンドラの中で分岐でいい
0795デフォルトの名無しさん
垢版 |
2022/10/30(日) 20:11:15.05ID:LsgJ3Yzj
>>794
それ、エラーハンドリングの書き方の違いで結局多分岐じゃん
0796デフォルトの名無しさん
垢版 |
2022/10/30(日) 20:17:26.90ID:mEHydPb0
スタックフレームを遡る時点でとんでもない副作用だから
今の時代にはふさわしくないわな
0798デフォルトの名無しさん
垢版 |
2022/10/30(日) 21:21:33.37ID:+1c8jgme
日本ではどっちもサッパリだけど海外だとZig>>>Nimだな
次スレはNim外してZigでよろしく
0799デフォルトの名無しさん
垢版 |
2022/10/30(日) 21:21:43.43ID:+1c8jgme
日本ではどっちもサッパリだけど海外だとZig>>>Nimだな
次スレはNim外してZigでよろしく
0802デフォルトの名無しさん
垢版 |
2022/10/31(月) 00:55:44.52ID:8RrIgicz
ZigはZenでケチついたけど、トラブルは片付いたのかね?
0805デフォルトの名無しさん
垢版 |
2022/10/31(月) 12:50:48.82ID:+v2gX208
Goは日付フォーマットがウンコ
0806デフォルトの名無しさん
垢版 |
2022/10/31(月) 14:07:28.91ID:ghuRVpi7
>>794
ワロタw
問題の本質を分かってない
Go推奨してるやつの半分以上はこのレベルなんだよなぁ
0811デフォルトの名無しさん
垢版 |
2022/11/02(水) 09:32:19.73ID:jjpE9iF+
>>810
それはまさにJavaのcatchが多分岐を前提にしているからこそ必要になった構文だよね
後から追加されたってことは実際に多くの人が「多分岐を前提としたエラーハンドリングはクソ」と感じていたということでしょ
バカにされたからって無理筋でつっかかるなよみっともない
0812デフォルトの名無しさん
垢版 |
2022/11/02(水) 10:05:26.78ID:E44dP1ZR
本質を選択する
本質に集中する

メンバーを書かなければ中身のないただの箱になる
0814デフォルトの名無しさん
垢版 |
2022/11/02(水) 13:33:21.09ID:2ZJAy0Zn
そもそも多分岐を前提としてないエラーハンドリングなんてないからw
0815デフォルトの名無しさん
垢版 |
2022/11/02(水) 15:11:19.41ID:W1v41eym
>>814
多分岐を想定してるのと多分岐が大前提でデフォなのはデザインの志向としては全然違うでしょ
例えばGoの言語仕様をデザインする上でそりゃ多分岐のエラーハンドリングを想定していないわけはないけど、結果としてエラーの多分岐に対する第一級のサポートは何もない
0816デフォルトの名無しさん
垢版 |
2022/11/02(水) 18:28:17.60ID:GwKq235T
スマン、こいつの言ってる多分岐のエラーハンドリングってはいったいどういうコードなのか誰かエスパーしてくれんか。
0817デフォルトの名無しさん
垢版 |
2022/11/02(水) 18:33:51.20ID:m8w2BBVr
そもそも「多分岐」ってワードが聞き慣れないので
話が耳に入ってこない
自分で言葉作っちゃうやつと議論してもムダに終わる
0818デフォルトの名無しさん
垢版 |
2022/11/02(水) 18:44:46.71ID:ZqFrwRdn
>>816
catch (〜) {
}
catch (〜) {
}
...

みたいなのじゃね?
こっちの方が中でifするよりネストが減ってエレガントだよね
0819デフォルトの名無しさん
垢版 |
2022/11/02(水) 18:52:44.54ID:OGyWRdOS
>>818
tryのネストがあるだろ。
ネストの深さだけでいうとifのほうがどちらかというと分があるんじゃね。

Goのエラー処理は、そもそも大域脱出したいとかスタックトレースをたどらないといけないような呼び出し階層の深いコード書くなというメッセージ的な側面もありそう。
0821デフォルトの名無しさん
垢版 |
2022/11/02(水) 19:01:47.22ID:oICVsRnV
まあ呼び出し階層を削減しろって意見は分からんでもないが
それはエラーハンドリングとは別ベクトルの問題だろ
0824デフォルトの名無しさん
垢版 |
2022/11/02(水) 19:45:11.50ID:HzsLyTHT
Rustの可能性、なw
0826デフォルトの名無しさん
垢版 |
2022/11/02(水) 20:02:06.24ID:5K2+hbiB
Webで型なんかいるか?
型チェックしてエラーになっても死ぬのは許されないから
適当にごまかす処理を書くしかない
厳密なチェックしてもかえって厄介であんまり意味ないと思うんだよな
0828デフォルトの名無しさん
垢版 |
2022/11/02(水) 20:49:43.63ID:xJvT1Cbm
IsやAsやtype switchやvalue switch使って
シコシコと手動でネストさせたコードを書かなきゃいけないのがクソじゃなかったらなんなんだろうな
0829デフォルトの名無しさん
垢版 |
2022/11/02(水) 21:14:35.40ID:92BXP9jc
>>823
Typescriptは文法好きだけどこうやってあっという間にエコシステム入れ替わるから真面目なバックエンド、ビジネスでは使えんのよね
フロントはいつか総とっかえするからまあいいかって感じだけど
0831デフォルトの名無しさん
垢版 |
2022/11/02(水) 22:02:22.20ID:E44dP1ZR
extern "C" 以外のABIが意味不明 → 全部静的リンク → 一部変更があれば全部入れ替える
0832デフォルトの名無しさん
垢版 |
2022/11/02(水) 22:17:31.20ID:jyU6y3CY
正直ここまでコンパイル前提にするならJSとの互換性なくても良くねーか?
開発者のレベルが上がってるし
そこはもう割り切ってやろうよ
0833デフォルトの名無しさん
垢版 |
2022/11/02(水) 22:45:19.27ID:jjpE9iF+
TypeScriptには変換後のJSに対してハックを入れない(ただしbabelを目的とする場合は除く)というポリシーがあるようで、
JSに対する後方互換性よりもそっちの方が重い足枷になっている
0837.NET MAUI HighScool
垢版 |
2022/11/03(木) 11:03:31.92ID:P57hKE9o
すまん最近Blazor始めたけどTypeScript使うならC#使ったほうが良くね?って結論出てしまったわ
動的型付け言語だしオブジェクト指向だし作った人同じだし
0838.NET MAUI HighScool
垢版 |
2022/11/03(木) 11:05:23.52ID:P57hKE9o
>>825
C#でいいもんなw
C#はバックエンドで使用可能だからハイブリット運用が楽
Node.jsとかいらんかったんや
0839.NET MAUI HighScool
垢版 |
2022/11/03(木) 11:07:05.12ID:P57hKE9o
すまんなんか勢いで動的型付け言語って書いたけど静的型付けだったわ
0841デフォルトの名無しさん
垢版 |
2022/11/03(木) 11:44:07.71ID:tn2ZhR3p
ふつうは用途によって使い分けると思うがBlazorとか言っているからWebアプリの話か。
UIフレームワークがRazorってところがネックだな。WPFなんかが使えたら喜んで乗り換えるんだが。
0842.NET MAUI HighScool
垢版 |
2022/11/03(木) 12:02:08.40ID:P57hKE9o
>>841
これ
XAML最強!!
0844.NET MAUI HighScool
垢版 |
2022/11/03(木) 12:05:38.67ID:Kj7ywx2W
>>843
なぜ?
React使う必要ある???
0846.NET MAUI HighScool
垢版 |
2022/11/03(木) 12:44:06.01ID:Kj7ywx2W
>>845

ウェブコンポーネントの概念知らない?
0847デフォルトの名無しさん
垢版 |
2022/11/03(木) 12:59:20.91ID:tn2ZhR3p
>React使う必要ある???
>ウェブコンポーネントの概念知らない?

この2つの質問はどう繋がっているんだろう?
0848.NET MAUI HighScool
垢版 |
2022/11/03(木) 13:06:37.73ID:fiCeisHS
>>847
Reactを使う必要があるか?に対してHTML,CSSを使うのはめんどくさいからという問いが帰ってきたわけだな
それで俺はHTMLやCSSをゴリゴリ書く必要がないコンポーネント使えばよくね?
と返したわけだ
0849デフォルトの名無しさん
垢版 |
2022/11/03(木) 13:13:35.86ID:tn2ZhR3p
>ウェブコンポーネントの概念知らない?



>それで俺はHTMLやCSSをゴリゴリ書く必要がないコンポーネント使えばよくね?

という意味だったと?
わかんねーよw
0850.NET MAUI HighScool
垢版 |
2022/11/03(木) 13:21:39.39ID:lb4yYaZW
まぁ伝わりづらかったのはすまんと思ってる
だがまぁ言いたいことは伝わったしいいや
0853デフォルトの名無しさん
垢版 |
2022/11/04(金) 17:16:01.21ID:GPuumgjE
うねいへの要望

・受け取りボックスの下の次ページと最終ページの間に次10ページと次100ページを追加する
・カードを選択した場合に、ピックアップ機能で絞り込んだ場合、絞り込み外をグレーアウトでなく非表示にする
・1つ1つ開封する機能に加えて、一斉開封機能を追加する
・開封したものがハロの場合、指定した機体に自動で合成する機能を追加する

開封を楽しむゲームじゃないんだから、ユーザの気持ちを考えて、ちゃんと利便性を上げるように!
0857デフォルトの名無しさん
垢版 |
2022/11/04(金) 19:56:14.70ID:5+z9Ldzg
0.1アップするのに10ヶ月かかったことから計算すれば
1 = 0.100.0 とすると
72年後くらい
0858デフォルトの名無しさん
垢版 |
2022/11/04(金) 20:58:27.13ID:DH/gCa9u
そんくらいは人月の威力でどうにかなるでしょ
作業者が10人だとすれば72年
100人で7年
700人だと1年

世界中から参加者を募ると爆速になる
0860デフォルトの名無しさん
垢版 |
2022/11/04(金) 21:22:30.60ID:DlOGKIwq
「人月の威力 - 納期を短くする銀の弾丸」フレデリック・ブラックス
0861デフォルトの名無しさん
垢版 |
2022/11/04(金) 22:04:16.66ID:cCcP5R7t
低位な階層のライブラリがそろえば、
高位階層のライブラリ開発・機能実装が捗り、
メジャーアップデートは目に見えて進むことであろう
0862デフォルトの名無しさん
垢版 |
2022/11/04(金) 23:47:10.54ID:DH/gCa9u
その前提条件はどうやって満たされるかと言うと、やっぱり集まる人数が増えるからじゃなかろうか
0864デフォルトの名無しさん
垢版 |
2022/11/04(金) 23:56:01.86ID:cCcP5R7t
もちろん、あらゆるプロジェクトに共通する事だが
「そうであったらいいなあ」という願望を含む
0865デフォルトの名無しさん
垢版 |
2022/11/05(土) 00:52:15.14ID:mvfmSa9B
>>729
流行ってないのは確かだが
流行れば良いってもんでもない
0869デフォルトの名無しさん
垢版 |
2022/11/05(土) 13:26:33.21ID:sgQIqiUv
なぜ流行ったかとするとやっぱり魅惑的な音の響きだな
つまり人前で堂々とパイパイと発音すること自体が主目的だ
0870デフォルトの名無しさん
垢版 |
2022/11/05(土) 18:40:47.55ID:ZY0dHsRZ
やっぱりキラーフレームワークやライブラリがないといかんね
大抵流行ったもんにはそういうのがつきもんや
0872デフォルトの名無しさん
垢版 |
2022/11/06(日) 02:49:08.91ID:DM24i0Wt
GCするなら思い切ってbetter pythonに舵を切っても良いと思うが
python使いならトランスパイラとか気にしないだろうし
0873デフォルトの名無しさん
垢版 |
2022/11/06(日) 06:32:56.43ID:w3pjOZVr
GCといえば結局V言語は詐欺だったの?
0874デフォルトの名無しさん
垢版 |
2022/11/06(日) 06:49:26.74ID:w3pjOZVr
https://github.com/Naotonosato/Clawn
> メモリ管理
> Clawnはプログラム中の値の依存関係を静的に検証し、適切なタイミングでメモリの確保と解放を行うコードを自動的に挿入するメモリ管理機構を持っているため、プログラマがメモリについて意識する必要はありません。
>
> ただし、この機能は実験的で今後さらなる安定化及び最適化がなされる予定です。

次はClawn++でその次がDlawnかな?Clawn#かも
高校生だと思うんだけど勉強大丈夫なのかな?
開成中からどこ進んだんだろ?
0876.NET MAUI HighSchool
垢版 |
2022/11/06(日) 12:32:44.00ID:Am1kuzif
素直にC#使っとけばいいんだよ
0877デフォルトの名無しさん
垢版 |
2022/11/06(日) 12:36:10.71ID:D1klnPle
まあ確かにバックエンド、コンソール、Windowsデスクトップ、マルチプラットフォームならC#で良いと思う
でもフロントはやっぱReact使いたいんだわ
React.NETがあれば移行するんだけどねC#はXMLリテラルが無いから難しいだろうな
0878デフォルトの名無しさん
垢版 |
2022/11/06(日) 18:08:14.48ID:S6zCBHE1
>>877
XMLリテラルなんてJavaScriptにもないが。
JSXのことならあれプリプロセスで事前に単純な関数呼び出しに変換(たいていBabelで)してるだけだぞ?
<Foo><Bar attr1="test"/></Foo>

React.createElement(Foo, null, React.createElement(Bar, {
attr1: "test"
}));
難しいもクソもない
プリプロセスなんだからあらゆる言語に同等なものを作れるだろう
価値を見出だされないないから作られないだけで
0879デフォルトの名無しさん
垢版 |
2022/11/06(日) 18:19:41.71ID:uB3qlRsw
>>878
プリプロセスで処理されるとか具体的な解析実装はどうでもよくて
TSXという言語の文法としてはあの要素はXMLリテラルとしか言いようがないだろう
0880デフォルトの名無しさん
垢版 |
2022/11/06(日) 18:46:39.02ID:S6zCBHE1
>>879
じゃXML使ったテンプレートエンジンじゃダメなの?
というかフロントでC#が使われないのはXMLリテラル()のあるなしの問題じゃないんだけどな
つまり>>877
> でもフロントはやっぱReact使いたいんだわ
> React.NETがあれば移行するんだけどねC#はXMLリテラルが無いから難しいだろうな
だと、暗にC#にXMLリテラルが無いからC#でReactみたいに書けるReact.NETのようなものが出ないと言ってるようだが、
そうではなく単純にパフォーマンスとランタイムの容量の問題でやってないだけ(あるいはあるのかもしれないけど流行ってないだけ)だと思うよ
C#をフロントで動かすわけだから
知らんけどBlazorとかで挑戦したんじゃないの?
でも流行らなかったのは詰まるところこれでしょ
0884デフォルトの名無しさん
垢版 |
2022/11/10(木) 09:48:20.76ID:udEj1q0c
メモリリークなのかそれ?
0887デフォルトの名無しさん
垢版 |
2022/11/10(木) 13:18:29.70ID:6YuXhhHf
そもそも誰かが安全を約束した記憶がないぞ

まずは記録、次に記憶、最後に安全だ
0889デフォルトの名無しさん
垢版 |
2022/11/11(金) 09:36:33.47ID:hQJMOW1q
つまり漏れても安全と
0890デフォルトの名無しさん
垢版 |
2022/11/11(金) 09:53:10.02ID:BCkqZtDS
問題は2種類ある
消してはいけない記憶を消すのは安全か?
記憶を消した方が得なのに記憶が残っているのは安全か?
0893デフォルトの名無しさん
垢版 |
2022/11/11(金) 16:38:39.70ID:bn0cLj5f
メモリリークってメモリ安全ではないだろ
Rustのメモリ安全性に対する立場誤魔化しすぎやわ
0894デフォルトの名無しさん
垢版 |
2022/11/11(金) 17:30:26.12ID:v14soyBX
メモリリークって処理系が対処しうる脆弱性なのかね。
どんな言語使ってもそこはアプリケーション開発者の責任にせざるを得ない気がする。
0896デフォルトの名無しさん
垢版 |
2022/11/11(金) 17:56:15.97ID:OlJAtaAw
まぁよくあるのがイベントハンドラとかの登録解除忘れで
これはGCでも回収できないよね
そういう意味でもメモリリークは安全性に含まないという立場は妥当だと思うけど
(含めてもいいけど、そうすると全部の言語が不安全ということになるからあまり意味ない)
0897デフォルトの名無しさん
垢版 |
2022/11/11(金) 17:58:17.45ID:+k6SYzmN
それはリソースリーク。広義のメモリリークかもしれんが
0898デフォルトの名無しさん
垢版 |
2022/11/11(金) 18:00:02.42ID:bn0cLj5f
言語処理系自身がどのように努力しても回収できないメモリリークは言語処理系自身のバグでしょ
イベントハンドラの登録解除はプログラマが努力すればリークは防げる
ただrustにはプログラマがどのように努力しても解放できないメモリリークが存在する
だからrustはメモリ安全ではない
0899デフォルトの名無しさん
垢版 |
2022/11/11(金) 18:07:18.89ID:BCkqZtDS
トロッコ問題も2種類ある
命に関わらないケースでじゃんじゃん犠牲者を出すタイプ
命に関わる時だけ突然必要悪や合理主義について語り出すタイプ
0901デフォルトの名無しさん
垢版 |
2022/11/12(土) 12:18:21.51ID:HkbNrqSi
メモリ安全性についてRustばかり注目されてるけど、Ponyも同等以上の安全性だよね
Ponyはアクターモデルで実現している
0902デフォルトの名無しさん
垢版 |
2022/11/12(土) 14:24:46.04ID:bGmFFeXN
>>901
アクターモデルの作り方わかってる?
アクターひとつひとつメッセージ待ち受けのループまわするだぜ?負荷が違いすぎるだろ
0904デフォルトの名無しさん
垢版 |
2022/11/12(土) 15:48:42.14ID:MCjrPOuJ
>>903
お前はポーリングと勘違いしてそう
0906デフォルトの名無しさん
垢版 |
2022/11/13(日) 04:27:18.51ID:RFRBhoEy
https://www.theregister.com/2022/11/11/nsa_urges_orgs_to_use/
> NSA は、組織が C や C++ などのプログラミング言語から、C#、Rust、Go、Java、Ruby、Swift などのメモリセーフな代替言語に移行することを奨励するガイダンスをリリースしました。

るるる、るびぃwwwww
0909デフォルトの名無しさん
垢版 |
2022/11/13(日) 15:04:33.03ID:aD+9aMvk
まあ今から最初の言語としてC/C++選ぶのはかなりレアだろうししゃーないわな
0910デフォルトの名無しさん
垢版 |
2022/11/13(日) 17:21:55.25ID:vYboHCwy
いやいや C や C++ は人気上位言語なので
入門書が売れすぎて品不足になっているだけ
0913デフォルトの名無しさん
垢版 |
2022/11/13(日) 18:50:35.95ID:bDR9q5yR
>>912
基幹系・勘定系はJavaだけど
ウエブサイトのフロントエンジニアは今はなんだろ?
なんだかんだいってRubyかPHPだろ
0916デフォルトの名無しさん
垢版 |
2022/11/13(日) 21:49:19.01ID:A9QXzbsc
>>905
当然pselectのとこを見る。
お前は待ち受けループという言葉をどう思ってんだ?
0917デフォルトの名無しさん
垢版 |
2022/11/13(日) 21:51:55.61ID:A9QXzbsc
>>913
フロントはtypescriptがデファクトスタンダードじゃろ。
勘定系はCOBOLをJavaに書き写しただけのJOBOLだよ。クソ。
0919デフォルトの名無しさん
垢版 |
2022/11/13(日) 22:02:42.83ID:lw1yHv02
>>918
みずほが採用してるってことは、近寄ったらダメってことでは?
0920デフォルトの名無しさん
垢版 |
2022/11/13(日) 22:05:34.78ID:lw1yHv02
>>916
epoll、kqueue、iocpを調べること。
0922デフォルトの名無しさん
垢版 |
2022/11/14(月) 00:23:35.41ID:B0W+bIUk
>>916
うーん、確かにそういう意味ではループ回してるか。すまん、ビジーループでイベント待ってるのを想像してた。
グリーンスレッドにするにしても確かにメッセージポンプ的なのは回すわな。
0923デフォルトの名無しさん
垢版 |
2022/11/14(月) 10:45:40.10ID:y6Y1Fpp9
リソース消費はともかく、各種安全性に関してはアクターモデルは強力だよ
MicrosoftがPonyに影響受けたveronaを公開して研究してるし
0924デフォルトの名無しさん
垢版 |
2022/11/14(月) 11:41:07.23ID:EWF0SvAn
C/C++ のメモリ管理を知ってて
手を抜くために別の言語を使うのは合理的だが
最初から C/C++ を知らなくて良いという結論にはならないな
0926デフォルトの名無しさん
垢版 |
2022/11/14(月) 13:49:53.93ID:eIgzOuJf
アセンブリからCよりも
パンチカードからアセンブリのほうがエポックメイキングだったよな
アセンブリとCはたいして変わらない
複数のターゲットCPUのためにそれぞれアセンブリ書きたくなかったから中間層ひとつ足しただけ
0927デフォルトの名無しさん
垢版 |
2022/11/14(月) 14:14:09.05ID:Y0hbueAA
アセンブラがマクロアセンブラに進化しただけで
それまでと大違いで、いたく感動したものだけどな
ましてC言語に触れた時はなおさら
0928デフォルトの名無しさん
垢版 |
2022/11/14(月) 14:34:42.91ID:izD/E+He
今でもCが一番互換性高い言語になってるってのもなんか不思議な話だわな。
0930デフォルトの名無しさん
垢版 |
2022/11/14(月) 14:50:40.71ID:wEGeH3Iy
言語ランキング、首位Pythonが差を広げる中、新興言語でトップ20に入った注目株は?
https://atmarkit.itmedia.co.jp/ait/articles/2211/14/news050.html

TIOBE SoftwareでCEO(最高経営責任者)を務めるポール・ジャンセン氏は、「Rust」が2022年10月にトップ20入りし、11月も20位だったことに対し、次のように解説している(なお、Rustの過去最高順位は、2020年9月の18位)。

将来性のある新興プログラミング言語のほとんどは、ごく短い期間だけ脚光を浴びるものの、本当に流行することはない。われわれは『Kotlin』『Dart』『Julia』といった言語がTIOBEインデックスのトップ20に入るのを何年も待っているが、実現していない。そうした中で唯一の例外がRustのようだ。Rustの人気が上昇している主な理由は、速度と安全性のユニークな組み合わせにある。Rustの今後に要注目だ。
0931デフォルトの名無しさん
垢版 |
2022/11/14(月) 15:35:15.59ID:PuAcHJCB
>>923
リソース消費をともかくで片付けるなよ
Rustみたいな低レイヤのプログラミング言語を語る上では全てといってもいい
Lispがなぜ理想で終わってて実用に向かないかと同じ。なんでも再帰で片付けられれば数学的には美しいが実用的ではない。
0932デフォルトの名無しさん
垢版 |
2022/11/14(月) 18:00:47.25ID:4IOxSrZl
>>931
同意
0934デフォルトの名無しさん
垢版 |
2022/11/14(月) 19:43:38.95ID:n+cPYgBn
>>933
国家安全保障局なんだから、実績のある技術優先だわな。
Rustを推奨するのは実績できてからの話かと。
0935デフォルトの名無しさん
垢版 |
2022/11/14(月) 19:52:43.88ID:xQnZzbyL
ここまでくるとfree ware潰しだろ
企業にハンドリングされてないコンパイラの存在を消そうとしてる
0937デフォルトの名無しさん
垢版 |
2022/11/14(月) 20:03:49.96ID:p8dKwuQs
>>933
C#にすればいいのにMicrosoftからの強力なバックアップ受けれるのになぁ
0942デフォルトの名無しさん
垢版 |
2022/11/14(月) 21:57:00.21ID:0spKxIq+
>>934
よく読んだらRustも推奨してるぞ

米国家安全保障局(NSA)は米国時間11月10日、ソフトウェアのメモリー安全性強化に向けたガイダンスを公開した。同機関はその中で開発者らに対して、ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。
0943デフォルトの名無しさん
垢版 |
2022/11/14(月) 22:04:05.64ID:p8dKwuQs
>>942
Swiftいらんやろ
0945デフォルトの名無しさん
垢版 |
2022/11/14(月) 22:36:44.63ID:0spKxIq+
>>944
なんの分野でもいいからオンリーワンというのは強いよね

メモリ安全性、低レイヤ、NSA推奨はRustだけ
0946デフォルトの名無しさん
垢版 |
2022/11/15(火) 02:43:50.64ID:ca20/bwE
マルチスレッドデータ共有、結局mutexかactorで、stmでも実用的な速度を目指すとロック使ってるし、ロックフリーなstmやconcurrent revisionsみたいなのはなかなか実用に至らないね
0947デフォルトの名無しさん
垢版 |
2022/11/15(火) 13:53:17.58ID:3DYuAvvv
そもそもそんな細かい並列処理する?
Webだと、複数台に分散する必要がある程度に十分な数のリクエストがあるなら、CPUバウンドな処理をローカルで並列化する意味はほぼ無いからね
0948デフォルトの名無しさん
垢版 |
2022/11/15(火) 13:56:07.55ID:3DYuAvvv
ああ、もちろん画像処理みたいな単純に処理対象のデータ量が多いケースは別ね
でもその場合は並列処理といってもデータ並列なんで、結局ループを並列化してぶん回すだけであって>>946が期待してるような問題とはだいぶ違うよね
0949デフォルトの名無しさん
垢版 |
2022/11/15(火) 15:10:13.06ID:Kpdpji3q
並列分散処理もいまや多岐に渡ってるから
ドメインによって問題が全く違うのよ
だから自分がしないからといって決めつけは良くない
0950デフォルトの名無しさん
垢版 |
2022/11/15(火) 15:29:04.50ID:9VxI8XKq
シングルスレッドのプロセスが、それぞれ複数のリクエストを処理するnginxは一定の成功をおさめた
0951デフォルトの名無しさん
垢版 |
2022/11/15(火) 16:45:12.55ID:Pkz2dKzE
決めつけてるんじゃなくて、実際のユースケースを知りたいんだ
反例も挙げずに人それぞれとだけ言われても、それこそ決めつけじゃないかな?
>>949はどんな並列処理してるのか教えてほしい
0952デフォルトの名無しさん
垢版 |
2022/11/15(火) 17:45:58.35ID:eVxjcBbe
解きたい現実の問題がない計算方法がロックフリーかつ超並列可能でもしゃーねーからなぁ。
0953デフォルトの名無しさん
垢版 |
2022/11/15(火) 17:47:55.58ID:eVxjcBbe
分野は違うけどニューラルネットワークとかも応用が見つかったから寂れてた分野が再び脚光浴びたわけで。
0954デフォルトの名無しさん
垢版 |
2022/11/15(火) 19:53:37.58ID:eF4hIM3d
>>951
まず数値計算で使ってる
ゴリゴリの差分法(単なるクソでかい連立方程式)を解く
これを解くのに行列演算をするのだがこれにCUDAを使ってる
これはいわゆる「データ並列」
行列演算の個々の要素は完全に独立しているので並列処理が可能
GPUのグリッド、ブロック、スレッドを使った超並列処理をしている

次にそれらの計算を行うためのジョブキュー
これはグローバルに一つのキューがあって計算ジョブをエンキュー、デキューする必要がある
ここでキューの実装にロックフリーアルゴリズムいわゆるcompare and swapを使ってる
これを使うことでミューテックスにかかるコストをゼロにしながら高速にキューを処理できる

俺が普段並列処理をしている分野はこの程度だからしょぼいよ
分散環境の並列処理は分散サーバーに対してロックを取ったり
リーダー選挙問題などさらに上位の概念をしなきゃならんのでさらに難しい
0955デフォルトの名無しさん
垢版 |
2022/11/15(火) 20:31:52.61ID:xp9I7k3E
目的が不明の仕様が最初から入っているのは仕様変更しないことが目的なんだろう
用途が判明してから言語仕様変更するのはJavaやGoのジェネリクスのようなパターン
0956デフォルトの名無しさん
垢版 |
2022/11/15(火) 21:50:49.27ID:9VxI8XKq
>>953
ディープラーニングは単なる応用じゃないぞ
リントンがやったことは応用じゃなくてブレークスルーだよ
しかもまだなぜそれがうまくいくのかわかっていないw
0962デフォルトの名無しさん
垢版 |
2022/11/21(月) 19:58:15.79ID:IKdpJ0JM
次スレはZigとJai言語入れてください
Nimは引退で。
0963デフォルトの名無しさん
垢版 |
2022/11/21(月) 20:10:04.47ID:IKdpJ0JM
あとCarbonとCppfrontも入れて
SwiftとKotlinは引退で。
0967デフォルトの名無しさん
垢版 |
2022/11/22(火) 00:53:36.22ID:hmrGHcvb
RustとRubyは宣伝は凄いけど実力がイマイチだから、次スレからOUTで。
0968デフォルトの名無しさん
垢版 |
2022/11/22(火) 09:57:46.60ID:E0zMoWY7
CarbonてObjective-CだかNeXTstepとかで聴いたようなMacのだっけ
0970デフォルトの名無しさん
垢版 |
2022/11/22(火) 10:43:28.61ID:iGHsIGH/
Zig製スクリプト言語buzz
これも入れよう
https://github.com/buzz-language/buzz
なんでクラス作る構文がObjectなんだろう?
0972デフォルトの名無しさん
垢版 |
2022/11/22(火) 11:05:19.38ID:sBrr6Sw1
zigにはstructはあるがclassがまだ無いので遠慮してobjectを使った
つまりzigには今後c++のようにclassが増える可能性がある
……あたりだと思われる
0973デフォルトの名無しさん
垢版 |
2022/11/22(火) 11:13:09.17ID:thiNKMR8
Zigは一番残る可能性高そうだけどまだエコシステムがどうとかって段階じゃないし、消えてもおかしくはない
CarbonもGoogleはしれっと捨てそうだからChromeあたりに本格的に使われるようになるまでは信用し難いなぁ
0976デフォルトの名無しさん
垢版 |
2022/11/22(火) 17:26:04.85ID:iGHsIGH/
Passerineも面白いから入れよう
まさに次世代言語だし
0977デフォルトの名無しさん
垢版 |
2022/11/23(水) 12:03:19.93ID:+TTinBC0
>>958
Goのその仕様はわかりにくい上に使い勝手もよくないね
バグを引き起こしやすいから要注意だわ
0978デフォルトの名無しさん
垢版 |
2022/11/23(水) 13:46:41.35ID:N4dyVbxu
https://gigazine.net/news/20221117-github-top-programming-languages-2022/
GitHub上で使用されている2022年の最も使用されたプログラミング言語
1位:JavaScript
2位:Python
3位:Java
4位:TypeScript
5位:C#
6位:C++
7位:PHP
8位:シェルスクリプト
9位:C言語
10位:Ruby

2022年に前年比での使用率が最も増加したプログラミング言語
1位:HCL(成長率56.1%)
2位:Rust(成長率50.5%)
3位:TypeScript(成長率37.8%)
4位:Lua(成長率34.2%)
5位:Go(成長率28.3%)
6位:シェルスクリプト(成長率27.7%)
7位:Makefile(成長率23.7%)
8位:C言語(成長率23.5%)
9位:Kotlin(成長率22.9%)
10位:Python(成長率22.5%)
0982デフォルトの名無しさん
垢版 |
2022/12/05(月) 07:29:17.99ID:XXTz1qaC
Rustたかが50行程度のWebAPI作るだけでアホみたいな量の依存ライブラリをダウンロードしてコンパイルくそ時間かかるごみ
なんで正規表現、base64、hash、urlエンコードとかやるためにいちいちサードパーティのライブラリ入れないといけないの
これぐらい標準ライブラリで用意したらどうなの
0983デフォルトの名無しさん
垢版 |
2022/12/05(月) 07:44:46.63ID:bhWGpu9k
世の中全部webだと思ってるごみ
0984デフォルトの名無しさん
垢版 |
2022/12/05(月) 08:14:08.56ID:XXTz1qaC
WebAPIは例に挙げただけで
あらゆるアプリで大量の依存ライブラリを必要としてクソビルド遅いのがゴミって言ってるんだが
ハッシュbase64正規表現なんてなんでも使うだろ
0985デフォルトの名無しさん
垢版 |
2022/12/05(月) 11:45:00.28ID:9YGPhFSH
>>982
Rust は
> 正規表現、base64、hash、urlエンコード
なんてものを使わない用途にも使われるからね
0986デフォルトの名無しさん
垢版 |
2022/12/05(月) 12:28:14.70ID:XXTz1qaC
他の言語には当たり前にある内容だけど使わなければ当然バイナリには含まれないぞ
その辺用意してないのはただの怠慢でしかない

仕事で使う以上脆弱性対応やバージョンアップが面倒だからRustは論外だな
そもそもコンパイル言語じゃなくてスクリプト言語が流行った理由はコンパイルが遅すぎで生産性悪いからだし
Rustは遅すぎるからイライラするわな
0987デフォルトの名無しさん
垢版 |
2022/12/05(月) 12:46:00.72ID:tFqLd8mg
なんの目的でRustを検討してるのかしらんけど、
Rustはシステムプログラミング言語で、最大の競合はC/C++だよ

元々C/C++のような低水準言語を使ってたわけじゃないのなら、Rustが代替になれる可能性は低い
0988デフォルトの名無しさん
垢版 |
2022/12/05(月) 12:57:54.60ID:m5vf/Aut
システムプログラミング言語なわけだから
それこそ、正規表現なども
言語自身でいい感じで実装する底力があるはずだ
0990デフォルトの名無しさん
垢版 |
2022/12/05(月) 14:36:38.81ID:9YGPhFSH
>>986
> そもそもコンパイル言語じゃなくてスクリプト言語が流行った理由はコンパイルが遅すぎで生産性悪いからだし
君は一生スクリプト言語使ってなさいw
0992デフォルトの名無しさん
垢版 |
2022/12/05(月) 20:21:06.16ID:8vJxsC/m
文句あるならWebはGoかJVM系いっとけという感じはあるな。
それだと到達できないパフォーマンスを求めて初めてRustの出番。

とはいえ最近は初手Rustでもそこまで困らない下地ができてきた感はあるね。
0994デフォルトの名無しさん
垢版 |
2022/12/05(月) 22:47:23.74ID:qyTc+H1E
ライブラリの維持管理問題はRustの最大の弱点
crate探しやアップデートの負荷を軽くする仕組みはみんな求めてる
0998デフォルトの名無しさん
垢版 |
2022/12/07(水) 13:38:24.38ID:wqy1K1SQ
糸冬
1000デフォルトの名無しさん
垢版 |
2022/12/07(水) 14:50:46.71ID:UJesrsXI
>Scudo hardened allocator, HWASAN, GWP-ASAN, and KFENCE on production Android devices
すげえC++安全性ツールの進化と成果だな。
もうRust要らないな。
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 80日 19時間 44分 57秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。