[Cascavel-pm] Res: off topic DotNet

Eden Cardim edencardim em gmail.com
Segunda Junho 28 19:23:45 PDT 2010


>>>>> "Alceu" == Alceu R de Freitas <glasswalk3r em yahoo.com.br> writes:

    Alceu> Ui... espero que ele não veja o histórico desta lista.
    Alceu> Não quero ser gerente, então não cogito isto. :-)

Bom, se você não quer, vai ter que se contentar com o gerente atual.
    
    Alceu> Ok, ok. Rodamos bytecode.  Mas eu não preciso ficar
    Alceu> compilando, testando, compilando, testando. Não me diga que
    Alceu> NÃO entendeu isso.

Sim, você precisa compilar, testar, compilar, testar, como em qualquer
outra linguagem.

    Alceu> Eu acho que bebi alguma coisa. Eu não vi um comentário tão
    Alceu> "pejorativo" assim.

Eu não disse que foi pejorativo, eu disse que foi equivocado.
    
    Alceu> Caramba... eu sempre achei que o fato de discutir pontos de
    Alceu> vista diferentes te enriquece, e não o contrário.

"Ter um ponto de vista diferente" e "ser desinformado" são condições bem
distintas. Em geral, pessoas que "tem um ponto de vista" mas só tem a si
mesmo como referência, estão na segunda categoria. Essa discussão já
aconteceu bastante nas duas décadas passadas. Coisas como coleta de
requisitos e gestão de projetos de software já tem fundamentos básicos
documentados e essa thread se degenerou em recitar o que já existe na
literatura, sem acrescentar nada.
    
    Alceu> Não
    >> é bem assim, o iphone é uma prova disso, tem várias falhas
    >> técnicas
    Alceu> e mesmo
    >> assim as pessoas fazem fila para comprar. O mercado de um
    Alceu> produto é uma
    >> combinação de vários fatores e "não existe bala de
    Alceu> prata".

    Alceu> O que você conclui disso? Estamos usando discurso certo para
    Alceu> disseminar o uso de Perl?

E sim, acredito que esse discurso é o correto para disseminar qualquer
linguagem: colocar os fatos na mesa. Um desses fatos é que seu sistema
vai ter falhas e limitações, sempre, não importa a linguagem que você
escolher, a questão é escolher quais trade-offs você está disposto a
fazer. O errado é descartar perl de primeira porque "é uma linguagem de
e para administradores de sistema".
    
    Alceu> Em primeiro
    >> lugar, "integridade dos dados" faz parte da lista de
    Alceu> requisitos desse
    >> projeto? Em qual prioridade? Se você não souber a
    Alceu> resposta pra essas duas
    >> perguntas, sinto lhe informar, mas o erro foi
    Alceu> seu.

    Alceu> É mesmo?  Imagine você ir ao médico e ele não receitar um
    Alceu> remédio para você porque você não entende para que você
    Alceu> precisa de seu fígado...  Não é porque o usuário não tem a
    Alceu> menor idéia de algo que eu devo ser omisso e fazer vista
    Alceu> grossa para um erro potencial.

A analogia correta não é bem essa. O que aconteceu foi equivalente ao
médico receitar uma medicação e eu me recusar a tomar porque o sabor é
ruim. Se o médico me receitar outra medicação que tenha sabor mais
agradável mas me avisar que isso vai diminuir minha expectativa de vida
em 10 anos, aí eu como usuário vou poder revisar minhas prioridades e
escolher. Basicamente, se você explicar as consequências da escolha do
usuário, ele vai poder tomar uma decisão fundamentada e você se exime da
responsabilidade sem ser omisso. E se você como programador não consegue
explicar um caso de falha para uma pessoa sem habilidade na área, talvez
você deveria investir tempo para adquirir a habilidade ou delegar para
outra pessoa fazer a análise de requisitos.
    
    Alceu> Na verdade, a conclusão é que antes de começar o trabalho,
    >> você precisa
    Alceu> sentar e coletar os requisitos do sistema, e depois você
    Alceu> começa
    >> a tirar
    Alceu> conclusões e tomar decisões a respeito de qual ferramenta
    Alceu> você
    >> vai
    Alceu> utilizar. Se for uma tarefa impossível, você vai precisar
    Alceu> falar "não
    >> dá
    Alceu> pra fazer".

    Alceu> O que eu posso dizer aqui? Meus usuários não são ortodoxos...

Programação é uma atividade determinística, as três coisas que você pode
dizer são "sim", "não" ou "te digo 'sim' ou 'não' depois que eu analisar
os requisitos". Todas as três respostas são corretas e aceitáveis, se
for "sim", maravilha, se pedirem pra fazer o computador voar
literalmente, só com software você vai ter que dizer "não", mentir ou
ser um engenheiro muito bom pra poder dizer "sim" com honestidade (já
construiram trenzinhos com drum storage, quem sabe não dá pra improvisar
um helicóptero com as ventoinhas).
    
    Alceu> E porque "não
    >> estar no core do Perl" é um problema? O artigo começa
    Alceu> falando "Perl is shell
    >> on steroids.", quando um artigo começa com uma
    Alceu> colocação completamente
    >> equivocada como essa, eu nem leio o resto.
    
    Alceu> É simples.  Peça para um newbie começar a programar em Perl.
    Alceu> Assim que ele terminar de aprender a programar usando
    Alceu> orientação à objetos do jeito que está no CORE, alguém avisa
    Alceu> ele que ele poderia ter ido direto para o Moose.

    Alceu> Eu acho que, justamente por algo não estar correto, você
    Alceu> deveria ler e quem sabe comentar sobre o assunto.

Eu não acho que perl seja uma boa linguagem para um "newbie" aprender
porque mascara coisas que acontecem por trás das cenas que um
programador deveria saber. Isso acontece bastante com o Moose, quase
ninguém que usa entende o que é meta-programação e depois vem reclamar
que "é muito lento" porque não fazem idéia de como otimizar esse tipo de
objeto.
    
    Alceu> Ah, então o problema está
    >> nos programadores, não na linguagem, correto?
    
    Alceu> Não sei. Eu provavelmente cometeria uma porção de error
    Alceu> crassos se não tivesse a documentação adequada ou recebesse
    Alceu> orientação.  Obviamente, só se ensina quem quer aprender, de
    Alceu> qualquer forma.

Exatamente, nenhuma linguagem salva um programador que não quer
aprender, nem com auto-complete, IDE, etc. E esse é um problema que eu
vejo bastante no Brasil: "dinheiro primeiro, depois eu aprendo", quando
deveria ser ao contrário.
    
    Alceu> Quer dizer que se
    >> usa a mesma biblioteca que pode-se usar com perl, mas
    Alceu> com bindings para PHP?
    >> Continuo sem enxergar a vantagem ou desvantagem
    Alceu> entre as duas
    >> abordagens.

    Alceu> Documentação. Temos alguma publicação em português sobre o
    Alceu> assunto (Perl + GTK)?  Não estou reclamando ou criticando:
    Alceu> estou apontando aonde temos uma deficiência.

Pode ser uma deficiência, OK, mas não é tão ruim quanto parece. Um
programador que não sabe ao menos ler inglês vai escrever um programa
bem porco, com ou sem documentação, então no final das contas, não
adianta nada ter documentação. Além disso, as versões de literatura de
TI em português que eu já li são todas muito ruins. Erros de grafia,
uso equivocado de homônimos, tradução de código (inclusive variáveis)
resultando em código inválido, etc., isso porque tem uma editora e
revisores por trás, quem dirá um autor independente.


Mais detalhes sobre a lista de discussão Cascavel-pm