Si tu objetivo es aprender un lenguaje en profundidad lo mejor es que primero tengas claros tus objetivos. Prácticamente todos los lenguajes sirven para prácticamente todo pero en muchas ocasiones hay un lenguaje que resalta sobre el resto para una tarea específica.
Sobre API Rest no tengo conocimientos por lo que no puedo decir nada pero sobre POO está claro que es uno de los paradigmas de programación más utilizados, sino el más. Al final el mundo en general no se representa con variables sueltas sin más sino que todo son objetos, cada objeto tiene sus características y sus comportamientos y la POO justo define eso.
En cuanto a lenguajes: es cierto que .NET y Java son de los lenguajes más demandados y más completos que existen. Además ambos permiten programar mediante POO y a mi parecer tienen una buena curva de aprendizaje. En cambio de poco te sirven si lo que quieres es programador controladores o servicios del sistema por ejemplo, para esta tarea siempre será mucho mejor aprender C. Por eso digo que lo importante es que primero definas tus propósitos (sistemas operativos, juegos, análisis estadístico, desarrollo móvil (Android, iOS), ...) y cuando lo tengas te será muy fácil elegir el lenguaje más adecuado para ello (C, C++, Python, R, Java, Kotlin, Swift, Flutter,...) sin olvidar toda la parte de web (PHP, diversos frameworks en los que no estoy al día...) o las bases de datos (SQL).
Y si no tienes muy claro lo que hacer o estás dando tus primeros pasos Java y .NET (C#) creo que son dos de las mejores opciones para empezar porque como ya he dicho son lenguajes muy completos y que permiten hacer muchas cosas. Hay gente que prefiere empezar con lenguajes más sencillos como Python pero en mi opinión estos lenguajes enmascaran demasiado la programación. Si aprendes un lenguaje como Java, C# o similares te será más sencillo dar el paso a Python y similares, que al contrario.
Mucha suerte y recuerda que puedes probar todos los que te causen curiosidad y quedarte al final con el/los que más te guste/n.
Sobre API Rest no tengo conocimientos por lo que no puedo decir nada pero sobre POO está claro que es uno de los paradigmas de programación más utilizados, sino el más. Al final el mundo en general no se representa con variables sueltas sin más sino que todo son objetos, cada objeto tiene sus características y sus comportamientos y la POO justo define eso.
En cuanto a lenguajes: es cierto que .NET y Java son de los lenguajes más demandados y más completos que existen. Además ambos permiten programar mediante POO y a mi parecer tienen una buena curva de aprendizaje. En cambio de poco te sirven si lo que quieres es programador controladores o servicios del sistema por ejemplo, para esta tarea siempre será mucho mejor aprender C. Por eso digo que lo importante es que primero definas tus propósitos (sistemas operativos, juegos, análisis estadístico, desarrollo móvil (Android, iOS), ...) y cuando lo tengas te será muy fácil elegir el lenguaje más adecuado para ello (C, C++, Python, R, Java, Kotlin, Swift, Flutter,...) sin olvidar toda la parte de web (PHP, diversos frameworks en los que no estoy al día...) o las bases de datos (SQL).
Y si no tienes muy claro lo que hacer o estás dando tus primeros pasos Java y .NET (C#) creo que son dos de las mejores opciones para empezar porque como ya he dicho son lenguajes muy completos y que permiten hacer muchas cosas. Hay gente que prefiere empezar con lenguajes más sencillos como Python pero en mi opinión estos lenguajes enmascaran demasiado la programación. Si aprendes un lenguaje como Java, C# o similares te será más sencillo dar el paso a Python y similares, que al contrario.
Mucha suerte y recuerda que puedes probar todos los que te causen curiosidad y quedarte al final con el/los que más te guste/n.