Hello, Worldに潜むバグ
プログラミングの第一歩としてお馴染みの課題であるHello, Worldであるが、これをANSI-Cに基づいてmainの戻り値をEXIT_SUCCESSマクロで記述し、出力をENOSPCエラーを返す疑似デバイスファイルである/dev/nullへリダイレクトさせるよう実行すると正常終了するというバグがあるようだ。
(https://blog.sunfishcode.online/bugs-in-hello-world/)
C言語以外でもJava、Haskell、Node.js、Ruby、およびPython 2では同様の動作であるが、Python 3、Perl、およびBashでは正しくエラーとなるとのことである。
Linuxでは/dev/fullの存在はお馴染みとなっているがBSD系では2014年にFreeBSD 11.0-CURRENTが、2018年にNetBSD 8が/dev/fullを追加しているようだ。
こうしたANSI-Cに比べれば追加されて日が浅い機能である/dev/fullがバグを顕在化させた側面もあるのだろうか?
豊富な実務経験を持つスラド諸兄から本件の「バグ」についてご意見を頂戴したいところである。
すべて読む
| ITセクション
| プログラミング
| バグ
| IT
|
関連ストーリー:
VTuberのキズナアイ、22年2月26日で活動休止へ
2021年12月06日
3万台近いMacに感染しているが、まだ活動開始していないマルウェア「Silver Sparrow」
2021年02月23日
ローマ法王、初めてコードを書く
2019年03月27日
HackerRank調査、最も開発者に知られているプログラミング言語はJavaScript
2019年02月03日
高専生、「プログラミング言語かるた」の出資者をクラウドファンディングで募集中
2018年03月08日
英語のほうが得意な人のための日本語インプットメソッド「Konjac」
2011年09月06日