質問: 趣味でプログラムやっている同人絵師です。 自分で描いたものをPDFにして配布したいと考え、PDFを書き出すコンバータを書こうと思い、着手したのですが、詰まってしまいました。 具体的には、コマンドライン上で動くものを書くのですが、標準入力からコマンドを読み込み標準出力に書き出すようにして、パイプを利用してファイルに出力するか、起動時に入力・出力ファイル名を入力して実現するか迷っています。 どちらにも利点と欠点があると思いますが、どちらがより優れた設計だと思いますか? 初投稿で非常に初歩的な質問で恐縮ですが、どうかご意見・ご指導のほどよろしくお願いします。
回答: PDFコンバーターと言うことはPDFファイルを出力するのですよね。環境はWindowsでしょうか、Macでしょうか。MacならUNIXなので問題ないと思いますが、Windowsだと標準入出力はテキストモードなので、バイナリデータを扱う際は注意が必要です。 私なら、とりあえずパイプでデータを受け渡しするような要求がなければ、基本はファイル指定でファイルに読み書きします。パイプだとプロセス間通信でデータを受け渡すのでなんとなく遅いイメージがあります(今時のマシンならたいしたことないでしょうけど)。