[SP-pm] Compilação

Lucas F. Rosada lucasrosada em gmail.com
Sexta Novembro 16 05:39:56 PST 2007


Dia!!

Concordo com o Luis no que diz respeito à bagagem do programador ou de quem
projeta o sistema. Quando um problema é computacionalmente solucionável, a
linguagem se torna uma ferramenta com mais ou menos recursos que outras.
A capacidade de ser [parcialmente-]portável lhe traz o benefício de ter um
impacto menor ao transportar sua aplicação de um ambiente para outro. No
entanto, é uma troca: ganha-se em portabilidade e um pouco é perdido em
desempenho.

Acredito, pela pouca experiência que tenho em perl e sistemas, que grandes
aplicativos necessitam de projeto bem feitos. Dessa forma, por mais que seu
projeto seja em Java, Perl, C, C#, o que importa é o custo do
desenvolvimento e a experiência final do usuário. No fim das contas, tudo se
resume em dinheiro pro usuário final: o custo do projeto e o tempo de
resposta do sistema e de sua equipe ao agir contra um defeito [já que tempo
é dinheiro :-) ]
Dessa forma, um bom projeto (extensível, de fácil manutenção, com bons
testes, componentizado e todo aquela ladaínha adiconal da engenharia de
software), vai lhe garantir um bom desempenho global.
Além disso, imagino que desempenho, até certo ponto, é algo que podemos
alcançar. Se não, o que seria do google e suas pesquisas em milésimos de
segundo?

Sendo assim, chame seus melhores engenheirosb e avalie qual vai ser a
ferramenta que mais vai contemplar as necessidades do seu projeto. Se for
perl, a gente fica feliz :-)

Abraços,

Bolha

On Nov 16, 2007 10:46 AM, Luis Motta Campos <luismottacampos em yahoo.co.uk>
wrote:

> Blabos de Blebe wrote:
> > Boa tarde a todos,
>
> Boas.
>
> > Ultimamente andam me rodeando assuntos como interoperabilidade,
> > máquina virtual, compilação, etc.
>
> Diz para o pessoal de Java que voce tem mais o que fazer. Eles
> eventualmente se cansam e vao brincar noutro canto. ;)
>
> > Eu ainda to lendo 'O Livro' de perl e estou no começo, então
> > possivelmente minha dúvida será respondida no decorrer das páginas.
> > De qualquer forma eu sei que é uma pergunta meio idiota, mas lá vai:
>
> Existem dois tipos de perguntas idiotas:
>
> 1. A que nunca foi perguntada;
> 2. A que foi perguntada muitas vezes pela mesma pessoa, e parece que ela
> nunca aprende a resposta.
>
> Contanto que voce faca perguntas "idiotas" do tipo (1), eu nao vejo
> problemas em responder ;)
>
> > Cenário: Tem uma pessoal aí que diz que pra ser portável tem que ter
> > máquina virtual, "porque vc compila pra um e roda em todos".
>
> Claramente, o pessoal do Java estah te enchendo o saco. Diz para eles
> que esta coisa de "compilar para um e rodar em todos" nao existe. Basta
> olhar a lista de plataformas suportadas pelo java e pelo perl (que voce
> pode perguntar para o google onde estao).
>
> > Outros dizem que para ser portável, basta ser compilável em qualquer
> > plataforma. Os adeptos das máquinas virtuais respondem que grandes
> > sistemas demoram muito pra compilar, gerando custos extras, etc.
>
> "Custos Extras" por causa do tempo de compilacao de um sistema eh
> realmente uma coisa absurda.
>
> Acho que vale aa pena relembrar por que a gente comecou a implementar
> compiladores: eles sao melhores e mais rapidos do que a gente para
> escrever codigo de maquina, e a gente pode fazer com que uma instrucao
> simples de escrever (para um humano) gere uma quantidade potencialmente
> muito grande de instrucoes em codigo de maquina.
>
> Usamos compiladores para economizar trabalho.
>
> Se o teu programa exige 20 horas de compilacao, pensa no trabalho que
> voce teria para escrever codigo de maquina equivalente, de outra forma.
>
> Nao faz sentido falar em "muito tempo compilando" mesmo o meu sistema
> operacional (que eh a coisa maior e mais feia que eu conheco em termos
> de software) nao leva "muito tempo para compilar" o bastante para deixar
> um gestor preocupado.
>
> Voce gasta mais tempo tomando cha do que compilando programas, na media,
> nao importa que linguagem voce usa.
>
> > Perl é portável sem essa papagaiada toda.
>
> Errado. Perl eh moderadamente portavel, e usa uma boa parte desta
> papagaiada sem voce ver. A gente compila codigo perl em bytecodes (nao,
> nao aquelas porcarias de java, bytecode mesmo!) antes da execucao. E
> usamos uma maquina virtual leve, que eh capaz de interpretar os
> bytecodes e traduzir cada instrucao para o codigo de maquina
> correspondente, em tempo de execucao.
>
> > A pergunta é: Dado um sistema que demore dias pra compilar numa
> > linguagem qualquer. Dado que esse sistema tenha sido re-escrito em
> > "Elegante Perl". Como Perl se comporta ao levantar um sistema
> > gigante? Ou seja, quais as dificuldades que Perl poderia enfrentar
> > nesse cenário ou em algum semelhante?
>
> Desculpe, mas eu nao consigo imaginar um sistema que leve "dias" para
> compilar. Mesmo um sistema que leve uns poucos minutos jah eh muita
> coisa. A nao ser, claro, que o teu hardware seja de papelao. Neste caso,
> compre mais silicio e nao chateia ;)
>
> Fora isso, nao interessa quanto tempo leva para compilar o programa, mas
> sim qual eh a experiencia do usuario quando o sistema estiver rodando.
> Se ele achar que o sistema "eh rapido", e as tarefas saem dentro de um
> tempo considerado aceitavel pelo usuario (isso eh subjetivo!), entao teu
> sistema eh bom.
>
> > Eu tenho lá minhas especulações sobre o que aconteceria, mas já que
> > não tenho como testar, gostaria das opiniões dos grandes mestres.
>
> Como voce pode ver, a resposta para a tua pergunta nao tem nada a ver
> com perl, mas sim com a experiencia subjetiva do teu usuario. Se ele
> achar que o sistema estah rapido, bom. Se nao, procure otimizar. A
> compilacao, assim como o tempo de secagem do concreto(*), eh irrelevante
> para o efeito final.
>
> Putamplexos!
> --
> Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
> Perl fanatic evangelist, and amateur {cook, photographer}
>
>
> (*) Concreto leva 28 dias para secar completamente, em media. Mas a
> gente espera, normalmente, por que o predio pode ser usado durante cerca
> de 20-30 anos depois disso. O que sao 28 dias comparados com 30 anos?
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
"Coffee should be black as hell, strong as death but sweet as love"
-- Provérbio Turco
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071116/067df67f/attachment-0001.html 


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