I have used a number of PIC chips for various projects and in the
latest I had a 16F88 to hand so used that.
I got bitten by two things, the ReadModifyWrite of IO pins and the
limited hardware stack.
The former you just have to work around, I did all access to GPIO using #define macros and a static LATn variable in RAM
to simulate the setup of the 18F series PIC chips.
I blew the hardware stack a number of times, at least this showed up in the WizC simulator very quickly.
When working in assembler you are aware of all the subroutine calls when using
high level languages and in my case the FORED WizC RAD environment these calls are not so obvious.
With WizC I changed the optimisation to be for speed and not size, the later uses internal subroutine
calls a lot more.
I then did some thinking and decided that in future that I would stick to the 18F family for this
sort of project, the chip costs are not that much larger. Unit costs PIC16F start circa £0.60,
PIC18F circa £1.60 (Farnell UK Pounds), less difference in volume. So unless you are designing
something with a view to manufacturing a large run the extra hassle and costs of software
development will outweigh the component cost.
The PIC 18F family are designed with C programming in mind and Microchip provide
standard libraries for the 18F family.
I am also still waiting for the NXP arm cortex M0 processors that are less than a pound
in unit quantities,
there is even an 8 pin DIP packaged version http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC810M021FN8.html.
ST seem to want to get in this arena as well they have the F0 value line chips, there marketing line was 32 bits 32 cents.
Not that I can see prices that low but certainly under a pound in small quantities, but no DIP version.