X



Qiita 4 - キータぞ、来たぞ、キータだぞー
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
垢版 |
2024/01/17(水) 19:20:36.09ID:VohMlHbO
Hello hackers !
Qiitaは、エンジニアリングに関する知識を記録・共有するためのサービスです。
コードを書いていて気づいたことや、自分がハマったあの仕様について、
他のエンジニアと知見を共有しましょう ;)

https://qiita.com/

Qiita(キータ)は、Incrementsが運営するプログラミング情報のナレッジコミュニティ。
2016年現在で日本最大のプログラマーコミュニティとされている[1]。

https://internet.watch.impress.co.jp/docs/news/1025972.html

前スレ Qiita
https://mevius.5ch.net/test/read.cgi/tech/1542357242/
Qiita 2 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1658762410/
Qiita 3 - キータぞ、来たぞ、キータだぞー
https://mevius.5ch.net/test/read.cgi/tech/1685235361/
0812デフォルトの名無しさん
垢版 |
2024/04/13(土) 23:18:34.34ID:tt/VdnVs
> 集まりと書いたんだからその筆者のことじゃなくてお前らのことだよ

お前がどういうつもりで書いたかなんて知る由もないけど
「集まり」なら筆者+コメント欄という解釈も普通に可能だなあ。
やっぱお前バカだわw
0813デフォルトの名無しさん
垢版 |
2024/04/13(土) 23:25:46.72ID:n/0lsQPz
いい歳したおっさんがすれ違いとかやめてください
想像しただけで気持ち悪いです🤮
0814デフォルトの名無しさん
垢版 |
2024/04/13(土) 23:38:37.77ID:nJBRmdhX
えっと
assert(other == nullptr);

if( other == nullptr ){
assert(false);
return 0.0f;
}
にしたらダメだとコメントされてるのよね?
でもNDEBUGを定義した後のことを考えて
assert(other == nullptr);
if( other == nullptr ){
return 0.0f;
}
をしたいわけでother == nullptrが重複するのが悪いだろ
記事の書き方のほうがいい
0815デフォルトの名無しさん
垢版 |
2024/04/13(土) 23:44:02.37ID:tt/VdnVs
>>814
> えっと
> assert(other == nullptr);
> を
> if( other == nullptr ){
> assert(false);
> return 0.0f;
> }
> にしたらダメだとコメントされてるのよね?

そんなコメントされてない
0816デフォルトの名無しさん
垢版 |
2024/04/13(土) 23:47:38.35ID:nJBRmdhX
>>815
assertは絶対に成立する条件を記述するものだとコメントされてる
じゃあ聞くけど絶対に成立すると思っていた条件が破られたらどうするの?
0817デフォルトの名無しさん
垢版 |
2024/04/14(日) 01:52:15.74ID:l1V0/N/O
>>816
> 絶対に成立すると思っていた条件が破られたらどうするの?

assertが異常を報告してプログラムを異常終了で止めてくれるので改めてデバグする
0819デフォルトの名無しさん
垢版 |
2024/04/14(日) 06:45:04.08ID:8UZVMHcY
開発中はassertしたいけど本番中はassertしたくない
って別に普通の事じゃねーの?
本番でもassert残す過激派がイチャもんつけてるように見える
0820デフォルトの名無しさん
垢版 |
2024/04/14(日) 07:31:51.73ID:QAXXGiIt
それならassert(false)じゃなくてassert(other!=nullptr)って書くべきだろうし
たぶんあの記事書いたやつはassertとか例外処理とか何も考えてないと思うよ
0823デフォルトの名無しさん
垢版 |
2024/04/14(日) 12:38:32.89ID:xdv2C0zy
https://qiita.com/Monotea/items/efe0a97865a40767bc7f#comment-c43b2ab099be4342056a
> (余談ですが、実際に私が働いている開発環境ではassertは使っていません。異常動作を起こしたというログを残して報告を上げるための機能を別に呼び出します)

後出しでこんなこと書くくらいなら最初っからassert使ったコード例示すんなよって話よなあ。

つかassert(false);なんてアホな例出したのなんでかね?
0826デフォルトの名無しさん
垢版 |
2024/04/15(月) 08:00:46.50ID:w1m0L358
構ってもらいたいからじゃね
50過ぎで無職だとリアルでの交際もなかなか難しいだろうからね
0834デフォルトの名無しさん
垢版 |
2024/04/17(水) 08:14:24.30ID:viu9nkYS
単純な仕組みでまったく契約プログラミングの体をなしてないからな
低知能だけがどうでもいい難癖つけてる
0839デフォルトの名無しさん
垢版 |
2024/04/18(木) 19:30:58.31ID:kIYs0TGI
>>834
ホーア論理とかに憧れた頃が俺にも... でもまあ不変式を見つけたりがめんどくさいし、
形式が適用しにくい場合もあったりする
のではあるが、本来不変式を意識したりすることがバグのないコードに繋がるわけで
自分の場合はプログラムの証明とかを練習したことがコードを書くときに活きている、
かもしれない
0842デフォルトの名無しさん
垢版 |
2024/04/19(金) 13:09:40.20ID:uhCEOB1t
どうやったらいいねが増えるか?
それを真剣に考えた人は良い記事じゃなくて別のなにかを書くことになる
そうなるのはQiitaの読者が悪い
Qiitaの運営も悪いんじゃない?
どの記事が良いかを見せる努力をまったくしてこなかった
クソ記事でもいいから閲覧数が伸びればいいっていうやつら
トップページが少数の記事だけ閲覧数を伸ばすバイアスがある
Qiitaの読者はバカだからトップページバイアスに引っかかる
前はトップページバイアスがひどかったが記事の入れ替わりが少し速くなったような
0844デフォルトの名無しさん
垢版 |
2024/04/19(金) 16:01:00.37ID:wsMDWrIu
世の中クソが大半なんだから
いちいちクソ探してきて報告しなくていいっての
0847デフォルトの名無しさん
垢版 |
2024/04/20(土) 01:39:45.00ID:IhIRTRtx
Qiitaはメンテナンスのためサービスを一時的に停止しています。
復旧するまで今しばらくお待ちください。
X (Twitter)で最新情報を配信しております。
なお、数回に一度のペースでこの画面が表示される場合は、 @までお問い合わせください。
0849デフォルトの名無しさん
垢版 |
2024/04/20(土) 11:38:48.51ID:Ol5HcUi5
stackoverflowは良く出来てるよな
質問にも解答にもスコアがついてて信頼性が目視できる
質問も解答も端的で、情報がうまく濃縮されてってる
良い質問と良い解答が浮かび上がってくるような仕組みになってる
自己顕示欲をポエムに変えて投稿するようなのは居場所がない
0850デフォルトの名無しさん
垢版 |
2024/04/20(土) 16:14:11.45ID:jyOxF13o
stackoverflowは信頼性が目視できるのはなぜか?
低評価をつけれるからだ
teratailもバッド機能を追加したらしい
blog.teratail.com/entry/new-release-240118
最悪運営や3記事以上投稿者だけにして悪用しない人だけが使えるようにすればいい
0851デフォルトの名無しさん
垢版 |
2024/04/20(土) 17:02:52.11ID:Oa0QVy6W
今だと藤田が必死でコメつけて抵抗してくれてるけど
単にバッド押すほうが早いよな
クソコードは書き直すより捨てるほうが早いし
クソ記事も書き直すよりバッドするほうが早い
記事にも人にもバッドつけれるようにしてくれたらマシになると思う
0852デフォルトの名無しさん
垢版 |
2024/04/20(土) 17:19:12.02ID:ciwQnU2m
無理無理
幼稚な日本人ではうまく回らない
些細なことでも気に入らないと10点中1点とかだからな
ここでもひたすらネチネチやってるやつばっかじゃん
0853デフォルトの名無しさん
垢版 |
2024/04/20(土) 19:15:57.18ID:Oa0QVy6W
批判されたら人格批判されたように受け取ったり
実際
批判するとき人格まで批判するようなのもあったりで
どっちにしろ批判に慣れてないんよね
批判を使いこなせてないというか
バッドもうまく使えないかー
0855デフォルトの名無しさん
垢版 |
2024/04/20(土) 19:58:05.17ID:wkuLqT66
クソ記事でも検索の上位に出ないのはバッドつけないほうがいい
出ないなら害が少ない
検索の上位に出るものにバッドつけて検索の上位に出なくなればいい
トップページのランキングにも出なくなればいい
0856デフォルトの名無しさん
垢版 |
2024/04/20(土) 21:44:12.32ID:6TZuh0WP
「競プロでナントカ色になりました」
「未経験から大手ナントカに就職できた話」
「ChatGPTに〜」
「〜初心者向け」

この手のタイトルの記事を一掃できれば大分スッキリすると思う
0857デフォルトの名無しさん
垢版 |
2024/04/20(土) 22:16:57.05ID:Oa0QVy6W
・初心者だけどCを解説シリーズ
・セミナーや会社の明らかな広告
・いかがでしたか?で終わる記事

これらも一掃してほしい
0859デフォルトの名無しさん
垢版 |
2024/04/21(日) 12:50:50.81ID:00urxfGU
「C++コンパイラが優秀で驚いた」とか「私よりも良いコードを書く」なら分かるんだが「あなたよりも良いコードを書く」?

ハア?何オマエ他人のこと見下してんだ?と思ってプロフィール見てみたら

https://qiita.com/negi-drums
> 東京大学工学部計数工学科数理情報コース

あっそりゃあ見下すよねえ。
凡人風情が東大様に失礼なこと思っちゃってスイマセンねどうもヘヘヘ(揉み手
0864デフォルトの名無しさん
垢版 |
2024/04/21(日) 16:24:00.27ID:qxmZyZFi
名前とか個人情報は隠すのにプロフィールに東大とか
書いちゃうのはそれでマウント取りたい人なんだろw
0865デフォルトの名無しさん
垢版 |
2024/04/21(日) 18:46:43.06ID:txpnC2BO
> C++コンパイラはあなたよりも良いコードを書く

挑発的なタイトルであることは本人も認めてるみたいだけど具体的な反例挙げられたら途端にかっこ悪くなるやつだなあ。
なぜこんなタイトルを付けてしまったのか。
0866デフォルトの名無しさん
垢版 |
2024/04/21(日) 20:20:04.08ID:ybRYcN5v
>>865
いかがでしたか?で終わる記事と同じなんじゃね?
なぜこんなタイトルを付けてしまったのかというのは
0867デフォルトの名無しさん
垢版 |
2024/04/21(日) 22:07:23.00ID:gmhBLKG/
東大様が自ら墓穴を掘ることはないだろうから
多分わざとツッコミどころを用意したんだと思う。
RustやC++をディスってるのも反応を期待してのことだろう。
コメント付けてる暇人は釣られたんだろうな。
0869デフォルトの名無しさん
垢版 |
2024/04/21(日) 22:36:22.80ID:lFAPaVal
> 皆さん既にお気付きかもしれませんが、この関数では-1を返すことはありません。というのも a == 0 かつ b == 0 のときは、当然 a == 0 または b == 0 も満たしますから、関数は0を返します。つまり、コード内のD, Eの部分の条件分岐は余分であるということです。一般に条件分岐はジャンプ命令を生み、これは比較的計算時間コストが大きいため、できれば余計な条件分岐は避けるべきです。しかしながら、仮に私たちがうっかり余計な分岐を入れてしまっても、コンパイラは気づいてその部分のコードを削除してくれます。優秀ですね。

分岐しないパスが存在するって要はバグなんだがコンパイラが
警告も出さずにしれっと削除するのを「優秀ですね。」ってアホか。
0871デフォルトの名無しさん
垢版 |
2024/04/22(月) 07:37:55.96ID:uMUj4fuz
いまどきの言語や開発環境なら通らないパスがありますよって警告出すね

C/C++の最適化オプションなんて昔から勝手なことするから
製品版では最適化しないのは常識
0872デフォルトの名無しさん
垢版 |
2024/04/22(月) 08:35:32.75ID:Mx4xx2Y5
> いまどきの言語や開発環境なら通らないパスがありますよって警告出すね

少なくともg++やclang++では警告出ないみたいだから静的解析ツール頼みかな。

> C/C++の最適化オプションなんて昔から勝手なことするから
> 製品版では最適化しないのは常識

未定義動作とかよくわかってない人がいる現場ではそうせざるを得ないという話は聞いたことあるけど常識ではないだろw
0873デフォルトの名無しさん
垢版 |
2024/04/22(月) 08:50:00.29ID:PISpkcW3
コンピュータの方が優秀とよくわかるアホさで草
絶対実行されないコードを削除して何が悪いんだ
0875デフォルトの名無しさん
垢版 |
2024/04/22(月) 08:55:04.99ID:OBlrLYUt
最適化を期待して読みやすさを優先することはよくあることだからそんなんで警告出されたり最適化禁止されたらたまらんわ
0876デフォルトの名無しさん
垢版 |
2024/04/22(月) 08:58:02.27ID:wAck0ykv
> 一般に条件分岐はジャンプ命令を生み、これは比較的計算時間コストが大きいため、
計算時間じゃねえんだよなあ…
0877デフォルトの名無しさん
垢版 |
2024/04/22(月) 09:12:25.48ID:rD/amSt3
> 絶対実行されないコードを削除して何が悪いんだ

絶対実行されないコードの削除は歓迎だが警告しないのは不親切という話だぞ?
0878デフォルトの名無しさん
垢版 |
2024/04/22(月) 09:43:32.24ID:OBlrLYUt
>>877
人が見て網羅してることがひと目でわかるようにわざわざ冗長なコードを入れてるのにいちいち警告するのは不親切という話だぞ?
0879デフォルトの名無しさん
垢版 |
2024/04/22(月) 10:12:28.08ID:wAck0ykv
警告はコンパイラのオプションで潰せばいいと思うが、デフォで警告なしがいいだろうな
0880デフォルトの名無しさん
垢版 |
2024/04/22(月) 11:32:48.49ID:3Hrtbto8
> 人が見て網羅してることがひと目でわかるようにわざわざ冗長なコードを入れてるのに

どう見てもコーディングミスだろw

int f1(int a, int b) {     // A
  if(a == 0 || b == 0) {   // B
    return 0;        // C
  }
  if(a == 0 && b == 0) {   // D
    return -1;       // E
  }
  return 1;          // F
}                // G
0881デフォルトの名無しさん
垢版 |
2024/04/22(月) 13:26:55.85ID:C1yV6FBy
Cなんて使うなっていう話だぞ

>Cは時代遅れとアメリカ政府も発表
>「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス:「C」「C++」よりも「Rust」などの言語を推奨
>atmarkit.itmedia.co.jp/ait/articles/2403/18/news045.html

>全銀ネットとNTTデータの不祥事(金融不安)
>インデックスの参照先として、本来アクセスしてはいけないメモリー領域を示すことになったことからアプリケーションが異常終了
>テーブル生成プログラムは、C言語で開発したプログラム
>it.impress.co.jp/articles/-/25677
0882デフォルトの名無しさん
垢版 |
2024/04/22(月) 14:24:49.24ID:sMMXaqoc
古典的なコンパイラの最適化とかネタが古くさい
わざわざそんなもん拾ってきてありきたりな感想述べる
まさに無能じじいの行動そのもの
0885デフォルトの名無しさん
垢版 |
2024/04/22(月) 16:56:42.07ID:uMUj4fuz
C/C++界隈はプログラマは神様だからミスしないという前提
最適化しちゃえって発想になると思うんだけど

絶対実行されないコードを書いてる時点で神は死んだ
0890デフォルトの名無しさん
垢版 |
2024/04/22(月) 21:50:54.49ID:Q7jAjdPS
>>858のリンク先の※欄
C++が速い派もRustが速い派も自説に都合が良い記事引き合いにしててワロタw
どっちが速いんでも良いけど自分の推しの明らかな利点も主張できない程度の知識で物申すとか恥ずかしくないのかww
0892デフォルトの名無しさん
垢版 |
2024/04/23(火) 09:46:54.49ID:jXQ0V2HY
>>891
皆が書いているコメントを読んでいないのか?
結局C++のそのコードだと未定義動作により限界境界値においてg++とclangの間ですら結果が変わってしまう
一方でRustの方は限界境界値においても安全に正しく結果を出す
条件を揃えてやればC++もRustも同じ速度となる
0894デフォルトの名無しさん
垢版 |
2024/04/23(火) 10:52:27.29ID:juGvbhnw
ブレーキを踏まないから速いというだけで最後クラッシュするのがC++
最後ちゃんと止まるのがRust
という話でしかない
0895デフォルトの名無しさん
垢版 |
2024/04/23(火) 11:39:00.55ID:z18rLtgI
結局記事書いた人が自己解決できてない時点でRustが使えない言語であることに変わりないんだよなあ
0896デフォルトの名無しさん
垢版 |
2024/04/23(火) 11:47:44.03ID:FYZoGyZj
「Rustで性能を引き出すには同じ処理をC++で書いてベンチマーク、アセンブリ言語出力を確認してRustの書き方にフィードバックするのが有効」かあ、φ(..)メモメモ

ってやってられるか馬鹿w
0897デフォルトの名無しさん
垢版 |
2024/04/23(火) 11:48:54.59ID:BxRYy2o2
>>892
条件を揃える方法が入力値ではなくてコード側なのが怠いな

>>895
特定のプログラムがなんか遅いってだけで、使えない言語とするのは行きすぎやなあ
0898デフォルトの名無しさん
垢版 |
2024/04/23(火) 12:32:33.69ID:QvqBjop5
大抵の人はアセンブラ出力まで見ないだろうから「RustはC++と比べるとなんか遅い」という評価は変わらないだろうな
0899デフォルトの名無しさん
垢版 |
2024/04/23(火) 12:55:23.52ID:lM1cqtJ/
>>898
>>896が嘘をついてるのに騙されるなよ

記事のコメント欄で指摘があるように
C++側は最大値を与えた時にオーバーフローして未定義動作になることに依存した最適化をしている
そしてC++では実際にその場合は問題が起きて正しく動作しないことが示されている

一方でRustは未定義動作が存在しないことが特長
そして最大値を与えた時にも安全に正しく動作している

そのように明暗が分かれる構造となる最適化に依存するパターンで両者を比較することがナンセンス
0902デフォルトの名無しさん
垢版 |
2024/04/23(火) 13:37:36.49ID:hSiyFM+Z
>>899
99%のケースではC++とRustで速さ同じだからそんな特殊なケースは誤差でどうでもいいけれど、
境界値では動作しない最適化をするC++と、境界値でも安全な動作をさせるRustの方針の違いだな
0904デフォルトの名無しさん
垢版 |
2024/04/23(火) 13:56:55.67ID:J2Lwn5B1
前の東大生の記事もそうだけど、コンパイラが最適な出力ができるように人間様がコードをあれこれチューニングする議論なんて不毛だと思うんだよな
0906デフォルトの名無しさん
垢版 |
2024/04/23(火) 15:10:39.50ID:otAXVloV
RustやC++のコンパイラが優秀なのはそうなんだろうけど
それの贔屓の人が最強とか言っちゃうと「じゃあこれは?」って
話も出てくるんで限がないんだよな。

てことで人手によるアセンブラが最強。
0909デフォルトの名無しさん
垢版 |
2024/04/23(火) 23:24:14.81ID:RVgwHmii
>>908
え?記事読んだ?
その人が初心者すぎてinline指定を知らなかっただけだよ
指定しただけで解決してる
0912デフォルトの名無しさん
垢版 |
2024/04/24(水) 02:10:44.40ID:uLbTGQox
スループットな早さだと既存のAPIで足りるしレイテンシな速さは今関係ないな
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。

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