You are currently browsing the archives for the pragmatismo category


Ruby, o melhor amigo do programador?

O título deste post é o principal slogans do Ruby.

 

Opiniões à parte, se você quiser tirar suas próprias conclusões, agora você pode, gratuitamente, lendo o livro Aprenda Programar online.

Iniciativa do Akita, mais uma vez. Parabéns!

Comparações podem ser enriquecedoras

Todo mundo sabe que eu amo escrever programas com Java. Se não todo mundo, pelo menos a maioria dos meus amigos programadores. E ao contrario do que muitos podem pensar, eu não acho que Java seja a última bolacha recheada do pacote, ou talvez a última Coca-Cola no deserto. Pra mim, Java é apenas uma opção. Uma ótima opção, mas ainda assim, uma opção.

Seguindo nesta linha de pensamento, penso que comparações podem ser enriquecedoras. Não pra depreciar, mas pra nos ajudar a otimizar e a programar melhor.

Bom, sem mais explicações, leiam este post…

Smalltalk x Java

Que linguagem aprender em 2008?

Seguindo o conselho dos programadores pragmáticos, decidi, definitivamente, que este ano vou aprender uma nova linguagem de programação. Aliás, desde o ano passado venho fazendo uns ensaios dessa tarefa, rabiscando uns códigos em Ruby, mas nada muito além disto.

Mas este ano… Ah, este ano… Tudo vai ser diferente… Este vai ser o Ano de Ruby pra mim!

Pretendo também, com muito esforço e otimismo, começar a aprender Python talvez a partir do meio do ano. Vamos ver como será meu progresso com Ruby.

Aproveitando, quero indicar também alguns posts sobre isso:

A próxima linguagem a aprender
Que linguagem você aprenderá em 2008

E você, vai aprender que linguagem em 2008? Responda aqui neste post…

Não há uma única linguagem de programação

É gosado ver como de uns anos pra cá se proliferou a idéia de que há uma linguagem de programação que pode resolver todos os problemas computacionais. Essa idéia ganhou a maioria de seus adeptos entre os programadores Java, já que Java carrega consigo o conceito de “escreva uma vez, execute em qualquer lugar”. Doce ilusão. Não a de que programas escritos em Java podem ser executados em qualquer lugar, porque a Máquina Virtual Java já é uma realidade bem pouco virtual há anos. Mas a idéia pretenciosa de que todos os problemas computacionais da face da terra poderiam [e deveriam] ser resolvidos com Java. Poder ser executado em qualquer lugar não significa necessariamente ser a melhor opção em termos de resolução de um problema computacional, quando este tem uma plataforma computacional invariável.

Bem, antes que alguém pense o contrario, vou dizer clara e francamente, no bom e velho português de Luis Vaz de Camões: Eu adoro Java! É sério. Eu comecei aprender Java na versão 1.1.8, em meados de 1997, e ganho dinheiro com ela a mais de 7 anos. Fiz faculdade, comprei um apartamento, me casei, comprei um carro, viajei pra vários lugares, comprei uma centena de coisas, inclusive o laptop no qual estou escrevendo este post, programando com Java. Mas não me atrevo a pensar que Java é a linguagem de programação ideal para resolver todo e qualquer problema computacional. Não mesmo!

Voltemos um pouco no tempo. Década de 90, Sun Microsystems, Green Project, o princípio da linguagem Java.

A linguagem Java não foi projetada para resolver os problemas computacionais os quais são resolvidos com ela hoje. Ela foi projetada com um objetivo, mas ao longo dos anos foi se adaptando a outros bem diferentes. Por que então deveríamos pensar que ela é a única e melhor opção?

Isso parece lógico, não? Pois é… É o que é…

Cada problema computacional é diferente do outro, ainda que semelhantes. Assim, cada um deles deve ser analisado por diversos pontos de vista da engenharia de software:

– Ambiente de execução;
– Produtividade de implementação, teste e distribuição;
– Escopo topológico;
– Experiência de usuário;
– Custo e oferta de profissionais;
Apenas para citar alguns.

Fato é que, sempre há uma linguagem de programação mais aderente à resolução de um determinado problema computacional, e em um ambiente profissional, programadores, arquitetos e engenheiros de software não podem levar a cabo suas preferências pessoais. O sucesso do dado projeto vale mais.

É claro que sempre será mais divertido programar com a linguagem que se tem maior preferência, ou mesmo paixão. Mas linguagens de programação são o meio e não o fim.