Key differences and features of CLI and GUI programs are listed below.
Command line program or classic CLI program ( Command line interface ) works in simple and straightforward fashion. It prompts and accepts data from the command line and process the input data. Optionally, the CLI program accepts command line parameters to the program. The output is displayed to standard output devices or written to a file. The CLI program exits once the output is displayed. CLI programs are non interactive. There is minimal interaction from the user.
Sample CLI Program flow chart below:
GUI ( Graphical User Interfaces ) programs unlike CLI programs have user interface. The user interface contains controls, buttons,windows etc. These controls helps the end user to use the application with ease. GUI programs are interactive. GUI program waits for events. Most programming languages have support to native GUI Toolkit to develop GUI programs.
Sample GUI Program flow chart below:
Graphical programs wait until user does some action. Once the user does some action, A callback or an event handler is invoked to perform some intended functionality. GUI programs normally allows user to gracefully stop the program by clicking on x button on the window.