Desde 2007 que me aventuro nessa linguagem de programação chamada Python. Comecei com o tutorial on line disponível em http://docs.python.org/tutorial/. Para quem domina outras linguagens de programação e aos "escovadores de bytes" pode parecer que o Python não tem capacidade de processamento, "a nível de" bit (essa é boa!). Deixo com vocês a opinião de um especialista que escreveu o artigo Why Python sobre sua experiência com o Python. Como o método "solucionático" (leia o Manifesto) é orientado ao funcionamento de um hardware, usamos trechos de programas e scripts disponíveis na net (dando o devido crédito aos seus autores) e o agregamos ao projeto.
O interesse pelo Processing surgiu com o Arduino. Demorei um minuto para fazer meu primeiro sketch usando o Processing. É assim que se chama o "script" do Processing. Para simplificar e evitar confusão, quando falarmos em sketch do Arduino significa um sketch feito em Wiring, que é derivado do próprio Processing (uma espécie de dialeto), ok?! Cuidado porque até a extensão .pde é a mesma do Processing. Mas o compilador Wiring acusa logo o erro.
O Python tem uma afinidade excelente com a nossa plataforma de hardware, o Arduino. Além disso, ele tem uma similaridade com o Processing, são quase gêmeos siameses! E, como já sabemos, a linguagem do Arduino é o Wiring, derivada do Processing. Ou seja, é tudo da família. Aprendendo um, estamos estudando o outro, o que implica em um ganho de produtividade. Para um bom começo, estudem o tutorial em português nos anexos no fim dessa página. O documento foi obtido de http://www.python.org.br/wiki/DocumentacaoPython?action=AttachFile&do=get&target=python24.pdf.
Quadro comparativo Python X Processing
Python é considerada uma excelente linguagem de aprendizagem por causa de sua sintaxe e estrutura limpas. Python é tipicamente usada para aplicações não gráficas Não uma uma biblioteca gráfica nativa, porém aplicações gráficas podem ser criadas usando as alguns conjuntos de ferramentas.
Python é mais um produto de um esforço comunitário do que um projeto corporativo. Python foi criado pelo benevolente ditador Guido van Rossum. A linguagem é caracterizada pela sintaxe curta e por ter uma grande variedade de módulos que estendem as suas possibilidades.
Tradução do texto contido em http://wiki.processing.org/w/Python_Comparison.
Não foi dito nessa comparação que o Processing faz de tudo: som, texto e imagem. Ele controla o mouse, as portas seriais, as placas de som, de video e de rede! Tudo isso com uma sintaxe curta e naturalmente compreensível. Com duas horas de estudo já dá para tirar da gaveta aquele projeto em que faltou uma interface gráfica apresentável. Sei que você tentou com Delphi e ficou tosco, mas se funcionou ganhou ponto pela iniciativa. E Java? Bom, na minha opinião ter que baixar 250Mb de sdk's, jdk's etc, para rodar um script de 30 kb? Não dá!
Para fechar, os nossos projetos, em geral, têm um "sketch" Arduino varrendo as portas e transmitindo/recebendo dados pela serial; um "script" Python ou um "sketch" Processing que intercepta os dados seriais e toma as decisões em um nível mais alto, como acessar um arquivo na "nuvem", gerar um gráfico na tela do micro, comunicar-se via bluetooth com um celular Android etc. O bom disso tudo é a portabilidade (cross-platform). Vai rodar no Linux, que é o que eu uso mais frequentemente (Ubuntu 12.04 LTS); no Windows - testei com Xp e Win7; e, muito provavelmente, no iOS, que nunca testei, mas funciona pelos relatos dos seus usuários.
Obs: Estou usando atualmente o Python 2.7. Um dia minha máquina com Windows deu "Blue Screen of Death" e o que me "tirou do prego" foi um pendrive com o Ubuntu 11.04 . Em Windows usava a versão 0022 do IDE do Arduino. Em Linux uso a 1.0 e variantes (1.4 e 1.5.5) que rodam praticamente todos os scripts, pois há incompatibilidade em algumas bibliotecas. O mesmo ocorria com a versão 1.0 do Windows. Desde então passei a usar o Ubuntu Precise Pangolin (12.04.1 LTS) estou muito satisfeito e recomendo a troca, pois Linux está na base do Raspberry Pi, do PcDuino e, obviamente, do OpenWRT.