The high-level programming language C was chosen and not the low-level assembly code normally
associated with PIC programming. There are many advantages for using C including: ease of programming,
ease of modification, reusability of code, use of standard functions (e.g. printf, getc, putc, etc…), etc… But
there is one drawback, C code is much less efficient, for example typically code produced by the C compiler
(CCS) is at least twice as large as that programmed in assembly. Since the PIC16F877 has a large program
store (8k) and runs at 20MHz this drawback is not a problem.