LL vs C vs Java
とある取材の件で代表的な言語でサンプルコードを書くことになり, 実際同じコンセプトの処理を別々の言語で書いてみた。
対象言語: C, Java, PHP, Perl, Ruby, Python
処理内容はファイルをコピーして空白文字を区切り, それぞれ1行ずつ表示する。要はワード単位で1行ずつ出力。
ただそれだけでは芸がないので以下のような縛りを含める。
- ファイルイメージは必ずバッファにいれる。(サイズの上限なし)
- 実行時は第一引数しか受け付けない。
- ファイルエラーは当然ハンドリングする。
- エラーメッセージは自分で勝手に定義したオレオレエラーじゃなくてシステム側から出す。
- できるだけ行数を少く且つ読めるレベルにする。
大抵のLLじゃonelinerできて当然な処理だけど, CやJavaだと結構いろいろ壁がある処理。 いっつもいっつもやってる処理はサッと書けるのがLLの強みの一つだなと 実感できるようなコードだろう。
Sub Pages
実行例
> cat foo.txt The quick brown fox jumps over the lazy dog. > ./executable foo.txt The quick brown fox jumps over the lazy dog.