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

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

前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
2022/05/15(日) 09:50:12.91ID:C1KM65Ry
自分がすごくプログラミングが出来る自負があるから、コンパイラに怒られるとプライドが傷つくから嫌だって言ってるようにも見える
2022/05/15(日) 09:52:43.88ID:lixSo2ZB
ひろゆきは賢いからコンパイラは余計なことを小うるさく言わんでいいって感じ?
543デフォルトの名無しさん
垢版 |
2022/05/15(日) 09:52:58.51ID:WKOj7Eq4
自意識過剰で被害妄想だな
コンパイラは怒ってるのではなくて指摘してるだけ
2022/05/15(日) 10:06:42.86ID:6dsDjrbs
The compiler is your friend
2022/05/15(日) 10:31:50.86ID:C1KM65Ry
Rustのコンパイラに怒られるってことは所有権のシステムとかが全然理解できてないんだと思う

前の職場にもc/c++を数十年やっててrustを毛嫌いしてる人何人かいたけど、今更自分がコンパイラに指摘されまくるのがプライドが許さないんだろうな
2022/05/15(日) 10:45:11.53ID:duXfvT8B
>>542
「ゆき ひろ」なw
2022/05/15(日) 11:08:18.85ID:68DnPwxB
人間の理解を超えたところから怒られるのは違うかなと
それってプログラムなのか?
2022/05/15(日) 11:12:52.72ID:68DnPwxB
囲碁や将棋はもうAIの方がかなり上に行っちゃって誰もAIに勝てない
プロも含めてAIの手を研究してるけど理解できないのがかなりある

それを意味も分からずただなぞって指してる人もいる

プログラムはそのレベルじゃないけどそういうものに近づいてる
2022/05/15(日) 11:25:25.72ID:+6kSxcdv
デバッグ含めた開発効率の良さを考えると可能な限りコンパイル時に怒って欲しいかな
コンパイラが怒ってくれる > ランタイムが怒ってくれる > 誰も怒ってくれない
550デフォルトの名無しさん
垢版 |
2022/05/15(日) 11:45:48.58ID:cL2R0opO
プログラムを書いてエラーが出ると「自分が否定された」「尊厳を奪われた」と感じる人もいる、という話
https://togetter.com/li/1698737
2022/05/15(日) 11:57:01.15ID:UbJQuPTx
ランタイムは運良くバグを踏まなければずっと怒られずに済むのに対してコンパイラは必ず怒られるから
前者の方がいいって人もいるんだろうね
2022/05/15(日) 12:21:03.73ID:uEAI3vEe
ドMなので
2022/05/15(日) 12:28:05.42ID:0scjaaG3
コンパイルが通って、いざ実行してみたら
「segmentation fault.」とそっけなく言われるのもまた一興
2022/05/15(日) 12:43:05.95ID:wf2KlSEE
>>545
そうゆう浅はかな考えは恥をかく元。常に所有権を意識しなきゃならないので、言うなら、呼び出される上のほうでロックしてても
複数スレッドでアクセスして安全なのに、所有権をいちいち意識しなきゃならないという事だ。
Rustはスクリプト言語の作者からすれば、面倒な記述が多すぎると感じて当たり前
強いて言えば、こういう浅い奴がマウントとってる現状のRustコミュニティは反吐が出る、Rubyコミュニティも好きでもないけど
2022/05/15(日) 12:56:50.39ID:+mKsOYSe
>>554
貴殿も的外れ
2022/05/15(日) 14:03:03.21ID:8BbShedD
そろそろ指摘するんじゃ無くて、勝手に直したり、良きに計らって欲しい。
2022/05/15(日) 15:06:40.70ID:v+sSFlFE
>>545
実はそういうは人を排除するためだけにRustのプロジェクトを立ち上げたりしてる組織もある
2022/05/15(日) 15:29:27.60ID:2Vop47w6
陰湿やなあ
2022/05/15(日) 16:17:30.31ID:SzIUVHZr
今のコンパイラはエラーが起きた行を指摘するけど
「この辺がちょっと気になります」
と指摘してくれるコンパイラが
そろそろ出てきてもいいような気がする
エラーの種類はそんなにないと思うので
2022/05/15(日) 16:25:25.34ID:VMVrIVgn
静的解析ツールなら前からあるぞ。高いけど。
2022/05/15(日) 17:05:02.60ID:68DnPwxB
松本が所有権を理解してないんじゃないと思うがw

まっつの言うこととこのスレの指摘はずれてると思う
松本の言ってることを理解してないだけ

気を付けて普通に書いてバグが出ないのが普通
それでも日常的にコンパイラに怒られるのは人間じゃなくて言語がおかしい
2022/05/15(日) 19:34:19.11ID:bvYh9RC/
なんか最近開発に興味なくなってきた
こんな時みんなどうしてるの?
プログラミングだけが俺のアイデンティティだったのに
死ななきゃいけない?
2022/05/15(日) 20:04:07.82ID:ezWJ6neI
さぁ?江頭2:50見て元気を貰うとかかな
2022/05/15(日) 20:21:42.85ID:Fhttg/Du
>>563
あ?バカにしてんの?
2022/05/15(日) 21:31:15.68ID:Wjdq3fA+
最近のげんこはprintをpirntとか書くと、
候補を提示してくれるよね。
あたまいい!!
2022/05/15(日) 23:05:43.75ID:QlsYdN5b
>>556
一部のコンパイルエラーは修正コード提案してくれるしIDEからボタンぽちで修正できるから、
それ発展させて意図が不明確なコードでも何種類か修正候補出してくれるようにならないかな
2022/05/15(日) 23:18:12.92ID:yIEtIhqx
>>565
Qiitaに投稿された「TypoScriptを作った」を思い出した
レーベンシュタイン距離が近ければOKっていうネタ言語
2022/05/16(月) 05:52:10.13ID:x9xW3Kri
>>562
ぼくも(´・ω・`)
2022/05/16(月) 07:12:48.31ID:3AP7f9yS
英語圏のフォーラム見に行くくらいモチベあったのにな
2022/05/16(月) 08:44:14.30ID:IfoxgD2F
>>545
Rustはマナー講師みたいなものだろ。
Rustが望ましいと考えるスタイルを強制して他のやり方を許さない。「なんで?」と理由を聞いても「それがルールだから」とか理解しがたいことしか言わない。

せめて「スタックにデータを保存するため」とか「Cleanみたいに参照透過性と性能を両立させるため」とか言えばいいのに、そういった思想的な背景を説明しないからマナー講師が跋扈する。
2022/05/16(月) 09:01:06.67ID:nGMMRLLq
>>570
それはどのプログラミング言語でも同じ。
いずれの言語も独特のスタイルを押し付けてくる。
もしそれを感じ取れないならば、それは特定のスタイルに慣れてしまっているだけに過ぎない。

例えばわかりやすい例を持ち出せば、リアクティブな言語や宣言的な言語では、
a = b + 100
と記述しておけば、aが変わればそれに応じてbが変わるし、bが変わればそれに応じてaが変わる。
ところがそうでない不便な言語に出会ったときに、
双方向に自動的に変わってくれないために苛立つかもしれない。
2022/05/16(月) 11:59:09.62ID:TAALxp7N
>>571
「それは特定のスタイルに慣れてしまっているだけに過ぎない。」と切り捨てているところに排他的思想&知識マウントを感じるね。

a = b + 100の例は代入演算に対して ("="から一般的に連想される) 「等しい」の意味を適用することにより生じる誤謬。
原理や技術的決定を理解せずに相手にルールを押し付けようとするマナー講師の話とは関係無いな。
2022/05/16(月) 13:13:57.85ID:IoIRdAU7
>>570
むしろスタイルを強制しないプログラミング言語なんて存在するのか?
2022/05/16(月) 13:41:05.21ID:8gGmt1rZ
松本がRust好きじゃないのはまあそうだろうなとは思う。
この人、テストコードとかも好きじゃないとか言ってたし。
個人的にはそれじゃ仕事にならんだろとか思ったりはするけれど、とりあえずこの人のスタンスは一貫はしてるよ。
2022/05/16(月) 18:39:47.20ID:qW5+0T97
>>570
マナー講師はフォーマットみたいな個人の好みレベルの話で
コンパイラが指摘する構文とかセマンティクスはその言語の世界における自然法則みたいなものでは
2022/05/16(月) 19:09:08.37ID:R1kAqWTp
>>575
エラーメッセージの問題じゃなくてドキュメントの問題かもしれないけど、エラーの形で否定するなら納得のいく理由を教えてほしいものだわ。
自然法則みたいな原理があるなら、その原理からどう推論したらそのルールになるのかの考え方も欲しいところ。
まぁ、それ以前のエラーメッセージしかしないクソ言語も多いけど。C++とか。
2022/05/16(月) 21:09:51.80ID:qW5+0T97
>>576
rustのlifetimeとかborrowing周りのエラーはそんな感じでエラーになった理由は教えてくれるよ
例えばどんなエラーの原因を分かると嬉しいと思う?
578デフォルトの名無しさん
垢版 |
2022/05/17(火) 03:36:27.01ID:maKCFX0H
Rustのエラーメッセージの親切さは異常
2022/05/17(火) 04:13:37.47ID:tz+YwBRZ
美人女教師のイラストでも添えたら
エラーメッセージもそれっぽい口調にして
2022/05/17(火) 08:12:17.48ID:t8H/GFrA
>>577
原因じゃなくて原理ね。
エラーメッセージとしてはとりあえずは原因と解決策で十分だけど、verboseの時とかは技術的背景とかポリシーとかを説明した解説へのリンクがあると嬉しい。特に制約の厳しいライフタイムとか借用とか。
まぁ、そうなるとrust版D&Eを書くようなものだから大変か。
2022/05/17(火) 08:22:18.93ID:aOp3kwmZ
>>580
現状でもエラーによってはGitHubのissueへのリンクが付いてるから、具体的にこのエラーでこのページへのリンクを付けるべきって提案があれば受け入れられる可能性は高いと思うよ
2022/05/17(火) 08:39:46.07ID:3guGxSPi
カンマとピリオドの間違いとか
カンマが抜けているとか
うっかり全角文字で記号をうっているとか
初心者にありがちなエラーを
「ひょっとして・・・」
と教えてくれるとうれしいかもしれない
2022/05/17(火) 09:03:36.05ID:t0SSI9IZ
コンパイラ「Did you mean ',' instead of '.' ?」
俺「Fuck off!」
2022/05/17(火) 11:37:57.12ID:V5JE6XCC
>>580
例えば、↓のコードをコンパイルすると
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0bd550e905a2263a33895815c4430436

error[E0499]: cannot borrow `x` as mutable more than once at a time
てな感じでエラーコードが表示されて、以下の解説ページへのリンクが貼られている
https://doc.rust-lang.org/stable/error-index.html#E0499
この中から関連するリファレンスへのリンクが貼られている
現状のドキュメントで十分ではないという問題はあるかもしれないけど、>>580 で言われているような方向性にはなっているよ

>>582
上のコードのセミコロンを全角にしてみたらまさにそんな感じのメッセージが出た
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=118aa7e31d9c6c786d222f34a66623c3

error: unknown start of token: \u{ff1b}
help: Unicode character ';' (Fullwidth Semicolon) looks like ';' (Semicolon), but it is not
585デフォルトの名無しさん
垢版 |
2022/05/17(火) 16:48:28.24ID:DWSI+bpc
コンパイラのエラーメッセージに外部サービスのリンクって、もしそのサービス終わったらどうすんの?
2022/05/17(火) 17:38:26.91ID:V5JE6XCC
>>585
rustのことなら公式サイトへのリンクだよ
さすがに言語のメンテナンスが続く限りは大丈夫でしょう
2022/05/17(火) 19:22:14.68ID:ARYpWsQd
なお誰もやらんもよう
2022/05/18(水) 09:51:35.50ID:ynn+jzpi
最も重要なマナーは
プログラムなのかデータなのか不明な文字列等を使ってはならない
つまりインタプリタを作ってはならない

文字列指向が好きな人にとっては
オブジェクト指向こそが文字列を否定するマナー講師だった

OOPを無視してstatic変数を使ってもコンパイラに怒られることはなかった
怒っているのはいつも人間だった
2022/05/19(木) 01:27:36.14ID:Ahp8TrG/
Rustちゃんは生活のすべてを管理されたトップアスリートでヘソ出しユニに胸はぺったんこでショートヘアのすっぴんだけど最高の記録を出す
Goちゃんはそんじょそこらの陸上部員で県大会レベルだけどボインボインのロングでシャワーを浴びたらそのままGoコンにGoできる
どっちがいいかって話よ
2022/05/19(木) 01:29:12.91ID:Ahp8TrG/
なおGoちゃんは無限に二股をかけられるという特技もある
2022/05/19(木) 01:33:58.07ID:d4KplWCH
意味不明なたとえ受けると思ってそう
2022/05/20(金) 01:02:59.89ID:A/bJmwRQ
レベルが低すぎてRustスレで書けないRustの話しかしない駄スレ
2022/05/20(金) 03:37:27.56ID:tiOCYDba
      ____
     /      \
   /  _ノ  ヽ、_  \
  / o゚((●)) ((●))゚o \  ほんとはRustスレでやりたいんだお…
  |     (__人__)    |
  \     ` ⌒´     /



       ____
     /      \
   /  _ノ  ヽ、_  \
  /  o゚⌒   ⌒゚o  \  でもRustaceanはクオリティ高いスレしか相手してくれないお…
  |     (__人__)    |  
  \     ` ⌒´     /



       ____
     /⌒  ⌒\
   /( ●)  (●)\
  /::::::⌒(__人__)⌒:::::\   だから次世代言語スレでやるお!
  |     |r┬-|     |
  \      `ー'´     /
2022/05/20(金) 07:21:25.71ID:qtpsVsYu
Rustスレはフィボナッチ数列で無駄に盛り上がってる
2022/05/20(金) 08:06:23.76ID:0sq8H5co
>>594
行列演算とかじゃなくてフィボナッチ数列かぁ……
2022/05/20(金) 09:05:30.63ID:skF4IFrQ
純粋アルゴリズムにrustは不向きだとなぜ気づかんのかな。。
2022/05/20(金) 09:31:27.55ID:qCLhnuk6
>>595
なかなかゴミみたいな様相だよ
フィボナッチ数列の第n項はメモ化しなくても線形オーダー、あるいは対数オーダーで計算できるのに、メモ化にこだわりのある人が「そのやり方はmainのループと合わせて計算量はn^2だ」とか言い出して散々
2022/05/20(金) 10:04:11.72ID:73YqjaVk
>>596
個人的にはむしろ抽象化と両立が難しいところに新しい道ができたように思えた
(過剰なメモ化なら言語関係なくやられがちな気がする)
2022/05/20(金) 16:45:27.87ID:B4JoNxMk
フィボナッチ数列計算するのにあそこまでする必要はないわ
2022/05/20(金) 17:32:46.13ID:nVnkC/ng
スレ見てないけどベクトル演算した方が速いんじゃないの知らんけど
2022/05/20(金) 17:36:21.53ID:g6eOZZWy
Rustのスレなんだし、アルゴリズムで計算量を改善したりする話じゃなくて、Rustのベストプラクティスについて話してほしい
2022/05/20(金) 17:49:16.78ID:nVnkC/ng
Rustのスレじゃねーんだなこれが
2022/05/20(金) 17:58:31.56ID:UyuFXYvf
数値計算はやっぱりJuliaかFORTRANが実行速度最速なのかしらん。
604デフォルトの名無しさん
垢版 |
2022/05/20(金) 18:17:57.67ID:Cx5X7nNC
>>597
nが与えられた時に
『フィボナッチ数 F_n』を求めるのは単純にO(n)あるいは工夫してO(log n)で合っている

ところがその『F_n』を求める関数を「ループでn回」用いて
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めると当然n倍でO(n^2)またはO(n・log n)となってしまう
それが後半の「そのやり方はmainのループと合わせて計算量はn^2だ」という話だと思うのでそれも合っている

ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
つまり計算量を大きく節約できる
この二つの区別を出来ているかどうかが重要なポイントかな
605デフォルトの名無しさん
垢版 |
2022/05/20(金) 18:30:54.17ID:Cx5X7nNC
ごめん1箇所だけ記述ミスを訂正
>>604
× ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がlog(n)で済む
○ ところが『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を生成するイテレータを作ると全体がO(n)で済む
2022/05/20(金) 19:27:34.87ID:Cb6kz6Up
>>605
コテハン付けろよ。
NGにするから。
2022/05/20(金) 19:32:41.44ID:0DaneQt4
頭おかしくなっちゃった!
    -=≡ ∩ 彡⌒ミ ∩
 -=≡   .ヽ(´・ω・`) /
-=≡     (    /
 -=≡   (   ⌒)
  -=≡  し  し'
2022/05/20(金) 20:02:33.19ID:AMqMmZYo
>>604
そうそう、こんな感じで論点をどんどん変えてくんだよね
フィボナッチ数列のはずがフィボナッチ数列の1~n項の計算にすり替えられちゃう
609デフォルトの名無しさん
垢版 |
2022/05/20(金) 20:07:15.27ID:Cx5X7nNC
『フィボナッチ数 F_n』を求めるアルゴリズム・計算量と
『フィボナッチ数列 F_0, F_1, F_2, ..., F_n』を求めるアルゴリズム・計算量は当然異なるからね
前者は繰り返し二乗法で1個の算出がO(log n)がベストだけど
後者で前者の方法を使ったら遅くなる
後者は単純に前二つを足していけばn個の算出がO(n)で済みそれがベスト
2022/05/20(金) 20:33:10.89ID:AMqMmZYo
スレの流れとしては前者なのに一人だけ「数列だから初項からn項までの計算量を考えろ」とか頓珍漢なこと言ってるのよね
2022/05/20(金) 20:52:13.48ID:EQAKr5b0
スレ見たけど最初から全員がフィボナッチ数列を列挙させているから
>>609で言うところの後者だな
そして今日書かれた2種類のコード共に後者のイテレーター

>>610
たぶん君だけが勘違いしている可能性が高いw
2022/05/20(金) 20:52:49.34ID:pMSjr2Vl
フィボナッチ数列自体はただの例題なのに異様な執着心見せる人が居るよね
なんかのコンプレックスこじらせてるのかな
613デフォルトの名無しさん
垢版 |
2022/05/20(金) 20:59:42.21ID:Cx5X7nNC
>>610
フィボナッチ数列といったら F_0, F_1, F_2, ..., F_n, ... だよ
それはともかく前者と後者でベストなアルゴリズムが異なるから前者だけの話をすることはありえないと思う
そして後者のイテレータはそのまま前者をO(n)で求めることが出来るから
どちらもO(n)で十分とするならばイテレータをプログラミングするのが自然じゃないかな
2022/05/20(金) 21:04:10.39ID:uKCjuMHy
職業マは生暖かい目で見守ってるよ
初学者・学生・無職・アマチュアプログラマが必死になれるのは
自転車置き場の議論だけだからね
昼間必死に書き込んでるやろ彼らは
2022/05/20(金) 21:07:40.93ID:QySmFXhb
フィボナッチってO(1)では?(ビネ並感)
流れはよくわからないが、とりあえず本スレは盛り上がっているようで何よりだね
2022/05/20(金) 21:15:10.30ID:EQAKr5b0
各項のオーダーはO(1)可能だが複素数(行列)でムダに計算量多いだろw
結局一覧を列挙するなら足し算していくのが一番速い
2022/05/21(土) 00:28:12.49ID:xHIjAvV7
スレタイ読めよアスペども
2022/05/21(土) 07:47:11.09ID:0jWT+RR4
>>616
複素数じゃないよ、実数の範囲で計算できるよ
2022/05/23(月) 01:01:31.28ID:Eq9f2SXv
Qitaベンチマークで、フィボナッチとかドヤァってるドアホ見るけど、片方の言語がoverflowチェックなどが入ってる演算を
使ってるのに、もう片方はチェックが入らない言語を使って比較してることがよくある。とんでもねえアホ
さらにいうなら最適化レベルも、ループアンロールをデフォルトで勝手に行う言語と、明示しない限り行わない言語で
比較してたりメチャクチャなアホ。お前の推しの言語がチェック付き演算行ったら、お前の推しじゃない言語と変わらんからな
2022/05/23(月) 01:37:17.26ID:o7ibVFPP
当該ページを示さずに愚痴られても…
2022/05/23(月) 02:12:19.04ID:aUQlcplw
標準的なコンパイル方法・プログラムの書き方をした場合の比較になっているのなら意味はあるのでは
2022/05/23(月) 05:59:53.99ID:YmsKfutR
確かにCheckedAddとかで書いてるQita記事のフィボナッチベンチなんて見たこと無いね、逆に言うとそれしか意味がない。ベンチとは名ばかりのフワッとした自己満足オナニーだ、100mハードルと100m走くらべてるようなもんさ
2022/05/23(月) 07:01:43.76ID:n2ZPTBPD
>>619
Rust本スレのフィボナッチはoverflowチェック入っているぜ
https://mevius.5ch.net/test/read.cgi/tech/1652347700/181

>>622
それはその個人の問題点であってプログラミング言語の問題ではない
2022/05/23(月) 09:56:36.54ID:vZp1MWnh
顔真っ赤でコピペして来てるw
書いたどうだという話じゃない、それでベンチマーク取ってみろという話だよ。この流れが分からない奴は個人の問題点w
いちいちオーバーフローがセーフな演算をchecked_addなんて冗長な書き方しか出来ないのだから、言語の問題でしょう?
標準的なコンパイル方法・プログラムの書き方をした場合、危険でズルなんだからw
2022/05/23(月) 10:48:59.78ID:gzAO9YOH
>>623
うわっ、何このダサいコード
2022/05/23(月) 10:52:41.72ID:ZgbkB3a0
フィボナッチが居ついちまったじゃないかよ。

お前ら責任取ってフィボナッチの話題禁止な。
2022/05/23(月) 12:30:43.66ID:aUQlcplw
フィボナッチ呼ばわりはフィボナッチさんへの風評被害になるからやめな
2022/05/23(月) 13:17:40.25ID:YSocoZUy
>>625
口だけ番長定期
これだから世界から糞バカ中世ジャップランド土人とか呼ばれるんだよ
2022/05/23(月) 15:35:29.13ID:wWZ2mUik
>>624
それはあまりにも無知な発言
RustではC/C++やCPUでの同じ動作となっているにすぎない

例えばC/C++では (正確には未定義だが通常動作)
int main() {
char x = 127;
x = x + 1;
printf("%d\n", x); // 出力結果: -128
}

Rustでは (普通にrelease modeの場合)
fn main() {
let mut x: i8 = 127;
x = x + 1;
println!("{x}"); // 出力結果: -128
}
ちなみにdebug modeではpanicで知らせる
release modeでもコンパイラに指定でpanicで知らせることも可能
2022/05/23(月) 15:38:27.39ID:wWZ2mUik
>>629に加えてRustでは
let n: i8 = 126;
の時、

println!("{:?}", n.wrapping_add(1)); // 出力結果: 127 // 溢れていないならその値
println!("{:?}", n.wrapping_add(2)); // 出力結果: -128 // 溢れたらラッピング(一周して)その値

println!("{:?}", n.overflowing_add(1)); // 出力結果: (127, false) // 溢れていないならばオーバフローフラグfalseが返る
println!("{:?}", n.overflowing_add(2)); // 出力結果: (-128, true) // 溢れたらオーバフローフラグtrueが返る

println!("{:?}", n.checked_add(1)); // 出力結果: Some(127) // 溢れていないならばOption型のSome(値)が返る
println!("{:?}", n.checked_add(2)); // 出力結果: None // 溢れたらOption型のNoneが返る

println!("{:?}", n.saturating_add(1)); // 出力結果: 127 // 溢れていないならその値
println!("{:?}", n.saturating_add(2)); // 出力結果: 127 // 溢れたらその型の上限の値

といったようにRustでは求められている状況に応じて容易に多様な対応を取ることが可能
Rustよりも用意周到なプログラミング言語があればその動作を教えて欲しい
2022/05/23(月) 15:44:29.35ID:afBzb9pp
顔真っ赤wwwwwwww
2022/05/23(月) 15:45:47.88ID:dNJCbMGg
ここ2週間くらいRustスレずっとこんな調子だったんですよ
勘弁してほしい
2022/05/23(月) 15:58:24.00ID:X9GYHqrY
某R言語のユーザーは本当に気持ち悪いな
2022/05/23(月) 16:13:42.23ID:zhKycwRA
何が用意周到なんだか。言語のことを言ってるんじゃなく、「あくまでそれでベンチマーク比較すんなよド素人」という話だけなのに、ムキになって言語機能の紹介書いちゃうオジサン
蛇足的に言語のことを言うなら、RustよりまともなのはC#でcheckedキーワードの明示による算術のオーバーフローをチェックかな?安全に足し算したいだけで毎回checked_addなんて書くのは勘弁願いたいのは本音。C#もデフォルトで安全に倒すという思想からも逸脱してるとも言えるが
2022/05/23(月) 16:24:56.03ID:21uaV1OX
>>625
Rustスレでも満場一致で同じ意見だからご心配なく
2022/05/23(月) 16:33:53.72ID:wuIMUAe9
CPU・C・C++・C#・Rust全てにおいてオーバフロー時は一周回った結果になるってことか
じゃあそれが標準的な振る舞いなのだろう
2022/05/23(月) 19:59:34.50ID:aUQlcplw
>>634
演算子オーバーロードできる言語なら a + b が Option<T> 返すような型を実装できるから言語組み込みでキーワード用意する必要もないのでは

例えばRustだとそういうライブラリもある
https://docs.rs/checked/latest/checked/
2022/05/23(月) 20:07:10.01ID:pMTVA02Y
>>636
Goもそれらの言語と同じ
int8(127)に1を足すと-128となる
標準でオーバフローチェックしなくてズルい!と発狂している人はどんな言語を使っているのだろう
639デフォルトの名無しさん
垢版 |
2022/05/23(月) 22:48:29.77ID:X9GYHqrY
実装が処理速度に与える影響を論じるのなら浮動小数点数の話で語り始めるべきだったなw
2022/05/24(火) 01:58:49.24ID:e1yfwJHI
Pythonなどは(無限にではないが)演算で型拡張が行われるから、それらと同列でベンチマークすべきではないのは同意
Rustを愛しすぎて、顔にウンコ付いてて冗長で気持ち悪い書き方を擁護して発狂する用意周到オジサン
2022/05/24(火) 02:20:04.04ID:8GgyJL9r
Rustでの標準挙動は>>636>>638により他の主要なプログラミング言語と同じ
その上で>>637など演算毎にチェックも可能
このような状況でとなおRust叩きをしている人は頭がおかしいのかそれとも
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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