プログラム作成者の観点

GUIの作成->面白くない
ボタン作成とか単調、テストも非効率、効率的アルゴリズムとか無関係、無知な顧客用の仕事に思える

CUIの作成->面白い
UIはUNIXコマンドっぽく作ればいので
ls や cp のコマンドソース参照して同じようにすれば良い
肝心の処理内容の改善や効率化に専念できる

専用プログラムの作成->やりがい
シミュレーションや解析用で自分用だからUIはあんまり考慮しなくて良い
処理内容そのものに論文調査とかしてがっつり取り組める