Welcome to EEVBlog
Are you intending to program in C or Assembly? Are you totally new to programming?
Years ago when I had no experience with micros (MCUs), my programming experience was with TI Basic (TRS80) and IBM Basic, and that experience was from 20 years prior to that. I had a simple project and didn't want to waste time learning a whole new language, so started with Assembly and have stayed with it. Assembly is quite specific for the MCU. Even within a class of PICs, say 8-bit, the instruction set is different for 12F5xx/16F515, 12F6xx/16Fxxx, 12F1xxx/16F1xxx,and 18F devices. (It depends on "core" size, 12-bit, 14-bit, 16-bit.) C supposedly takes care of those differences for you.