Si quiero estar a la par con las necesidades futuras de programación en sistemas integrados, ¿qué idiomas debo aprender?

No veo nada más que Embedded C. Es una de las habilidades más importantes y necesarias en la industria integrada.

En muchos sentidos, programar un sistema embebido no es muy diferente a la codificación para una computadora de escritorio, pero existen algunas diferencias clave:

  • En un sistema integrado, los recursos (memoria y potencia de la CPU) son limitados. En comparación, con los sistemas de escritorio, comúnmente se supone que no tienen límites.
  • Los sistemas integrados suelen ser en tiempo real.
  • El número de sistemas operativos en uso en las computadoras de escritorio es bastante pequeño. Existen numerosas opciones para los sistemas embebidos, incluido el “metal desnudo” (es decir, ningún sistema operativo).
  • Para la primera aproximación, el hardware de todas las PC es idéntico. En comparación, cada sistema integrado es diferente, por lo que la programación cercana al hardware es más común.

En los primeros días de los sistemas embebidos, el factor No. 1 – y, en cierta medida, los números 2 y 4 – resultó en que la mayoría de la programación se realizara usando lenguaje ensamblador. Esto sigue siendo una opción, pero ahora el ensamblaje se usa solo cuando es absolutamente esencial.

Las necesidades de los desarrolladores integrados son lo suficientemente especiales como para que se espere que se hayan desarrollado lenguajes especializados para satisfacer sus requisitos únicos. Hay ejemplos de lenguajes que se han diseñado desde cero para aplicaciones integradas (por ejemplo, PL / M, Forth, Ada), pero no han encontrado aceptación universal.

C

C fue diseñado en la década de 1970 por Dennis Ritchie en AT&T Bell Labs. El lenguaje se basó en un intento anterior de desarrollar un lenguaje de alto nivel llamado B que tuviera los beneficios del ensamblaje. Esto, a su vez, había comenzado como BCPL en Cambridge, Inglaterra. El libro de referencia original, The C Programming Language de Brian W. Kernighan y Dennis M. Ritchie, se publicó en 1978. La estandarización completa (por ANSI) tomó otros 10 años, y desde entonces ha habido varias iteraciones.

Aunque nunca fue diseñado o destinado para uso incorporado, C sigue siendo el lenguaje de programación integrado más utilizado, con compiladores disponibles para casi todos los microprocesadores, microcontroladores y núcleos de procesadores del mercado.

Aunque C es un lenguaje estructurado, ofrece una gran flexibilidad, lo que permite escribir código que es bastante legible, pero con la ofuscación una opción fácilmente disponible.

Eche un vistazo al árbol genealógico general de los lenguajes de programación.

Tiene una variedad de idiomas para aprender, pero le sugiero que comience con C. Es ampliamente aceptado, y muchos de los lenguajes se derivan o son variantes de C. Fueron diseñados para facilitar la programación, pero con C puede tener un acceso más profundo hacia el hardware.

¿Cuál es el mejor idioma para codificar su próximo proyecto? Si usted es un diseñador de sistemas integrados, esa pregunta siempre ha sido un poco tonta. Utilizará, C, o si está tratando de impresionar a la administración, C disfrazado de C ++. Quizás algunos fragmentos de código críticos se escribirán en lenguaje ensamblador. Pero según un estudio reciente realizado por el Grupo Barr, más del 95 por ciento del código del sistema embebido hoy está escrito en C o C ++.

Y sin embargo, el mundo está cambiando. Los nuevos codificadores, los nuevos desafíos y las nuevas arquitecturas están aflojando el control de C, algunos dirían que el control frío y muerto de C en el software incorporado. Según un estudio reciente, el lenguaje de más rápido crecimiento para la informática integrada es Python, y también hay muchos más candidatos en la carrera. Estos lenguajes aún constituyen una pequeña minoría de código. Pero cada vez más, el programador que se aferra a C / C ++ corre el riesgo de sonar como el experto en código de ensamblaje de hace 20 años: su forma genera código más rápido, más compacto y más confiable.

Resumiendo con idiomas con los que sin duda debes estar bien versado …

  • do
  • C ++
  • Montaje
  • Pitón
  • Node.js
  • Rubí

Para concluir…

Algunos controladores incluso están programados en sus propios lenguajes propietarios ( PIC Basic y Dynamic C, por ejemplo). Pero un experto en los idiomas anteriores puede descifrar PIC Basic o Dynamic C en una semana.

¡¡¡Disfruta aprendiendo!!!

En primer lugar, en los sistemas integrados, el lenguaje ensamblador es obligatorio, por lo que su imp. para aprender lenguaje ensamblador, luego vaya por c y c ++.