[Cascavel-pm] Res: Res: off topic DotNet

Eden Cardim edencardim em gmail.com
Segunda Junho 28 14:12:41 PDT 2010


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

    Alceu> Eden, e o que eu faço com meu gerente que não leu e nem está
    Alceu> interessado em ler tal literatura?

Seja competente e tome o lugar dele, ou muda de emprego.
    
    Alceu> Digo isso porque atualmente eu não consigo "vender" o uso
    Alceu> interno de Perl aqui. Não temos NENHUMA linguagem de
    Alceu> programação fracamente tipada e sem compilação (vulgarmente
    Alceu> chamada de script) para podermos produzir código rápido e
    Alceu> funcional. E olha que meus usuários acham que a área de TI
    Alceu> deve funcionar como pastelaria.

Toda linguagem de programação é necessariamente compilada.
    
    Alceu> Eu concordo com você, mas uma coisa é a teoria, outra é a
    Alceu> prática.

A literatura que eu sugeri são relatos de projetos reais que coincidiram
bastante com a minha própria experiência em desenvolvimento e gestão de
projetos de software.

    Alceu> Acho que aí entra a questão de contexto.

    Alceu> No contexto científico, você está correto.No conceito
    Alceu> mercadológico, o João está correto.

Não, não está porque ele desqualificou a linguagem de forma geral. Se
ele dissesse "Perl é difícil de vender pro mercado nacional", invés
disso, ele pegou a visão estreita que ele tem sobre o assunto e
extrapolou pruma área onde ele não tem autoridade.
    
    Alceu> Vou citar um exemplo: se eu checar para meu chefe aqui e
    Alceu> dizer que agora sou mestre em inteligência artificial, ele
    Alceu> vai cagar e andar. Se disser, no entanto, que agora tenho MBA
    Alceu> de Harvard, ele vai colocar uma foto minha na mesa dele.

    Alceu> Por que isso?

Porque você provavelmente está trabalhando no lugar errado, vendendo o
produto errado pra pessoa errada. É igual tentar vender espelho pro
Stevie Wonder.
    
    Alceu> Empresas querem saber de resultados. Se Perl pode ajudar a
    Alceu> empresa a ser eficiente e ganhar dinheiro, é isso que vai
    Alceu> interessar meu chefe.

    Alceu> O problema é vender essa idéia para quem não tem conhecimento
    Alceu> técnico. O Brasil não valoriza profissional especialista,
    Alceu> basta verificar como cientistas e pesquisadores competentes
    Alceu> decidem ir embora do país.

    Alceu> É uma visão curta, ridícula... mas é o que temos por aqui.

É uma visão que requer habilidade pessoal e tempo pra mudar, alguns
sentam pra fazer, outros ficam reclamando e disseminando fatos
imprecisos.

    Alceu> Outro exemplo que me faz concordar com o João. Eu não acho
    Alceu> que ele esteja denegrindo nossa linguagem favorita, mas
    Alceu> colocando seu ponto de vista.  Se tecnicamente é tão bom
    Alceu> quanto ou melhor que outras linguagens, por que não é
    Alceu> utilizado em escala maior?

Porque em geral os profissionais de TI não tem a formação necessária
para se compreender as virtudes e fraquezas das ferramentas num contexto
mais amplo. Os que tem formação suficiente estão ocupados trabalhando e
perdem pouco tempo com esse tipo de discussão (eu deveria seguir o
exemplo, mas não consigo ainda, tenho muita coisa ainda por aprender).
    
    Alceu> Acho que são estas perguntas que temos que nos
    Alceu> fazer. Lembram-se da história do VHS e Betamax?

    Alceu> Voltando a questão do "fazer o que tem que ser feito", para
    Alceu> os usuários tanto faz se o programa é bem estruturado ou
    Alceu> não. Para eles o importante é que o programa: 1 - Funcione 2
    Alceu> - Rode num tempo aceitável 3 - Não fique dando problemas

    Alceu> Todo o caminho que deve ser percorrido para chegar nisto é de
    Alceu> interesse da área técnica, não usuária.

Não é bem assim, o iphone é uma prova disso, tem várias falhas técnicas
e mesmo assim as pessoas fazem fila para comprar. O mercado de um
produto é uma combinação de vários fatores e "não existe bala de
prata".
    
    Alceu> Um exemplo: minha área usuária me mostrou um banco de dados
    Alceu> SQL Server feito à partir de um monte de planilhas Excel com
    Alceu> dados, pois estava sendo um tormento atualizá-las
    Alceu> manualmente.  Eu sugeri usar Access para ter acesso aos dados
    Alceu> rapidamente. Eles não quiseram, queriam um "sistema web"
    Alceu> porque era mais moderno.  Bem, eu comecei fazer algo com
    Alceu> CGI::Application e quando fui olhar o modelo
    Alceu> relacional... era a coisa mais escabrosa que eu vi. Disse ao
    Alceu> usuário que teria que arrumar aquilo primeiro, ou não teria
    Alceu> como garantir integridade dos dados. Ele achou ruim, porque
    Alceu> ia demorar mais.

Em primeiro lugar, "integridade dos dados" faz parte da lista de
requisitos desse projeto? Em qual prioridade? Se você não souber a
resposta pra essas duas perguntas, sinto lhe informar, mas o erro foi
seu.
    
    Alceu> Eu fiz um monte de horas extras para entregar o sistema
    Alceu> funcional... e o sistema foi reprovado porque era feio. Eles
    Alceu> queriam uma interface bonita, eu avisei que não era designer
    Alceu> (fiz um HTML pé de boi mesmo com HTML::Template) e eles não
    Alceu> quiseram arrumar um por causa de custos. Enfim, nem sei o que
    Alceu> eles usaram depois.
    Alceu> A conclusão que tirei disto foi: 1 - Para o usuário, tanto
    Alceu> faz se o modelo de dados precisa ser arrumado ou não; 2 -
    Alceu> Para o usuário, tanto faz se o backend é eficiente e bem
    Alceu> desenhado;

Na verdade, a conclusão é que antes de começar o trabalho, você precisa
sentar e coletar os requisitos do sistema, e depois você começa a tirar
conclusões e tomar decisões a respeito de qual ferramenta você vai
utilizar. Se for uma tarefa impossível, você vai precisar falar "não dá
pra fazer".

    Alceu> Esse foi um exemplo bem ruim mesmo. Mas aqui vai um bom
    Alceu> (ponto de vista):
    Alceu> http://www.faqs.org/docs/artu/ch14s04.html#perl. É claro que
    Alceu> já está desatualizado, existem recursos no Perl para
    Alceu> contornar ou resolver os pontos negativos apresentados, mas
    Alceu> essas coisas ainda não estão no core do Perl (Moose é um
    Alceu> excelente exemplo).

E porque "não estar no core do Perl" é um problema? O artigo começa
falando "Perl is shell on steroids.", quando um artigo começa com uma
colocação completamente equivocada como essa, eu nem leio o resto.
    
    Alceu> De novo, você sabe, eu sei disso. Mas muito programadores
    Alceu> experientes por aí não sabem.

Ah, então o problema está nos programadores, não na linguagem, correto?
    
    Alceu> Se pensarmos em como a linguagem auxilia o programador a não
    Alceu> escrever código ruim, temos o Perl::Critic. Mas eu, por
    Alceu> exemplo, não comprei ainda o Perl Best Practices que o
    Alceu> pessoal tanto cita. Então fiquei meio sem "ajuda" da
    Alceu> linguagem.
    
    Alceu> Daí a necessidade de divulgação e pesquisas. Eu estou vendo
    Alceu> um progresso nessa área, mas ainda falta bastante.

Cara, isso depende muito do perfil de quem está usando a linguagem,
geralmente as pessoas mais instruídas preferem ferramentas menos
intrusivas e mais flexíveis. Por isso que a maioria de nós usamos unix
ou derivados invés de windows, não é mesmo?
    
    >> Deve ser desse tipo de análise que saem os orçamentos de software
    >> superfaturados típicos do Brasil.

    Alceu> É bem por aí. Ou pior ainda Eden. Eu tenho uma porção de
    Alceu> histórias de consultorias "especialistas" que fariam seu
    Alceu> cabelos ficarem de pé e depois caírem.

Deixa pra contar quando estivermos no boteco, é mais divertido.
     
    >> Ok, enumera os itens disponíveis no flex que não estão
    >> disponíveis no wxWidgets. Por sinal, wxWidgets é uma biblioteca
    >> C, perl só fornece bindings.

    Alceu> Eu acho que API está OK. Somos bons nisso.  Mas não temos
    Alceu> ferramentas para auxiliar a criar interfaces gráficas.  C# e
    Alceu> Java contam com ferramentas gráficas bem competentes para
    Alceu> fazer esse tipo de coisa.

Cara, WYSIWYG, apesar de útil para escrever protótipos, não funciona
muito bem com GUIs, porque a área útil da aplicação é desconhecida e de
tamanho variável e o "layout" e a quantidade de elementos gráficos
precisa mudar programaticamente para se adequar. Então, a não ser que
não exista o requisito de "ser utilizável em qualquer resolução ou
tamanho de janela", a existência de uma ferramenta WYSIWYG pode vir a
ser pouco relevante para projetos envolvendo GUIs. De novo, os
requisitos vão determinar qual ferramenta é mais adequada.
    
    Alceu> Se não me engano, temos o Padre (que ainda não chegou lá) e o
    Alceu> Glade (mas só gera XML, não código Perl).

    Alceu> A propósito, como é mesmo o procedimento
    >> para se desenvolver GUIs em
    Alceu> PHP? Falta ainda o benchmark indicando que PHP é
    >> mais rápido que perl.

    Alceu> Tem o PHP-GTK, mas não tenho idéia se é bom ou ruim. Mas se
    Alceu> eu fosse um programador novo que quisesse criar interfaces
    Alceu> gráficas com uma linguagem script, esse seria um bom ponto
    Alceu> para começar: ao menos existe publicação em português sobre o
    Alceu> assunto (http://www.novateceditora.com.br/livros/phpgtk/).

Quer dizer que se usa a mesma biblioteca que pode-se usar com perl, mas
com bindings para PHP? Continuo sem enxergar a vantagem ou desvantagem
entre as duas abordagens.


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