¿Cuál es el mejor lenguaje de programación para IoT?

IoT (Internet de Thigs) es una industria relativamente nueva. Su propósito es crear una red de dispositivos conectados para recopilar, transferir y analizar datos para hacer que los dispositivos / hogares / ciudades sean más inteligentes. Ahora estamos acostumbrados a dispositivos inteligentes, pero hace una o dos décadas tener electrodomésticos que pueden regular su rendimiento fue un milagro.

Por supuesto, detrás de todos estos avances técnicos se encuentra un poderoso lenguaje de programación. Echemos un vistazo a algunos de ellos para saber cuál usar y cuándo usarlo.

  1. do

C se considera un lenguaje de programación de bajo nivel, pero se adapta perfectamente a las necesidades de IoT. Se puede utilizar para la cooperación directa con hardware con una sintaxis legible para humanos.

2. JavaScript

JavaScript proporciona soluciones simples a problemas tan complejos como IoT debido a sus numerosos marcos. Estos son los puntos de entrada más fáciles para la programación de embeddables.

3. Python

Python es un lenguaje de muchas aplicaciones, y IoT no es una excepción. Muchos sistemas integrados están codificados en Python. También tiene la mayor biblioteca de marcos y extensiones compatibles con la ejecución en dispositivos IoT pequeños.

4. PHP

Aunque a los programadores no les gusta mucho este lenguaje de programación, todavía es capaz de crear cosas útiles. Ayuda a crear interfaces web en la programación de IoT.

5. B #

Este lenguaje fue creado para Internet de las Cosas con el propósito del lenguaje de programación C. B # es conocido por su código limpio y legible.

Si desea leer acerca de más lenguajes y herramientas de programación de IoT, consulte el siguiente artículo 10+ Principales lenguajes y herramientas de programación de IoT

Generalmente depende del procesador que sea la base de su proyecto IoT. Este procesador determina las capacidades del dispositivo y, por lo tanto, cuán grande puede ser la huella de su código. Y si está utilizando un ATTiny45 como el corazón de su proyecto, la mayoría de los idiomas no funcionarán bien.

Atmel también crea circuitos integrados AVR32 y son capaces de ejecutar una máquina virtual Java, que admiten en hardware. (Utilice los circuitos integrados AVR32B). Consulte Microcontroladores AVR UC3 de 32 bits para obtener más especificaciones. Pero estos circuitos integrados tienen miles de millones de pines, por lo que usarlos en su propia placa PCB personalizada es un poco problemático al menos. Mientras que el ATTiny con sus 8 pines se puede usar fácilmente para cualquier proyecto que desee, incluidos los proyectos creados en una placa de pruebas.

Pero volvamos a los lenguajes de programación. En teoría, cada idioma debería poder crear binarios para su proyecto de IoT si alguien ha creado un compilador para él. Lamentablemente, la mayoría no existe. Incluso los compiladores de C que están disponibles para dispositivos IoT no admiten el conjunto completo de bibliotecas y lógica de C. Lo cual tiene sentido, ya que los dispositivos IoT generalmente carecen de los periféricos que muchos idiomas tienden a usar para entrada y salida. Por ejemplo, incluso el almacenamiento de archivos a menudo falta. Y si de alguna manera tiene una tarjeta SD conectada a su dispositivo, aún le falta un sistema de archivos.

Ese es el principal problema que tienes con IoT. Por lo general, solo está enviando y recibiendo señales hacia y desde los diversos pines del IC. Y dependiendo de lo que esté conectado al otro lado de esos pines, puede crear varias bibliotecas para admitir hardware específico, desde hacer un simple flash LED hasta manejar una pantalla táctil LCD completa con sonido adicional.

Entonces, para la programación de IoT, necesita un lenguaje de bajo nivel y C resulta ser el candidato más adecuado. Otro buen candidato sería Pascal, si solo los diseñadores de FreePascal estuvieran dispuestos a apoyar la plataforma Arduino. Sin embargo, Free Pascal admite varias arquitecturas de procesador. Pero requiere ejecutarse sobre un sistema operativo y los dispositivos IoT generalmente no tienen un sistema operativo.

Luego está AVR-Ada / Wiki / Home que podría ser interesante, si te gusta Ada. Sería divertido, pero carece de las muchas bibliotecas que puedes encontrar para tu código C.

Y si está dispuesto a vaciar su billetera, siempre puede elegir esto: mikroPascal PRO para AVR

También tienen MicroBASIC si prefieres usar BASIC.

Con la popularidad del IoT en aumento, es probable que haya más idiomas disponibles para compilar código para estos dispositivos IoT. Pero hoy, todavía es mejor usar C o C ++.

¡Incluso si estos compiladores de C son solo un subconjunto del lenguaje C!

Aunque Python y JavaScript ofrecen un punto de partida relativamente fácil, es posible que deba ingresar a C y / o Java para hacer aplicaciones más sofisticadas. Python no escalará a una aplicación IoT de dispositivos múltiples.

El desarrollo de la aplicación IoT puede volverse complejo y desalentador en el momento en que comienzas a tener solo unos pocos dispositivos. Muchos de los desafíos surgirán de la necesidad de: (1) administrar múltiples hilos; (2) ponga en cola los mensajes entrantes, a menudo en paralelo desde diferentes sensores; (3) transformar mensajes basados ​​en protocolos específicos; (4) estructurar y almacenar los datos de una manera que las aplicaciones normales puedan consumir; (5) configure la notificación o pub / sub para que su aplicación pueda ser dinámica (en lugar de seguir usando solicitud / respuesta). La mayoría de estas tareas no son fáciles de manejar en C o Java, ni en otros lenguajes de programación utilizados para tratar con “datos en reposo”, almacenados en la base de datos solamente.

Un nuevo lenguaje de programación TQL está proporcionando suficiente abstracción del dispositivo en el lenguaje en sí mismo para que estos procesos de eventos y tareas puedan automatizarse. Una discusión venía de esta publicación: https://www.linkedin.com/pulse/i

Por lo general, es mejor si ha tenido alguna experiencia usando Python para algunos sensores antes de aprender algo nuevo.

A partir de hoy, C y C ++ son los mejores. Básicamente, Java necesita una gran presencia (en comparación con la infraestructura informática disponible con la mayoría de los microcontroladores).

El problema es este: si necesita un lenguaje de nivel superior, necesita que la máquina tenga una potencia informática más alta. Eso significa un aumento en el costo del dispositivo. Eso afecta la ventaja de costo beneficio de IoT. Ergo, la mayoría de las compañías de chips IoT ahora tienen IDE C y C ++ para comenzar a usar IoT.

Pero Oracle también ha creado su propia versión de Java. Esto se llama el Java incorporado. Aunque todavía tiene una huella de procesamiento más pesada debido al modelo de máquina virtual, la huella de la versión incorporada se ha programado para ser más pequeña (en el tipo de procesadores y controladores Cortex). Pero nuevamente, Oracle Embedded Java cuesta. Cada dispositivo que envía con Oracle Embedded Java necesita una licencia. Eso se suma al costo que ya está pagando por la huella de memoria.

Además de esto, hay un marco de código abierto para IoT en la fundación Apache, Apache Kura. Esto está escrito en Java y funciona para la programación de IoT basada en Java.

Entonces sí. IoT posiblemente necesita un lenguaje más simple. Pero no estoy seguro de quién campanas ese gato.

En los últimos tiempos, Internet de las cosas es ahora un dominio popular en la comunidad de desarrolladores. Según una investigación realizada por Statista, hay 6.21 millones de desarrolladores trabajando en IoT. Hoy, el Internet de las cosas (IoT) es una realidad con termostatos inteligentes, automóviles conectados y centros domésticos inteligentes como Amazon Echo (que usa varios idiomas como Node.js, Java y Python). Si lo lleva a lo básico, las “cosas inteligentes” están utilizando muchos de los mismos idiomas que usan las aplicaciones en sus computadoras personales y dispositivos móviles.

Según la encuesta de desarrolladores realizada por la Fundación Eclipse, los cuatro idiomas principales para crear soluciones de IoT son los siguientes:

  • Java
  • do
  • JavaScript
  • Pitón
  • Ir

Estos idiomas son más o menos los mismos cuando se trata de aplicaciones de escritorio, aplicaciones móviles y servidores. Por lo tanto, puede parecer que no hay otra diferencia que los objetos inteligentes son como pequeñas computadoras. Aunque esto es cierto, existen algunas diferencias significativas cuando se trata de todas las cosas que componen IoT.

Leer más: Principales lenguajes de programación utilizados en IoT

El Internet de las cosas (IoT) es una plataforma completamente nueva para desarrolladores e ingenieros, pero una cosa debe permanecer constante a medida que avanzamos en este nuevo mundo, los lenguajes de programación. Desde nuestro tiempo limitado revisando proyectos de IoT, los desarrolladores parecen estar utilizando los mismos idiomas para sus proyectos, al tiempo que integran algunos cambios específicos para IoT.

¿Qué idiomas son los mejores para IoT?

Desde oral2 hasta personas de la industria que han trabajado en dispositivos y sistemas IoT antes, C, C ++ y Java son las opciones más populares para proyectos de propósito general. C es uno de los primeros lenguajes de programación y es popular para proyectos de bajo nivel, C ++ amplía las capacidades de C. Hay otro lenguaje llamado C #, la propia versión de nivel superior de Microsoft, pero no muchos desarrolladores lo usan. Se pueden encontrar mejores explicaciones de las diferencias entre las tres C aquí, aquí y aquí.

C se considera el más útil para dispositivos IoT porque no requiere mucha potencia de procesamiento.1 C ++ es una alternativa si el dispositivo IoT requiere tareas más complejas, piense en termostatos y tostadoras inteligentes en lugar de dispositivos que detecten humedad o calor. Java es otro lenguaje de propósito general que es útil para dispositivos IoT que requieren mucha interfaz y cálculo, ya que es más portátil que C ++, liviano (para un lenguaje de alto nivel) y más comúnmente enseñado.

Ver también: Por qué el código abierto está creciendo y muriendo al mismo tiempo

Python es otro lenguaje de programación frecuentemente mencionado por los desarrolladores. Es más flexible que C o Java, que tienen muchos requisitos y reglas acumulados a lo largo de las décadas. Python se ha convertido en un recurso valioso para los desarrolladores de aplicaciones web, pero algunos no lo ven pasar a IoT en el corto plazo. JavaScript es otro lenguaje de aplicación web popular, pero los desarrolladores ven a Python como superior para los proyectos de IoT, debido a su soporte para programación incrustada.

Otros lenguajes de programación son más específicos.

Si no desea utilizar C, existen otros lenguajes de programación de bajo nivel que pueden satisfacer sus necesidades. B # es uno de esos, un lenguaje creado desde cero para dispositivos de muy baja potencia. Es similar a C #, pero despojado de la mano y equipado con funciones de control en tiempo real.

Assembler es el rey de los lenguajes de bajo nivel, capaz de ejecutarse en casi cualquier cosa. La desventaja es que no hay mano en absoluto, si el código no funciona, muy mal, si un nuevo procesador no acepta el código del ensamblador, muy mal.

El lenguaje de Google y Nest, Weave, podría hacerse popular si recibe más apoyo de los desarrolladores dentro y fuera de Mountain View. Google también tiene Brillo, una plataforma integral para dispositivos IoT, que podría promover el uso de Weave si se vuelve popular. Apple es un competidor con su lenguaje de código abierto Swift, actualmente comercializado en los desarrolladores de iOS y Mac OS.

Por ahora, los desarrolladores de IoT deberían mirar los lenguajes de programación que hemos usado durante décadas, antes de aventurarnos en el nicho y lo nuevo.

src: http://readwrite.com/2016/07/08/…

LISP (procesamiento de listas) es el mejor lenguaje de programación para IoT.

LISP (procesamiento de listas) es ese lenguaje de alto nivel que impresiona bastante a los desarrolladores de inteligencia artificial y también se ha utilizado en muchos proyectos clásicos de inteligencia artificial. El factor que lo coloca en la última posición es que, en comparación con otros, no es rápido.

Las mejores características de LISP:

  • Soporta programación simbólica.
  • Recolección de basura
  • Uniformidad de sintaxis.
  • Extensible.
  • Creación rápida de prototipos.
  • Traducciones automáticas.
  • Gran herramienta de creación de prototipos.

Para obtener más información sobre otros lenguajes de programación de Inteligencia Artificial, visite los 5 lenguajes de programación principales para crear soluciones de inteligencia artificial: Soluciones Techtic .

Para dominar el desarrollo de la arquitectura IOT (Internet de las cosas) y construir aplicaciones IOT eficientes, necesitaría dominar:

  • Electrónica Básica
  • Diseño de sistemas integrados y su programación
  • Programación del lado del servidor
  • Conceptos de diseño de bases de datos y programación
  • Diseño y programación de la interfaz (si está orientado al desarrollo del producto final del consumidor y desea proporcionar a su aplicación una interfaz basada en web / móvil)

Los idiomas que necesitaría para construir su aplicación IOT, básicamente girarían en torno a:

  • Cualquier lenguaje de programación de sistema incorporado, según la familia de entorno de desarrollo que elija. Las opciones disponibles son Arduino, PIC, Embedded C, Energia, etc.
  • Cualquier lenguaje de programación del lado del servidor con una gran cantidad de opciones a partir de PHP, Java, .NET, Python (Tornado / Flask / Django), NodeJS y muchos más.
  • Para el diseño de interfaces : basado en web / móvil, conocer HTML, CSS y Javascript lo ayudaría de muchas maneras. Puede crear interfaces web simples y hacerlo presentable e interactivo usando HTML y CSS, y puede agregar interacciones usando Javascript. Además de eso, si conoce Ionic , puede convertir sus páginas HTML en una aplicación web progresiva o una aplicación móvil híbrida también.

Entonces, como puede comprender, no existe un solo lenguaje MEJOR para hacer toda la aplicación, ya que hay 3 capas diferentes (2 como mínimo, si la aplicación no tiene una interfaz centrada en el usuario) para la realización práctica de una arquitectura IOT.

Cualquier hardware IoT barato está en una MCU con menos memoria. La memoria es cara. Para mostrar una muestra de trabajo, cualquier lenguaje de programación está bien. Si se trata de ahorrar costos, entonces no hay Python o JavaScript.
Puede comenzar a migrar de Python y JavaScript a Arduino y en el siguiente paso a C. No he escrito el libro de cocina IoT / M2M y he diseñado un adaptador GSM / GPS / BT para Arduino, STM32 Nucleo e Intel Galileo. En el Galileois a Linux. Puede ejecutar casi cualquier lenguaje de programación que desee. Podrá hacer un dispositivo de rastreo GSM / GPS, pero si se trata de costos y producción en masa, entonces volveremos a C.
Primera diapositiva de mi presentación como se muestra a continuación y toda la historia aquí:
Módulo GPS GPS GSM de bajo costo en el escudo Arduino de Harald Naumann en las publicaciones

Hace unos años, nadie pensaba que Python se usaría para IoT, ya que se centraba principalmente en aplicaciones web. Pero eso ha cambiado ahora, ya que es esencialmente un lenguaje de programación fácil de entender y utilizar en proyectos de IoT.

Aunque Python comenzó como un lenguaje de secuencias de comandos para unir código, se ha convertido en uno de los principales idiomas utilizados por muchos desarrolladores. Como los dispositivos pequeños tienen una potencia computacional y memoria limitadas, los desarrolladores tuvieron que ser creativos para facilitar la vida, por lo que terminaron eligiendo Python.

Como resultado, ha crecido en importancia dentro del espacio de dispositivos integrados al tiempo que permite a los desarrolladores crear aplicaciones que puedan entregar resultados comprensibles de minería de datos. En estos días, la mayoría de los microcontroladores populares también están utilizando Python. Por ejemplo, incluso hay versiones pequeñas como la placa MicroPython (solo unas pocas pulgadas cuadradas) y el paquete de software. Si quieres desarrollar algo genial para Alexa, mejor repasa tus habilidades de programación en Python.

Internet de las cosas usando Python | Curso IoT con Python Chennai

Talkj sobre IoT, las dos primeras cosas que me vienen a la mente son Arduino y Raspberry pi. Arduino tiene su propio lenguaje muy similar a C. Raspberry pi es una mini computadora. Tiene su sistema operativo ganado, Raspian, que es similar a Linux. Entonces, puedes trabajar con Python en él.

Cada lenguaje de programación es bueno, ningún lenguaje de programación es perfecto ni están retirados. Los desarrolladores están agregando más y más bibliotecas al lenguaje de manera regular.

  • En cuanto a la carrera, si quieres sobresalir en IoT, debes ser bueno en la programación. El lenguaje de programación que elija depende de usted. Cambia de persona a persona.
  • Prefiero Python sobre otros lenguajes cuando se reduce a IoT. Y de nuevo, esto depende de la forma en que un individuo vea IoT como una tecnología

Siento IoT como un camino desde:

Sensores -> Nube -> Análisis de datos -> Extracción de información útil

  • Como Python se usa ampliamente en análisis y programación, me inclino
  • Es una elección personal. Yo diría, elige un lenguaje de programación que sea tu fuerte, comienza con eso

Para obtener más información sobre IoT y lenguajes de programación, visite:

Introducción a Internet de las cosas | Tutorial de IoT para principiantes | Edureka

Para los 10 principales lenguajes de programación de 2018 , puede visitar:

Java, Python, C y Perl son muy populares para IoT. Lo que es “mejor” depende de su definición. Python es el más fácil de los 4 idiomas. C es el más rápido en ejecución y genera el código más compacto. Java se encuentra en el medio.

Algunas personas le dirán que JavaScript también es popular para IoT. No les creas. Sí, JavaScript está disponible para IoT, pero no es tan popular como los 4 anteriores.

Eso depende de en qué extremo de la “cosa” estás. En general, los dispositivos IoT son muy pequeños con memoria y capacidad de procesamiento limitadas, no siempre, pero muchos dispositivos IoT. Para los dispositivos donde la energía (tanto la electricidad como el procesamiento y la memoria) son muy importantes, debe utilizar lenguajes de programación de muy bajo nivel. Se prefiere C ya que tiene un nivel suficientemente alto para simplificar la programación, pero un nivel bajo para interactuar fácilmente con el hardware al direccionar directamente los registros, la memoria, etc. C ++ puede ser aplicable en algunos casos, pero para muchos de gama baja microprocesadores, C es la única opción práctica (aparte del ensamblaje).

Para dispositivos más grandes, existe una buena posibilidad de que se utilice un procesador ARM con un sistema operativo convencional. En ese caso, casi cualquier idioma es práctico. C ++ o Java probablemente serán los más populares, aunque Python es realmente popular para muchos SBC solo por su facilidad de uso y las muchas bibliotecas simples que lo admiten y muchas características de Internet.

En el lado del servidor de IoT, todo vale. Las consideraciones técnicas de ejecutar el servicio superarán cualquier aspecto específico de que sea una aplicación IoT.

¿Se pregunta cuál es el mejor lenguaje de programación para usar en proyectos de IoT? ¿Tiene problemas para decidir qué lenguaje de programación elegir? En caso afirmativo, ha llegado al lugar correcto y en el momento correcto. A continuación se enumeran algunos lenguajes de programación populares que son mejores para usar en proyectos de IoT.

# 1 Java

# 2 Python

# 3 lenguaje C

# 4 Javascript

# 5 Swift

# 6 PHP

Para convertirse en un experto en estos lenguajes de programación, debe someterse a una certificación IoT de un buen instituto de entrenamiento.

Internet de las cosas (IOT) se trata de usar hardware y software juntos para proporcionar automatización.

Permite compartir hardware y recursos mediante la red.

El lenguaje C es el lenguaje básico que todo principiante debe aprender. Es el básico para todos los demás idiomas avanzados.

Si vas a elegir solo uno, entonces debe ser C.

Y eso se debe a que puede programar cada pieza de IoT en C. Hasta donde yo sé, no hay otro idioma con esa distinción, por lo que todos pierden por defecto.

El primer idioma C de cada programador sigue siendo uno de los idiomas favoritos.

Supongo que C ya que se ejecuta en chips realmente pequeños, como es común en IoT.

Dicho esto, he usado Lua en un barco ESP8266, y es un lenguaje mucho más fácil de desarrollar.

Java , Python C # , D