Linguagens de Programação Diferentes: Cada macaco no seu galho

Foto: Max Sang

Frequentemente encontro com pessoas que já programam em uma linguagem de programação e começam a reclamar de outras linguagens de programação. Falam que a linguagem “Foo” é ruim por causa disso ou daquilo.

Essas pessoas confundem qualidade com característica. Uma coisa não pode ser considerada ruim simplesmente porque ela é diferente de algo que você gosta.

Linguagens de programações diferentes são isso mesmo: diferentes. Você não pode esperar que uma linguagem que você está aprendendo agora seja igual à que você usava anteriormente. Se fosse assim você não estaria aprendendo uma linguagem nova, não é?

Se você usa Java (ou C, ou Pascal, ou …) e gosta muito das características dela, use-a. Se você gosta somente de um subconjunto de características busque uma linguagem que tenha esse mesmo subconjunto de qualidades e que acrescente algo de bom.

Se você gosta da performance obtida com um programa em C e está disposto a pagar o preço de ter que gerenciar memória “na mão”, cuidar da portabilidade de seu código “na mão”, lidar com ponteiros voadores e vazamentos de memória, colocar “;” no final de cada linha do código fonte, declarar o tipo das variáveis e usar braces, fique com C. Se você gosta disso tudo significa que você não precisa de outra linguagem de programação para trabalhar.

Se você usa Java, está interessado em empregabilidade, gosta de usar um palavreado recheado de buzzwords, acha que certificações são importantes, gosta de declarar tipo de tudo, gosta de lutar contra o compilador, usa XML até em cartão de visita e gosta de empilhar 50 decorators para abrir um arquivo texto, continue com Java.

Python é uma linguagem de programação diferente de C e de Java. Até tem algumas semelhanças, mas são poucas. Portanto se quiser aprendê-la tenha isso em mente e não fale mal dela porque ela é diferente.

Em Python você não usa braces como em C ou Java e isso não faz dela nem melhor e nem pior que outras linguagens. Em Python você também recebe “self” como parâmetro dos métodos e isso não a torna menos OO ou mais OO do que as outras. Também não precisa de “;” no fim de cada linha (e dai?).

Em Python não precisamos declarar o tipo dos identificadores porque a resolução de tipos é feita em tempo de execução. Isso é diferente de Java, por exemplo, e é pior para alguns casos e melhor para outros. Tem gente que gosta e tem gente que não gosta. Se você não gosta, paciência, porque eu gosto. Java também tem seus “privates“, “protecteds” e “publics” e Python não tem. É pior? É melhor? Nada disso. É diferente.

Enfim, Python tem seus defeitos e suas virtudes e esse conjunto de características que fazem dela “Python”. Se ela tivesse todas as características de C ela se chamaria “C” e se as caracterísicas fossem de Java ela se chamaria “Java”.

Além das características sintáticas e semânticas as linguagens carregam consigo uma certa carga de “estilo de programação”. Se você usar o “estilo de programação” C para programar em Python você não vai aproveitar as vantagens dessa linguagem nova.

Dependendo do caso você vai ter a sensação de que a linguagem é ruim onde na verdade você é que não está utilizando-a corretamente. Portanto antes de criticar a linguagem que você está aprendendo agora, pergunte-se se você está usando ela corretamente. Talvez você esteja martelando um prego com alicate e reclamando que o alicate é uma porcaria.

Gostou desse artigo?

Assine a minha newsletter quinzenal e receba artigos sobre Programação, Python, Django, carreira e empreendedorismo.

[mc4wp_form]

Invasão bárbara. Como lidar?

Desde muito tempo tenho participado de fórums e listas de discussões. A grande maioria delas trata de assuntos relacionados à informática mas também de listas com assuntos mais ‘genéricos’.

Já a algum tempo, com a popularização do acesso à Internet, venho presenciando uma invasão bárbara nos meios de comunicação onde antes costumava imperar as regras de etiqueta (tratada pelos internéticos ‘da antiga’ por netiqueta).

Quando algum desses bárbaros são inquiridos a se portarem de maneira adequada eles reagem nos tachando de mal-educados, reacionários e puristas da Internet. Eles nos adjetivam dessa maneira porque eles são os mal-educados e porque geralmente acham que qualquer novidade tecnológica que é boa pra eles necessariamente tem que ser boa para todos os outros participantes das listas.

Alguns casos que saltam mais aos olhos serão enumerados nesse artigo.

Letra maiúscula serve pra GRITAR!

Aos bárbaros que não conhecem nenhuma regra de netiqueta ou que não sabem que é possível desligar aquela luzinha do teclado onde está escrito “CAPS LOCK” preciso dizer que, por convenção, escrever em letras maiúsculas (caixa-alta) na Internet é exatamente o mesmo que gritar no ouvido do destinatário da mensagem.

É muito comum encontrarmos e-mails inteiros escritos em letras maiúsculas. Acho que esse tipo de e-mails só seria válido em listas de discussão que falem sobre letras de música de Trash Metal.

Quando expliquei isso para um dos bárbaros apontando para ele uma RFC (Request for Comments) que define regras de Netiqueta dizendo que os protocolos da Internet são especificados através desse tipo de documento o bárbaro me chamou de reacionário e afirmou que tal RFC ‘havia sido escrita a mais de dez anos atrás’. É quase como se eu falasse que quem navega na Internet é reacionário porque a RFC que define o protocolo HTTP/1.0 é da mesma época.

Vamos falar em português?

Vamos! Mas só em listas, fórums, comunidades do orkut, etc onde o idioma padrão é o português. O brasileiro fica todo orgulhoso da ‘invasão brasileira ao orkut’ e adora mostrar mais essa ‘conquista da amarelinha’ escrevendo em português até em comunidades de “Practice your English”. Parabéns! Nós deveríamos nos sentir orgulhosos por sermos tão mal-comportados bárbaros.

Já não bastasse os bárbaros escreverem em português nesses fórums, o português usado é de um nível tão baixo que chega a doer os olhos de quem lê. Não precisamos ser o ‘professor Pasquale’. Mas quem consegue ler esse tipo de coisa?

‘OI MEU NOME E OSVALDO E ESTOU COMESSANDO AGORA A PROGRAMA EM COMPUTADORES E ESTOU AXANDO TUDO MUUUUUUITO LEGAL E UM AMIGO MEU ME DISSE QUE PROGRAMAR EM PYTHON E SUPERLEGAL ENTAO REZOLVI ESPERIMENTA NE? RSRSRSRSRSRSRSRS E TIPOWWWW… GOSTARIA DE SABER SE SERIA POCIVEL VCS ME AJUDA A FAZER UM PROGRAMA DE CONTROLE DE UZINA NUCLEAR?????????????????????’

Adoraria que o exemplo acima fosse uma extrapolação do que tenho visto. Mas posso afirmar com absoluta segurança que já vi coisas muito piores. Como poderíamos fazer para explicar para os bárbaros que e-mail não é chat e que até mesmo em chat escrever de maneira totalmente ‘sem-nossaum’ não é uma coisa legal?

A minha irmã é uma das que escreve desse jeito. Eu já disse pra ela que pra conversar comigo tem que escrever certo. Ela estudou, tem um grau de instrução bom, sempre esteve rodeada de livros e leu vários deles. Quando começou a escrever ‘certo’ comigo fiquei impressionado com a quantidade de erros ortográficos no que ela escrevia. Esse tipo de linguajar ‘internético’ deseduca as pessoas.

Erros de ortografia, desconhecimento total de uso de pontuação (faltam vírgulas e sobram interrogações e exclamações), erros gramaticais, vocabulário paupérrimo, gírias ‘internéticas’, falta de parágrafos e uma total ausência de ordem na construção do texto já estão virando uma marca registrada da Internet por causa dessa invasão bárbara. Isso é bonito? É algo que deveria dar orgulho ao brasileiro? Do jeito que a coisa anda aqui no Brasil a gente vai comemorar o ‘exacampeonato'(sic) brasileiro no futebol.

Informação boa é melhor que visual bom

Tá, quase toda a totalidade dos clientes de e-mail hoje em dia sabem abrir um e-mail em formato HTML (aqueles todos coloridinhos com os smileys gráficos e onde as respostas ficam escritas em azul) mas isso realmente é necessário? E quem não usa esse tipo de cliente de e-mail? E quem tem necessidades especiais (deficiência visual) e precisa usar um cliente especial de e-mail? E quem ainda acessa a Internet usando Modem e uma linha discada?

Um e-mail em formato HTML é consideravelmente maior do que um e-mail convencional e esse tamanho maior não adiciona absolutamente nada de informação relevante à discussão. Então estamos desperdiçando recursos computacionais por nada. E os bárbaros, com esse tipo de atitude, ainda desperdiçam recursos computacionais dos destinatários de suas mensagens.

Quando recriminei um bárbaro por usar esse tipo de e-mail ele me chamou de ‘vovô da Internet’ como se isso fosse alguma forma de ofensa e não um elogio à minha experiência superior à dele.

Ouvir é melhor do que falar

Quando escrevemos uma mensagem em um fórum escrevemos ela uma única vez e muitas pessoas irão lê-la, correto? Na Internet a gente lê e ouve muito mais do que escreve e fala. Por isso é importante saber ouvir.

Quando você instrui uma pessoa que sabe ouvir ela te agradece por tê-la ajudado a se tornar uma pessoa melhor. Quando você instrui um ostrogodo ele se considera afrontado e reage mal.

Concluindo

Além desses ítems que descrevi aqui ainda existem outros. Resolvi me limitar aos que ocorrem com maior freqüencia para poupá-los de cenas mais fortes 🙂

Estou tratando desse assunto porque na lista PythonBrasil, onde sou moderador, geralmente somos tratados como rudes, mal-educados e coisas do tipo quando apontamos alguma coisa errada no comportamento dos participantes da lista.

A lista é uma ferramenta importante para todos que estão lá. Pedimos ajuda, trocamos experiências, aprendemos e ensinamos. Os bárbaros não invadirão o nosso território para nos matar e pilhar, e para que isso não ocorra expulsamos eles da forma mais polida que conhecemos: fazendo eles nos ouvirem. Ao aceitar a ajuda conseguimos ver que ele não é um bárbaro, é apenas alguém inexperiente.

Agora deixo a pergunta em aberto para que vocês me ajudem: Existe alguma maneira mais eficiente ou mais adequada para lidar com esse tipo de gente?

Threads “Históricas” PythonBrasil

Como é difícil ter ‘idéias’ de posts para colocar aqui…

Em junho deste ano a lista de discussões python-brasil irá completar 3 anos de existência (se não levarmos em conta o tempo de vida da antiga python-br que foi criada em Agosto/2000 e depois migrada para a atual).

A lista tem um tráfego razoável de mensagens e já é composta de muitos programadores experientes que ajudam os mais novatos conforme as dúvidas vão surgindo por lá. No início da lista eu e mais uma turma éramos os únicos que conseguiam ajudar esses novatos. A conseqüência dessa renovação na lista é a de que não preciso mais participar muito das discussões mesmo lendo todos os e-mails que vão para lá.

Uma característica legal dessa lista é que eventualmente algumas discussões ‘engrenam’ e se transformam em verdadeiras aulas on-line de programação. Uma coisa que observei é que em quase todas essas discussões existe um grupo de pessoas em comum. Esse grupo geralmente é formado por Rodrigo Senra, Gustavo Niemeyer, Pedro Werneck, José Nalon e eu.

Despois de uma pesquisa rápida no meu histórico de mensagens eu destaquei 12 threads que serviram para aumentar o meu conhecimento:

Eu torço todo dia para que threads como essa apareçam na lista.