Hola:
Para iniciarse es recomendable el ASM (Assembler) ya que conoces paso a paso el microcontrolador a fondo. está bien para trabajar con PIC pequeños de la familia 16F. Luego, puedes dar el salto con C para PIC, no hay C++ para PIC por ahora excepto que me equivoque. El mejor para aprender es con este libro muy bueno.
www.pic16f84a.org
Para hacer Interfaz de comunicación para puyerto paralelo, serie, USB ya si puedes usar el Visual C++, Visual Basic .net y Visual C# que tanto MicroSoft quiere que usemos.
Puedes ver más manuales sobre interfaz de electrónica aquí:
http://www.slideshare.net/Metaconta/presentations
El c está bien para hacer las cosas rápidas con menos códigos, si usa los 16F con ASM no hay tanta preocupación pensando que C son 600 líneas y 10.000 para ASM, tampoco hay que exagerar. No hay que asustarse ni preocuparse por ello.
A los que les asusta empezar con ASM poruqe se programas con más líneas de código. Pues hay directivas en el MPLAB que puedes usar las mismas estructuras como si fuera el C, es decir, usar If Else. Todas estas cosas es para simplificar el ASM y no sea tan agobiante, notarás la diferencia, un gran alivio, tranquilidad e comidad. Cada vez lo mejoran.
Prueba y después sacas tus propias conclusiones.
Un cordial saludo.