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