Everyone will tell you a different answer. It depends on what you want to achieve, if you are prepared to spend some money and the complexity of your project.
MPLABX and the XC range of compilers from Microchip are free and available for Linux, Mac and Windows but you have to pay for optimization. They work with assembly language and 'C'.
MikroC and BASIC is for Windows only and the demo version works for small programs but it is expensive for larger programs.
WizC Pro is medium priced, Windows only but works perfectly with Linux emulation. Fully optimizes and has a built in graphical debugger. PIC12, 16, 18 only.
There are numerous other products at various prices.
I strongly advise you use 'C' as the main language, it is by far the most versatile and widely used.
Brian.