¿Es necesario un conocimiento profundo de C ++ para aprender el sistema operativo y las estructuras de datos?

Los núcleos se escriben básicamente en C porque es rápido. Entonces, si desea comprender Kernels, ya conoce C. La mayor parte de la codificación a nivel del sistema se realiza en C / C ++. Entonces, al codificar en C / C ++, obtendría una buena comprensión de las memorias, los algoritmos (suponiendo que no use bibliotecas), las llamadas al sistema y las interrupciones.

Los lenguajes de programación modernos hacen la tarea realmente más fácil para usted, por lo tanto productiva. No tiene que pensar en los recuerdos porque tiene recolectores de basura para manejar eso. La mayoría de las bibliotecas son parte del lenguaje, por lo que ni siquiera tiene que escribir algoritmos básicos como la lista vinculada. Y, con SDK como para Android, la mayor parte de la tarea se realiza arrastrando y soltando. Entonces, en resumen, hasta que tenga un proyecto complejo que implementar, no podrá explorar completamente el lenguaje y mejorar sus habilidades de codificación.

C / C ++ hasta cierto punto lo obliga a escribir algoritmos básicos y la ausencia de cualquier SDK hace que su tarea sea más centrada en el código. Además, en caso de programación competitiva donde el tiempo importa mucho, C / C ++ es una buena opción. Por lo tanto, si eres un estudiante y quieres mejorar tu codificación, entonces adhiérete a C ++. Es un lenguaje oops (los patrones de diseño son importantes) con una gran cantidad de complejidad de nivel de sistema para ofrecer. Y puede entrenarlo para ser un buen codificador porque las pérdidas de memoria también son un problema en Java, aunque tiene un recolector de basura. Entonces, con una buena práctica en C ++, también puede escribir buenos códigos Java.

Feliz codificación.

No, no es necesario.

Puedes resolver problemas con cualquier idioma. Java es suficiente. Simplemente no tiene que usar en bibliotecas compiladas para listas vinculadas, pilas, etc.

Use java y código como C.

No, pero es útil porque C ++ está muy cerca del hardware.