Qual é o futuro do Python em um sistema embutido (IoT)?
Python demasiado grande para o IoT - experimente a serpente mais pequena como Bimini Blind Snake ou Ring-necked Snake - cabe num dispositivo mais pequeno, muito bom.
Oh... quer dizer a linguagem de programação, bem, porque não o disse?
Python (como todos os outros dizem) é uma linguagem de programação interpretada. Portanto, ela precisa de ser executada por um intérprete. Isso significa que ela precisa de mais recursos e também roda muito mais devagar.
P>Alguns diriam que isso é inadequado para o IoT e sistemas embarcados porque você precisa fazer o máximo uso possível dos recursos limitados, e isso é verdade até certo ponto.
No entanto, o IoT e o espaço embarcado está evoluindo como computadores e telefones - mais CPU, RAM, armazenamento, etc. estão sempre sendo adicionados e alguns dos dispositivos podem ser considerados computadores completos agora.
Foi exatamente isso que aconteceu com computadores desktop (e depois laptop) - quando os desenvolvedores foram liberados da necessidade de se preocupar com restrições de CPU/memória/armazenamento, eles podiam usar ferramentas mais lentas, mais inchadas e mais ineficientes, que eram MUITO mais rápidas de desenvolver e assim criar mais recursos rapidamente, melhorando a experiência do usuário em um ritmo muito mais rápido.
Veremos essa tendência em alguns dispositivos IoT como smartwatches, que eventualmente se tornarão tão poderosos quanto nossos telefones - eu posso muito mais facilmente criar um aplicativo Android ou iDevice usando React Native e Javascript do que com as linguagens de programação "nativas" como Java ou Swift.
Neste tipo de cenários, algo como Python seria perfeito. Deixando as melhorias evolutivas na tecnologia cuidarem dos recursos (apenas jogando mais em nós), podemos usar linguagens e ferramentas muito mais agradáveis às quais não teríamos acesso antes, tornando o IoT e o desenvolvimento de sistemas embarcados muito mais rápidos e acessíveis para iniciantes.
No entanto, também veremos dispositivos muito menores como minúsculos sistemas embarcados do tamanho de cabeças de pinos se tornando poderosos o suficiente para rodar sistemas operacionais embarcados completos. Para estes, é claro, não podemos usar Javascript ou Python.
Nestes casos, é necessária uma linguagem de programação de sistema que mapeie muito de perto o hardware. Costumava ser C e C++, mas eles podem morrer agora - a fundação Mozilla desenvolveu o Rust, que é basicamente C++, mas sem toda a porcaria e esquisitice. Você também pode usar Go, pois ele se compila até um único binário também, mas não é realmente para ser usado para programação de sistema.