Linguagens são apenas linguagens…

Segundo o mais famoso dicionário da língua portuguesa, linguagem pode significar:
Forma de expressão que é próprio dum indivíduo, grupo ou classe, usada para a comunicação com outras pessoas.

Pois bem, partindo desse principio de que uma linguagem deve facilitar a comunicação com outras pessoas e te ajudar a expressar seu conhecimento, vamos entrar no contexto do desenvolvimento de software e colocar em discussão um tema que gera muita confusão, acaba com longas amizades e até destrói alguns casamentos. Qual a melhor linguagem de programação?

Achar uma resposta para essa pergunta muitas vezes passa por encontrar todo tipo de argumento possível pra defender a linguagem que você usa. Isso pode ser um grande erro, uma forma de fechar os olhos para tecnologias que podem tornar-lo um programador melhor.


O Objetivo de uma linguagem de programação é permitir que um programador possa resolver problemas computacionais criando um conjunto de instruções que seguem um determinado padrão, por meio do qual se representam ações executáveis por um computador.


Isso pode fazer com que muitos pensem que a melhor linguagem é aquela que permite que um desenvolvedor possa se “comunicar” da melhor forma com o computador. Mais um grande erro. Para isso existem os compiladores.


Quem já trabalhou em um projeto razoável, já sofreu com problemas durante a reutilização do código, como comentários que não comentam nada, códigos macarrônicos entre outros fatores que atrasam qualquer projeto de criação de software. Não existe nada mais estressante para um desenvolvedor do que perder horas, dias, semanas ou meses tentando entender um código que outro programador criou. Com isso você perde muito tempo de desenvolvimento, tentando ler códigos e corrigir bugs o que diminuem sua produtividade.


Pensando dessa forma, uma linguagem de programação deve melhorar a comunicação entre desenvolvedores, facilitando a criação de códigos mais limpos, claros e que podem ser lidos facilmente por outro programador a qualquer momento. Portanto, ser o mais próximo de uma linguagem humana e intuitiva é uma grande qualidade e deve ser considerada na escolha de uma linguagem para começar a programar.


Então pare de enrolar e diz logo, qual devo escolher? Sinto desapontá-lo, mas essa pergunta não tem uma resposta predefinida, pois depende de alguns fatores que estão totalmente incorporados a relação do programador com a linguagem. Você deve escolher a linguagem que transformar você em um programador melhor, fazendo-o se divertir programando, aumentando sua produtividade e te animando a se aprofundar nos conceitos e na filosofia por trás dela, mas cuidado para nunca ficar limitado a não conhecer as novas tecnologias que surgirem. Isso é um erro gravíssimo, mas que freqüentemente acontece no mundo do desenvolvimento de software.


Antes de concluir o raciocínio, um exemplo interessante de que a linguagem melhor é a que fornece a possibilidade de se expressar melhor, acontece quando imaginamos um possível bate papo entre um brasileiro e um americano. Muitas pessoas podem achar que o correto é o brasileiro falar inglês, outras acham que o americano é quem deve falar português e alguns que vai depender se o brasileiro está nos Estados Unidos ou se o americano está no Brasil. Mas a forma como o brasileiro e o americano devem se comunicar é a forma em que ambos consigam se expressar de forma mais adequada e confortável, seja ele falar inglês, português ou tentar uma comunicação por mímica.


Portanto, procurem conhecer bem a linguagem que você programa ou está interessado em começar a programar e a comunidade por trás da mesma. Procure uma linguagem que te possibilite desenvolver seu conhecimento da melhor e menos dolorosa forma possível. Caso você consiga isso, ela é ideal. Na verdade, a linguagem pouco importa. Você, o programador, é quem faz toda a diferença no final das contas.


Mas antes de finalizar, gostaria de falar um pouco sobre qual a linguagem tem sido ideal pra mim até o momento. Essa linguagem em específico tem me tornado mais produtivo, mais apaixonado pelo simples fato de programar e me proporcionado grandes momentos de diversão. Você quer saber que linguagem milagrosa é essa? Ruby, uma linguagem dinâmica, totalmente orientada a objetos, open source com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita, assumindo a filosofia de tornar as coisas simples fáceis e as coisas complexas possíveis. Ruby surgiu em 1995, foi desenvolvida por Yukihiro “matz” Matsumoto que tinha como um de seus objetivos tornar o ato de codificar algo mais natural.


Até por esse motivo, a linguagem que vou abordar com mais freqüência será Ruby e seu framework de desenvolvimento web Ruby on Rails ou simplesmente Rails. Porém, o foco principal deste modesto blog é discutir e compartilhar conhecimento na área de desenvolvimento de aplicações principalmente para web, se aprofundando em paradigmas de desenvolvimento, metodologias ágeis, web design entre outros assuntos relacionados. Sendo assim, nosso foco não é uma única linguagem de programação, discutiremos sobre outras linguagens e frameworks sempre que for pertinente.


PS: Em breve estarei escrevendo sobre alguns paradigmas, destacando a “Orientação a Classes” que existe na maioria das linguagens que dizem ser Orientada a Objetos, além de metodologias de desenvolvimento ágil, a verdadeira POO com Ruby, como se tornar mais produtivo adotando TDD, BDD, alguns mini tutoriais de ruby on rails e muito mais.

Aguardem!!!

Notas