Segue para o conteúdo

Archive for novembro, 2006

17
nov

Programming Embedded Systems, Second Edition

Programming Embedded Systems, Second EditionRecentemente recebi gratuitamente uma encomenda com 4 livros da editora O’Reilly para que eu fizesse as resenhas desses livros.

Antes de tudo eu devo avisar que essa resenha não pertence à série de resenhas que eu vinha fazendo, e que devo continuar em breve, à qual eu dei o nome de “Leitura Obrigatória”.

O livro de hoje é o Programming Embedded Systems, Second Edition. Eu já estou quase terminando a leitura deste livro e já me sinto à vontade para recomendá-lo por aqui porque eu realmente me empolguei com o material.

Como muitos já sabem eu voltei a praticar o antigo hobby de montar dispositivos eletrônicos, e desde que eu havia parado de brincar com essas coisas muita coisa mudou. Hoje em dia é muito comum encontrar microprocessadores e microcontroladores em vários projetos, e trabalhar com esses componentes exige um conhecimento que mora entre a eletrônica “pura” e a informática.

Como eu já tenho bons conhecimentos de informática e meus conhecimentos de eletrônica “pura” estavam evoluindo com a prática do meu antigo hobby, estava faltando construir a ponte que iria unir essas duas áreas do conhecimento.

Na mesma época recebi uma proposta da O’Reilly para fazer resenhas dos livros de Python deles e aproveitei para pedir alguns títulos que tratavam de dispositivos embarcados. Recebi este livro juntamente com outros 3 de Python (aguardem resenhas) e comecei a lê-lo.

O livro tem foco prático como em quase todos os títulos da editora O’Reilly. Os autores realmente irão desenvolver o assunto em cima de uma plataforma real de desenvolvimento que usa um processador ARM XScale e irão conduzir o leitor desde o ponto onde a gente faz um LED piscar até o momento onde desenvolvemos aplicações reais com RTOS e Linux.

O livro fala sobre device drivers, interrupções, registradores, memória e sobre como gerenciar e desenvolver software em C (gcc) para usar todas essas funcionalidades.

Vale destacar que esse livro fica exatamente na fronteira entre um livro de nível básico e um livro avançado, ou seja, se você não entende nada de eletrônica e muito pouco de informática esse livro não irá lhe servir. Se você também já é um especialista no assunto pode achar o livro massante demais na primeira parte que trata de assuntos mais básicos.

O próximo passo agora é adquirir um kit de desenvolvimento parecido com esse que foi proposto no livro e começar a brincar. Eu tenho certeza que eu vou me divertir muito com esse tipo de coisa depois de ler este livro.

Para comprar: Programming Embedded Systems, Second Edition

10
nov

Python está “pronta para o mercado”

Recentemente li um artigo em um blog que se propunha a vender a idéia de que a pilha “J2EE/Java/Linux” seria a mais perfeita escolha para uma fábrica de software trabalhar.

Em certo momento do artigo o autor faz uma comparação da plataforma Java que usa quase que exclusivamente a linguagem Java com outras plataformas e/ou linguagens de programação. Neste momento ele explica porque Python não seria uma boa escolha:

…Python, apesar de ser mais moderna e poder ser compilada, não foge muito deste escopo também. Além disso, ambas (Perl e Python) não conseguiram uma aceitação comercial madura, e, não representando um investimento seguro a longo prazo, não devem ser escolhidas como estratégicas (sic) para a fábrica de SW de uma empresa, ou para um sistema complexo e de missão crítica.

Esse chavão “…não conseguiram uma aceitação comercial madura…” e suas variantes são sempre repetidas com veemência e numa quantidade extremamente alta. Acho que essas pessoas fazem isso pensando que se repetirem essa mentira ela talvez se torne verdade.

Se é verdade que não existe empresas do tamanho da Sun, Oracle e IBM que promovam Python da mesma forma que se promove Java também é verdade que existem muitas empresas que usam o poder de Python para concorrer com toda essa força bruta usada pelos javanistas.

A coisa funciona mais ou menos assim:

  1. você quer produzir software pra ganhar dinheiro.
  2. você pode escolher Java ou Python pra trabalhar
  3. os seus concorrentes já usam Java ha bastante tempo e estão mais adiantados no desenvolvimento de seus softwares
  4. se você escolher Java, você precisa do mesmo tempo que eles para desenvolver o seu software
  5. usar Python te torna mais produtivo1 e consequentemente você levaria menos tempo para alcaçar seus concorrentes e em pouco tempo ultrapassá-los.

Esse cenário já foi bem descrito por Paul Graham mas os atores envolvidos no tempo em que ele iniciou a empresa dele eram C++ (fazendo o papel da Java) e Lisp (fazendo o papel de Python).

A dica que eu daria para as empresas que produzem software é: prestem atenção em Python e experimentem-na. Eu garanto que depois de usá-la você vai querer mantê-la como “segredo de negócio” para seus concorrentes, algo como uma “arma estratégica” contra eles.

E se você não gostar de Python também pode experimentar Ruby porque com qualquer uma dessas você certamente produzirá muito mais e melhor do que usando Java/J2EE. E se isso não for verdade eu publico o seu case de insucesso aqui neste blog e dou o meu braço a torcer.

Por último: Cobol, Clipper e Delphi já foram as linguagens que todos diziam ser “maduras para o mercado”. Pense nisso.

1 Existem várias formas de comprovar essa afirmação mas todas elas são extensas demais para este blog. Convido os interessados a pesquisarem sobre essa afirmação na Internet ou com empresas que já assumiram publicamente que usam Python.

3
nov

Fim do suspense…

Saiu o vídeo de demonstração do Canola… Em pouco tempo teremos ele nos Internet Tablets.