@fortran
プログラムの挙動がおかしい
デバッカ使う
ソースは正しいのになんかうまく動かん
スタック領域とかそこらへんのメモリ周りの設定いじる
やっぱだめ
アセンブラ出力する
なんかポップ命令おかしいの入ってね? これ取り出せないよね?
プログラムを切り出して再現性を確認する
再現性あるっぽい、原因としてしコンパイラを疑う
コンパイラのソースコード見る
バグっぽいの見つける
公式言ったらなんかバージョンアップで対応されてた
↑いまここ
原因はstレジスタ周りの処理が上手くいってなかったっぽいう。
ちなみにおそらくもっともメジャーであると思われる、GNUコンパイラでの話です。
プログラムのデバックしてるのかコンパイラのデバックしてるのかわからなくなる、それがfortran
大体数人がかりでレビューしてて明らかにコーディングに異常ないのがはっきりしてるんだし、最初からコンパイラを疑うべきだった。
C言語がそもそも言語としてもコンパイラとしても完成度が高すぎるんだよね(ここでいう完成度、というのは仕様にどれだけ忠実か、という点においてのみ。元の仕様がどんだけひどいものであっても、それを忠実に再現しているコンパイラがあれば、それは完成度の高い言語といえる)
その恵まれたその環境で育つと、あたかもコンパイラは神様のようなもので、コンパイラにミスはありえなくて、自分のプログラムにミスがあるに違いない、と思い込んでしまうのよね。
コンパイラも人間が作ったプログラムに過ぎないのにね。
ちなみにCコンパイラもちらっとのぞいてみたけど、ちょっと何いってるか分からなかった。
あのソース書いた人絶対頭おかしいわ
プログラムの挙動がおかしい
デバッカ使う
ソースは正しいのになんかうまく動かん
スタック領域とかそこらへんのメモリ周りの設定いじる
やっぱだめ
アセンブラ出力する
なんかポップ命令おかしいの入ってね? これ取り出せないよね?
プログラムを切り出して再現性を確認する
再現性あるっぽい、原因としてしコンパイラを疑う
コンパイラのソースコード見る
バグっぽいの見つける
公式言ったらなんかバージョンアップで対応されてた
↑いまここ
原因はstレジスタ周りの処理が上手くいってなかったっぽいう。
ちなみにおそらくもっともメジャーであると思われる、GNUコンパイラでの話です。
プログラムのデバックしてるのかコンパイラのデバックしてるのかわからなくなる、それがfortran
大体数人がかりでレビューしてて明らかにコーディングに異常ないのがはっきりしてるんだし、最初からコンパイラを疑うべきだった。
C言語がそもそも言語としてもコンパイラとしても完成度が高すぎるんだよね(ここでいう完成度、というのは仕様にどれだけ忠実か、という点においてのみ。元の仕様がどんだけひどいものであっても、それを忠実に再現しているコンパイラがあれば、それは完成度の高い言語といえる)
その恵まれたその環境で育つと、あたかもコンパイラは神様のようなもので、コンパイラにミスはありえなくて、自分のプログラムにミスがあるに違いない、と思い込んでしまうのよね。
コンパイラも人間が作ったプログラムに過ぎないのにね。
ちなみにCコンパイラもちらっとのぞいてみたけど、ちょっと何いってるか分からなかった。
あのソース書いた人絶対頭おかしいわ
コメント