En un sentido conceptual, no muchos lenguajes de programación han demostrado la misma fuerza, sistema y aplicación que el lenguaje de programación C. Si otros lenguajes de programación pueden servir para el mismo propósito, se han inventado en el pasado pero no están conectados en red y escalados como C. Programar en C no requiere una alta competencia matemática, pero las utilidades y aplicaciones pueden requerir la capacidad de modelado abstracto que solo puede proporcionar una disciplina estrechamente aliada con las matemáticas. Estos incluyen administración de memoria, programación de red o interfaz directa con el sistema operativo. Una persona que aplica el lenguaje de programación C para sistemas informáticos y redes más grandes se conoce como programador de sistemas o puede llamarse arquitecto de sistemas. Si le gustan las matemáticas y aplica los conceptos básicos a las aplicaciones que usan computadoras, probablemente disfrute de analizar, modelar y comprender su trabajo, en lugar de construir.
Los lenguajes de programación permiten la arquitectura, integración y diseño e implementación de computadoras a gran escala. Permiten a las personas, también conocidas como programadores, interactuar con las computadoras y su hardware. Una abstracción de las computadoras en sus pocas décadas es una máquina, capaz de interactuar con diferentes robots, dispositivos, sensores o motores complejos. Aprender muchos lenguajes de programación le permite a uno comunicarse y, lo que es más importante, traducir un énfasis en el lenguaje de programación C a los lenguajes distribuidos que sirven para diferentes propósitos y aplicaciones. Es la diferencia entre una programación centralizada en C, frente a una programación más amplia y distribuida en lenguajes de programación adicionales.
Si creemos que todos los lenguajes de programación derivan de C, podemos iniciar lenguajes de programación competitivos, como Haskell, Lisp o Fortran. Estos simplemente no han alcanzado la misma escala, y en términos de máquina, probablemente todos dependan de un lenguaje de instrucciones de ensamblaje. Es bueno aprender C, dominar C y comprender y ser capaz de hacer la biblioteca estándar de C. Pero también es superior reconocer las abstracciones, los medios de referencia y los lenguajes de programación funcionalmente directos que no representan la acción en una máquina por C. En este sentido, aún puede aplicar las matemáticas y los conceptos centrales que le interesan, mientras sigue aprendiendo múltiples lenguajes de programación. Un estudio teórico de lenguajes de programación probablemente emplea un álgebra matemática esencial, que identifica componentes discretos, características clave y el sistema de tipos. También define la aplicación regular de funciones, clases y orientación a objetos.
Le recomiendo que explore la ingeniería de software si le gusta construir computadoras y sus componentes, dispositivos y dispositivos electrónicos relacionados. Significa que le gusta la programación, los proyectos de software, la creación de sistemas y aplicaciones, y trabajar a través del ciclo de vida del software no solo como un objeto matemático, sino como una disciplina de ingeniería. Por último, enfatiza su interés en la gestión y desarrollo de productos, trabajando con desarrolladores de software y comunicándose con empresarios para comercializar el bien.