실제로 프로그램을 짤 때도 주 기능을 콘솔에서 구현한 다음에 거기에 UI를 씌우는 것이 일반적인 과정이니까..(아닌 경우도 있고..)

 내가 소켓으로 서버를 짜든 신호처리를 하든 시뮬레이션을 하든지.. 중간에 내가 뽑아보고 싶은 데이터가 있으면, printf하나만으로 다 뽑아볼 수 있다는게 조낸 강력한 기능이다.

 그리고, GUI라는 녀석은 여기저기 종속되는 요소가 많아서, (유니코드 인코딩같은거..) 프로그램이 오작동 했을 때 확인해야 하는 부분이 굉장히 많음.

콘솔환경에서 프로그램이 정상동작하는 것을 어느정도 검증한 다음에 UI작업에 들어가면, 오작동의 원인을 UI파트로 한정지을 수 있어서 디버깅이 훨씬 수월하다.

같은 프로그램이라도 GUI보다 CUI로 인터페이스를 구성하면 기능이 훨씬 강력하다. 스크립트를 이용해서 일괄처리하는 것도 용이하고, 다른 프로그램의 출력을 입력으로 받아 동작하기도 훨씬 유리하다.