Hola
En el trabajo me toca hacer un desarrollo muy basico y siempre usamos otras marcas distintas de Microchip para los MCU, pero ahora con el tema de desabastecimiento y aumento de precios, las unicas opciones son los PIC (es un desarrollo de bajo coste y son los unicos que encajan) y otros fabricantes, pero con estos ultimos la curva de aprendizaje sera mayor, porque buscando por internet, apenas hay desarrollos o info.
Hace tiempo (iba a decir que casi siglos
) ya hice mis cositas con pic, luego me dedique al trabajo de la reparación y hoy en dia, parecido salvo algun desarrollo pequeño que usamos otros fabricantes, por lo que estoy un poco pedido.
¿Como veis hoy el dia el desarrollo con pics? Lo digo porque si no recuerdo mal, una instruccion eran cuatro ciclos de reloj (posiblemente meta la pata
) y tambien tengo la opcion de usar attiny de Atmel (que viene a ser microchip), no es que necesite velocidad, pero si quiero elegir la mejor opcion relacion precio-velocidad porque un requisito es realizar unas instrucciones segun una interrupcion (aun no se la velocidad, pero creo que era superior a 10khz e inferior al 1Mhz).
Tampoco tengo programador para programar ninguno de los, tengo uno de ccs labs si no recuerdo mal, pero tendrá mas de 10-15 años y supongo que ya no daran soporte (aunque era por usb), aunque llevo tiempo para pedir un pickit de los chinos, solo por tener, aunque buscaria algo mas universal (creo que tenemos de segger y no se si funciona con pics).
¿Que IDE usar para programar ha dia de hoy? Sería preferible programar en C, que de ASM creo que solo recuerdo dos instrucciones 
Estas son mis mayores dudas, el tema del IDE y el programador, que no sea una curva de aprendizaje de 6 meses y que el programador sea mas o menos accesibles. Posiblemente, teniendo estos, se usaran estas familias de microcontroladores para mas desarrollos. La verdad que si tengo ganas de usar alguno de esos dos, porque son los que toque en mis inicios 
Muchas gracias.
Saludos.
Anto.
Creo que antes de escoger un tipo de microcontrolador, un compilador y un programador/depurador, deberías tener una idea muy clara del hardware que deseas diseñar.
Es posible que a medio diseño descubras que necesitas otro tipo de microcontrolador (mayor memoria, mayor cantidad I/Os, periféricos que no consideraste o pocos periféricos necesarios, etc.)
O lo contario, sobre dimensionaste al microcontrolador cuando pudiste hacerlo con uno más económico o con menos I/Os, etc.
Muchos optan por utilizar Arduino para sus proyectos, aunque me parece que no es orientado para un producto comercial, es decir que es para educación o crear proyectos de pasatiempo. Compran las placas de Arduino para meterlas en una caja plástica y venderlas como si fuera un producto final.
Aunque claro, si logras hacer un producto bueno, barato para que genere ganacias y estable, no importa con que lo hagas, al final es el objetivo principal.
Dependería que tan profesional deseas que sea tu hardware comercial.
Respecto a la programación, en C te ayuda avanzar mucho más rápido que hacerlo en ensamblador, sobre todos si existe ejemplos o librerías para periféricos complejos. Veo muy difícil, por ejemplo, escribir código para controlar periféricos complejos como USB, Ethernet, WiFi, etc a base de líneas sólo en ensamblador.
También hay opciones más simples como Niple que programas a base de diagramas de bloques.
Esto último ya dependería de que tan hábil eres para auto educarte y aprender cada vez más cosas complejas.
Finalmente también debes considerar si tu producto necesita ser actualizado su firmware para que tu hardware tenga mejores funcionalidades o simplemente corregir errores o
bugs que el usuario pueda descubrir durante el uso de tu producto.
Si tu hardware tendrá un medio de comunicación externo (RS232, USB, Ethernet, etc.) deberías pensar en la posibilidad de usar un bootloader para actualizar el firmware y de esa manera evitas un dolor de cabeza al tener que ir hasta donde está instalado el hardware y actualizar el código o esperar que te envíen tu producto para actualizarlo y que regresarlo al cliente, lo cual es una pérdida de tiempo y dinero, aparte que das la sensación al cliente que estas
reparando tu hardware cuando sólo estás actualizando el firmware.