El Internet de las cosas (IoT) es un entorno en el que los objetos, animales o personas cuentan con identificadores únicos y la capacidad de transferir datos a través de una red sin requerir la interacción de persona a persona o de computadora a computadora. IoT ha evolucionado a partir de la convergencia de tecnologías inalámbricas, sistemas microelectromecánicos (MEMS) e Internet. El concepto también puede denominarse Internet de todo.
Estos son los idiomas utilizados para (IoT)
do
Tiene sentido que un lenguaje desarrollado por primera vez para programar conmutadores telefónicos sea una opción razonable para el desarrollo de sistemas integrados. C está tan cerca de una lengua franca como existe en el mundo del desarrollo de software: está disponible en casi todas las plataformas de sistemas integrados avanzados que existen. Para algunas plataformas donde no está disponible directamente, sigue siendo la base del lenguaje dedicado utilizado en el SDK.
- ¿Cuál fue su primer proyecto de controlador de dispositivo y cómo lo hizo?
- ¿Qué es mejor, tomar sistemas embebidos o CCNA con un curso SDN y Python para un desarrollador / programador de red y IOT?
- ¿Qué tan útil sería el conocimiento de Raspberry Pi y Arduino para una carrera en sistemas integrados?
- ¿Vale la pena el desarrollo de hardware integrado de aprendizaje automático?
- ¿Cuáles son algunos de los mini proyectos interesantes basados en sistemas integrados para estudiantes de ECE?
Las probabilidades son buenas de que los programadores profesionales tengan al menos un conocimiento pasajero de C, y si no lo hacen, una inversión en el aprendizaje de C debería pagar tanto la carrera del programador como los esfuerzos de desarrollo de su empresa en el futuro. En términos actuales, C es un poco un retroceso: es de procedimiento en lugar de orientado a objetos. No viene con un sesgo incorporado hacia una interfaz gráfica de usuario, y es compilar
C ++
C ++ mantuvo la naturaleza libre de C pero agregó abstracción de datos, clases y objetos. Todas estas características hacen de C ++ una opción popular para aquellos que escriben código embebido e IoT para sistemas Linux. Este lenguaje de programación sigue fortaleciéndose después de más de 30 años en el campo.
Java
Una inversión en código Java se puede devolver en muchas plataformas diferentes. Java también se enseña como uno de los principales lenguajes de programación en cientos de programas de licenciatura en ciencias de la computación e ingeniería eléctrica, por lo que encontrar a alguien con habilidades en Java no es terriblemente difícil. Las dificultades surgen al asegurarse de que la plataforma elegida sea compatible con Java (las plataformas menos potentes tienen menos posibilidades de ser compatibles con Java) y que las bibliotecas de soporte de hardware disponibles para usted tengan todas las funciones de control que necesita.
Javascript
Desde sus inicios en Netscape, JavaScript se ha convertido en un lenguaje muy completo. Sin embargo, no es algo con lo que pueda contar para los controladores integrados livianos: su estructura interpretada significa que hay que pagar un precio general. Es un precio que requiere al menos un sistema a escala RasPi para pagar la factura.
Pitón
Al igual que con muchos de estos lenguajes, la posibilidad de Python como lenguaje integrado reside en tener suficiente potencia en la plataforma integrada. Para cualquier aplicación que tome datos, colóquelos en cualquier tipo de formato de base de datos, luego recurra a las tablas para obtener información de control, Python es un contendiente muy real.
Ir
Go admite entrada, salida y procesamiento concurrentes en muchos canales diferentes. Utilizado correctamente, esto permite la coordinación de toda una flota de sensores y actuadores. El riesgo es que los diferentes canales no necesariamente se conocen entre sí. Si un programador no tiene cuidado, un sistema puede comportarse de manera impredecible debido a la falta de coordinación. En términos técnicos, eso se llama “algo malo”.
Moho
Rust se desarrolló en Mozilla. Al igual que el resto del software de Mozilla, Rust es un proyecto de código abierto que está evolucionando rápidamente. Rust comparte muchas de las cualidades de Go, aunque resuelve un problema importante de Go.
Este es otro lenguaje que necesita algo de potencia, pero si tiene un equipo que quiere crear una aplicación que requiera concurrencia, debe mirar Rust and Go de lado a lado para ver cuál es el mejor candidato para su propósito.
Parasail
Parasail es un lenguaje que tendrá en cuenta si tiene un requisito para el procesamiento paralelo en su aplicación IoT. Hemos mencionado la concurrencia como un concepto de programación en lenguajes como Go y Rust. Si no sabe (o su equipo de desarrollo no puede explicar) la diferencia entre la programación concurrente y paralela, entonces debe investigar más antes de comenzar a codificar.
SI#
Donde muchos de los idiomas mencionados aquí son lenguajes de sistema grandes que se han reducido para adaptarse a una plataforma integrada, B # se diseñó desde cero como un lenguaje de control integrado muy pequeño y muy eficiente. La máquina virtual integrada (EVM) que permite que B # se ejecute en una variedad de plataformas diferentes solo requiere 24k de memoria, mucho menos que la sobrecarga necesaria para muchos de los otros paquetes que hemos visto.
Si su proyecto va a vivir en plataformas integradas que no son tan grandes y complejas como una Raspberry Pi, entonces B # es un lenguaje que querrá considerar.
Ensamblador
Cuando quiera ir a la vieja escuela, o necesite mantener su proyecto lo más compacto posible, entonces el ensamblador es el camino que tomará. Assembler es una forma de empaquetar y construir el código de máquina puro que finalmente es ejecutado por el procesador. La buena noticia es que la sobrecarga es absolutamente mínima, y un experto puede hacer trucos de optimización que simplemente no están disponibles en ningún otro método de programación.
Para los programadores expertos y la versión final y optimizada de los productos de envío, el ensamblador puede llevarlo a espacios pequeños que simplemente no albergarán ningún otro entorno. Sin embargo, no es la forma más eficiente de crear prototipos, y si tiene suficiente espacio y poder para utilizar un lenguaje de nivel superior, debe aprovechar el mundo moderno.
Adelante
Forth es otro lenguaje diseñado y optimizado para la programación de sistemas integrados. Si bien se usa principalmente para la programación a nivel de sistema, hay un aspecto de Forth que debe abordarse: es muy parecido a una religión. ¿Conoces a los hablantes de esperanto que se acercan a ti en el aeropuerto y quieren conversar en un idioma que simplemente no entiendes? Muévalos al mundo de la programación y escribirán en Forth.
Información de: www.informationweek.com