Como técnico de hardware, a menudo trabajará cerca del “metal desnudo”. Hasta la fecha, aprendí y usé muchos lenguajes de ensamblaje de muchos microcontroladores, DSP y procesadores de propósito general diferentes para escribir controladores y para depurar el hardware y pasarlo al equipo de software (la mayoría de los cuales no quieren entender el subyacente hardware más de lo que debían).
Cuando apareció “C”, fue un regalo del cielo. “Lenguaje de la Asamblea Universal”, se burlaron sus sumos sacerdotes. ¡Perfecto, gracias! Todavía se requería (y se requiere) un cierto ensamblaje, especialmente para extraer la última onza de rendimiento de instrucciones especializadas, pero la mayoría de las veces, cada línea de “C” era solo una abreviatura para mí para un acceso casi directo a la potencia total del procesador .
Para no quedarse fuera de la fiesta, los sumos sacerdotes del software intentaron “arreglar” C agregando clases, herencia, funciones orientadas a objetos, etc. Ninguno de los cuales se sumó al poder del lenguaje para expresarse directamente en el hardware. Lo vi como una “muleta” para las personas que no saben cómo codificar bien a bajo nivel.
- ¿Cuál es la especificación más importante de la computadora portátil?
- ¿Cuáles son algunos casos de uso para usar algoritmos en el desarrollo de software?
- ¿Qué tan bueno es MacBook para software y aplicaciones de ingeniería electrónica?
- Al realizar el desarrollo de software en una startup, ¿cuáles son algunas cosas comunes que las personas se olvidan de tener en cuenta en sus estimaciones de tiempo?
- Lo importante en la creación de software: la calidad del código o el resultado final del producto.
Dicho esto, utilizo principalmente solo las características “C” con C ++, ya que sigue siendo el idioma nativo utilizado para la mayoría de los microcontroladores, DSP y sistemas operativos. Y sí, he estado lo suficiente como para codificar programas de propósito general en C ++, Fortran, Pascal, PL / M, Jovial, Delphi, ADA, Matlab y muchos otros que probablemente esté olvidando, incluido el aprendizaje de Python ahora. Lo hago para resolver problemas generales de ingeniería y analizar datos. Pero para diseñar y abrir hardware, dame mi compilador C / C ++ y vete a practicar tu religión / idioma del día en otro lugar.