Open herberthamaral opened 3 years ago
Js gambiarra, você falou só verdades!
Belíssima justificativa, nota 10
Sobre o consumo de RAM, interessante como incremento do poder de processamento, possibilitou algumas bizarrices
Sobre o consumo de RAM, interessante como incremento do poder de processamento, possibilitou algumas bizarrices
Avanço tecnológico, permitiu muita liberdade, e uma é abrir mão de desempenho e hardware por facilidade kkkkkkkkk
Eu literalmente estava lá e vou contar o que aconteceu.
Quando Tim-Berners Lee criou o WWW eu estava fazendo doutorado sanduíche no CERN e procurava um mecanismo do tipo hipertexto na Web (ou similar) para usar em minha tese, sobre reuso de software.
Existiam vários! Porém, todos eram pagos, ou com licenças complicadas, difíceis de instalar, com protocolos bizarros, fechados ou proprietários.
Ao mesmo tempo, havia uma ideia, descrita no livro LITERARY MACHINES de uma "web" bem mais poderosa que o WWW, mas que o inventor nunca conseguiu levar a cabo (Ted Nelson e o projeto Xanadu, vale a pena procurar para ler, tem no libgen). E tínhamos o Hypercard no Macinthosh, com "stacks" locais, sem internet, que era um sucesso de público e crítica.
Ou seja, um grupo de pessoas espalhadas pelo mundo sabia que a solução era algo similar ao Xanadu, na rede, e que fosse fácil de usar, como o Hypercard. E faziam coisas assim.
Então o Tim anunciou no CERN que tinha um tal de httpd server e uma linguagem HTML. Caia feito uma luva no que eu precisava, principalmente com o CGI para executar programas (o resto veio muito depois).
Mas HTML/HTTP eram limitantes, não tinham backlinks, e vários outros problemas...
Porém, o WWW tinha uma incrível vantagem: fácil de usar, era grátis e de domínio público.
Eu cheguei a ouvir "pesquisadores" falar que hipertexto e internet eram coisas totalmente diferentes. Contra isso foi a luta do Tim-Berners Lee na época.
Então o WWW resolvia: era fácil, gratuito, domínio público e basicamente rodava em qualquer máquina, por ser programado em C com sockets TCP/IP. Pouco depois de lançado, foi buffado quando o pessoal da NCSA, basicamente o Marc Andreessen, criou o primeiro browser útil, o Mosaic, porque os browsers criados no CERN eram para a máquina que todos sonhavam ter, mas ninguém tinha, o NeXt, ou para terminais de computadores de grande porte.
Sim, em 2021, o HTML é ruim, o HTTP é um protocolo fraco, e tudo que veio depois teve que consertar sem destruir o passado. Por isso, hoje é tudo um grande bacalhau.
Mas lá atrás o cara tava lutando contra a escuridão, tentando juntar grupos que não se falavam e não entendiam a linguagem do outro, e que queriam ganhar dinheiro. "Era tudo mato".
Eu literalmente estava lá e vou contar o que aconteceu.
Quando Tim-Berners Lee criou o WWW eu estava fazendo doutorado sanduíche no CERN e procurava um mecanismo do tipo hipertexto na Web (ou similar) para usar em minha tese, sobre reuso de software.
Existiam vários! Porém, todos eram pagos, ou com licenças complicadas, difíceis de instalar, com protocolos bizarros, fechados ou proprietários.
Ao mesmo tempo, havia uma ideia, descrita no livro LITERARY MACHINES de uma "web" bem mais poderosa que o WWW, mas que o inventor nunca conseguiu levar a cabo (Ted Nelson e o projeto Xanadu, vale a pena procurar para ler, tem no libgen). E tínhamos o Hypercard no Macinthosh, com "stacks" locais, sem internet, que era um sucesso de público e crítica.
Ou seja, um grupo de pessoas espalhadas pelo mundo sabia que a solução era algo similar ao Xanadu, na rede, e que fosse fácil de usar, como o Hypercard. E faziam coisas assim.
Então o Tim anunciou no CERN que tinha um tal de httpd server e uma linguagem HTML. Caia feito uma luva no que eu precisava, principalmente com o CGI para executar programas (o resto veio muito depois).
Mas HTML/HTTP eram limitantes, não tinham backlinks, e vários outros problemas...
Porém, o WWW tinha uma incrível vantagem: fácil de usar, era grátis e de domínio público.
Eu cheguei a ouvir "pesquisadores" falar que hipertexto e internet eram coisas totalmente diferentes. Contra isso foi a luta do Tim-Berners Lee na época.
Então o WWW resolvia: era fácil, gratuito, domínio público e basicamente rodava em qualquer máquina, por ser programado em C com sockets TCP/IP. Pouco depois de lançado, foi buffado quando o pessoal da NCSA, basicamente o Marc Andreessen, criou o primeiro browser útil, o Mosaic, porque os browsers criados no CERN eram para a máquina que todos sonhavam ter, mas ninguém tinha, o NeXt, ou para terminais de computadores de grande porte.
Sim, em 2021, o HTML é ruim, o HTTP é um protocolo fraco, e tudo que veio depois teve que consertar sem destruir o passado. Por isso, hoje é tudo um grande bacalhau.
Mas lá atrás o cara tava lutando contra a escuridão, tentando juntar grupos que não se falavam e não entendiam a linguagem do outro, e que queriam ganhar dinheiro. "Era tudo mato".
Muito obrigado pelo seu resumo enriquecedor. Tem coisas que só dá pra endender, quando se relembra o início
A gosto do cara: usar gopher AH VTNC kkkkkkkkkkkkkkkk nem ele usa, tá vivendo em 1980
"ain consumo de RAM alto" Sim, tu tá apontando apenas pros devs que carregam um monte de lixo nos node_modules deles e compilam assets gigantes, depois de fazerem esses cursos tranqueiras na internet de 1 mês.
Ah, e apresenta aí uma stack melhor então... Vai falar o quê? Delphi + MySQL? Java com Swing e ODBC? Excel com VBA + Access?
Se for pra tretar, então argumente e não só ataque kkkk
A gosto do cara: usar gopher AH VTNC kkkkkkkkkkkkkkkk nem ele usa, tá vivendo em 1980
"ain consumo de RAM alto" Sim, tu tá apontando apenas pros devs que carregam um monte de lixo nos node_modules deles e compilam assets gigantes, depois de fazerem esses cursos tranqueiras na internet de 1 mês.
Ah, e apresenta aí uma stack melhor então... Vai falar o quê? Delphi + MySQL? Java com Swing e ODBC? Excel com VBA + Access?
Se for pra tretar, então argumente e não só ataque kkkk
A gosto do cara: usar gopher AH VTNC kkkkkkkkkkkkkkkk nem ele usa, tá vivendo em 1980
"ain consumo de RAM alto" Sim, tu tá apontando apenas pros devs que carregam um monte de lixo nos node_modules deles e compilam assets gigantes, depois de fazerem esses cursos tranqueiras na internet de 1 mês.
Ah, e apresenta aí uma stack melhor então... Vai falar o quê? Delphi + MySQL? Java com Swing e ODBC? Excel com VBA + Access?
Se for pra tretar, então argumente e não só ataque kkkk
Flutter 0.0
A gosto do cara: usar gopher AH VTNC kkkkkkkkkkkkkkkk nem ele usa, tá vivendo em 1980 "ain consumo de RAM alto" Sim, tu tá apontando apenas pros devs que carregam um monte de lixo nos node_modules deles e compilam assets gigantes, depois de fazerem esses cursos tranqueiras na internet de 1 mês. Ah, e apresenta aí uma stack melhor então... Vai falar o quê? Delphi + MySQL? Java com Swing e ODBC? Excel com VBA + Access? Se for pra tretar, então argumente e não só ataque kkkk
Flutter 0.0
Flutter => feito com Dart Dart => feita com javascript Javascript => Web
O cara começou criticando a web - não dá pra usar flutter de argumento.
Sim, em 2021, o HTML é ruim, o HTTP é um protocolo fraco, e tudo que veio depois teve que consertar sem destruir o passado. Por isso, hoje é tudo um grande bacalhau.
HTML é ruim tecnicamente desde o começo, sempre foi. Se HTML prestasse, markdown não existiria.
Mas agradeço MUITO a aula de história, @xexeo.
A gosto do cara: usar gopher AH VTNC kkkkkkkkkkkkkkkk nem ele usa, tá vivendo em 1980
Discórdia criada com sucesso.
"ain consumo de RAM alto" Sim, tu tá apontando apenas pros devs que carregam um monte de lixo nos node_modules deles e compilam assets gigantes, depois de fazerem esses cursos tranqueiras na internet de 1 mês.
É mesmo? O Chromium aqui tá me falando o seguinte:
Não vou nem colocar JIRA, Bitbucket, Github aqui pra não chutar cachorro morto :joy:
Vai falar o quê? Delphi + MySQL? Java com Swing e ODBC? Excel com VBA + Access?
Delphi + MySQL (melhor ainda: com Firebird 2), mesmo com todas as limitações, produzem resultados MUITO melhores para determinados tipos de aplicação do que aplicações web. Depois tenta fazer o seguinte só com HTML/CSS/JS:
Depois vá na sua padaria ou farmácia mais próxima e veja se o POS é implementado com tecnologias da web. Eu já tentei fazer uma aplicação parecida utilizando electron e comunicando com periféricos via um daemon embutido. Comunicar com os periféricos foi fácil, mas fazer os widgets funcionarem bem, tal qual uma app desktop feita com Delphi/C++ Builder é impossível, mesmo com toolkits pagos e caros (alô alô devexpress).
Até mesmo o VBA + Access funcionam melhor quando você precisa de storage local. Tenta mexer com o IndexedDB depois e me fala o que achou :smile:
A ÚNICA coisa que a Web é INDISCUTIVELMENTE superior é na facilidade de distribuição. A coisa que você mais vê é deploy com um comando que atualiza a bagaça toda, sem precisar de intervenção do cliente como é o frequente caso de apps desktop.
Sim, em 2021, o HTML é ruim, o HTTP é um protocolo fraco, e tudo que veio depois teve que consertar sem destruir o passado. Por isso, hoje é tudo um grande bacalhau.
HTML é ruim tecnicamente desde o começo, sempre foi. Se HTML prestasse, markdown não existiria.
Mas agradeço MUITO a aula de história, @xexeo.
A gosto do cara: usar gopher AH VTNC kkkkkkkkkkkkkkkk nem ele usa, tá vivendo em 1980
Discórdia criada com sucesso.
"ain consumo de RAM alto" Sim, tu tá apontando apenas pros devs que carregam um monte de lixo nos node_modules deles e compilam assets gigantes, depois de fazerem esses cursos tranqueiras na internet de 1 mês.
É mesmo? O Chromium aqui tá me falando o seguinte:
- Só o browser: 382 MB de RAM;
- Página inicial do Google: 50MB de RAM;
- WhatsApp web (que não foi feito em um mês, é ativamente desenvolvido por um dos melhores devs do mundo): 275MB;
- Página de uma lei federal (tem male male um csszinho): 30 MB só pra mostrar texto.
Não vou nem colocar JIRA, Bitbucket, Github aqui pra não chutar cachorro morto
Vai falar o quê? Delphi + MySQL? Java com Swing e ODBC? Excel com VBA + Access?
Delphi + MySQL (melhor ainda: com Firebird 2), mesmo com todas as limitações, produzem resultados MUITO melhores para determinados tipos de aplicação do que aplicações web. Depois tenta fazer o seguinte só com HTML/CSS/JS:
- Criar um atalho de teclado para sua aplicação com Ctrl-W, Ctrl-U, Ctrl-Shift-S, Ctrl-T.
- Implementar controles parecidos com o VCL que precisam de formatação específica (e.g. formatação monetária);
- Fazer uma consulta gigante e colocar os resultados numa tabela num piscar de olhos. Ah, e ter consumo de memória constante graças ao gerenciamento de memória que ele faz pra você por debaixo dos panos. E é uma parada que ainda deve rodar liso naquele K6-II com 64 MB de RAM, ao mesmo tempo que você jogava um Age 2.
Depois vá na sua padaria ou farmácia mais próxima e veja se o POS é implementado com tecnologias da web. Eu já tentei fazer uma aplicação parecida utilizando electron e comunicando com periféricos via um daemon embutido. Comunicar com os periféricos foi fácil, mas fazer os widgets funcionarem bem, tal qual uma app desktop feita com Delphi/C++ Builder é impossível, mesmo com toolkits pagos e caros (alô alô devexpress).
Até mesmo o VBA + Access funcionam melhor quando você precisa de storage local. Tenta mexer com o IndexedDB depois e me fala o que achou
A ÚNICA coisa que a Web é INDISCUTIVELMENTE superior é na facilidade de distribuição. A coisa que você mais vê é deploy com um comando que atualiza a bagaça toda, sem precisar de intervenção do cliente como é o frequente caso de apps desktop.
Ai tu ta querendo que a WEB seja bala de prata kkkkk Concordo que as tecnologias web não são perfeitas, mas elas são fáceis de usar e resolvem a maioria dos problemas de pessoas comuns: acesso a informação. E olhando por esse aspecto, a web é a tecnologia mais poderosa ja inventada, pois conecta pessoas, fecha negócios, compras e vendas, é multiplataforma... Até elege presidentes de nações kkkk
Tem problemas? Tem. Mas qual tecnologia não tem? Por esses motivos (e pra tacar lenha no fogo) a web é o melhor conjunto de tencologias já criado ❤️ E quem não gosta que saia daqui e vá se comunicar por carta kkkkk
Ai tu ta querendo que a WEB seja bala de prata kkkkk Concordo que as tecnologias web não são perfeitas, mas elas são fáceis de usar e resolvem a maioria dos problemas de pessoas comuns: acesso a informação. E olhando por esse aspecto, a web é a tecnologia mais poderosa ja inventada, pois conecta pessoas, fecha negócios, compras e vendas, é multiplataforma... Até elege presidentes de nações kkkk
Tem problemas? Tem. Mas qual tecnologia não tem? Por esses motivos (e pra tacar lenha no fogo) a web é o melhor conjunto de tencologias já criado ❤️ E quem não gosta que saia daqui e vá se comunicar por carta kkkkk
Perfeito!!!
O argumento do cara:
Tu estás num fucking navegador padronizado, não operando um executável feito por você meu filho
Delphi + MySQL (melhor ainda: com Firebird 2), mesmo com todas as limitações, produzem resultados MUITO melhores para determinados tipos de aplicação do que aplicações web. Depois tenta fazer o seguinte só com HTML/CSS/JS:
É, então escala o tamanho da aplicação, do banco de dados web, e distribui, pra tu ver se tu consegues fazer com delphi e firebird kkkkkkkkk
Implementar controles parecidos com o VCL que precisam de formatação específica (e.g. formatação monetária);
Qual o problema de criar formatação monetária com JS, por exemplo?
fazer PoS pra padaria
Cara, é óbvio que se tu tá fazendo um software que tu precisa se comunicar com uma máquina de cupom fiscal, é OBVIO que vc não vai fazer a aplicação ser web, você vai fazer pra desktop e fim pq precisa se comunicar com um periférico. Não dá pra comparar com aplicações web nesse sentido. É a mesma coisa comparar fazer um aplicativo embarcado offline com web, não faz sentido a comparação, são ambientes e objetivos diferentes. Claro que tu pode meter ali Electron e codificar com html+css+js+node+db, e vá ficar tudo gargalado, pq electron não é uma boa tecnologia pra fazer aplicações desktop performáticas.
@jonatasgev: Ai tu ta querendo que a WEB seja bala de prata kkkkk
Na verdade, não. Ela não foi criada com esse intuito, então ela não será bala de prata nunca (nem se ela tivesse sido criada). Se você ler meu comentário de novo, você vai notar que eu apenas respondi um cara que tem preconceito com Delphi/MySQL, que são duas tecnologias que resolvem problemas que a Web NUNCA conseguirá resolver. Não é demérito da web, mas do sujeito que fez o comentário escroto contra uma tecnologia que atende bem alguns casos de uso.
Concordo que as tecnologias web não são perfeitas, mas elas são fáceis de usar e resolvem a maioria dos problemas de pessoas comuns: acesso a informação. E olhando por esse aspecto, a web é a tecnologia mais poderosa ja inventada, pois conecta pessoas, fecha negócios, compras e vendas, é multiplataforma... Até elege presidentes de nações kkkk
Aí cê confundiu duas coisas: qualidade técnica e usabilidade/popularidade. Em termos de popularidade, não tem o que discutir. Em termos técnicos, só sendo muito doido para achar bom ter que aprender pelo menos três tecnologias para fazer um todo list.
@terremoth Cara, é óbvio que se tu tá fazendo um software que tu precisa se comunicar com uma máquina de cupom fiscal, é OBVIO que vc não vai fazer a aplicação ser web, você vai fazer pra desktop e fim pq precisa se comunicar com um periférico.
Brother, me manda seu PIX. Tenho que pagar essa consultoria de altíssimo nível. Eu nunca desconfiaria se você não me dissesse isso.
Sarcasmos a parte, a limitação de fazer um POS web não está no fato que é difícil comunicar com periféricos. Cê pode pode conversar diretamente com periféricos se você estiver usando um electron da vida (há outras formas se você não usar o electron também -- deixo como exercício de imaginação).
É, então escala o tamanho da aplicação, do banco de dados web, e distribui, pra tu ver se tu consegues fazer com delphi e firebird kkkkkkkkk
Já é distribuído por padrão, já que cada usuário roda a stack completa :-) Não é preciso preocupar-se com sharding, load-balancing, downtime e o escambáu. Se um usuário cai, os outros continuam funcionando. E isso tudo sem precisar subir um cluster no kubernetes, sem precisar aprender mais que duas tecnologias (a linguagem de programação + SQL), sem node_modules... :D
Só fica um disclaimer pra galera que tem preguicinha de ler: isso não é um elogio ao Delphi/Firebird.
pq electron não é uma boa tecnologia pra fazer aplicações desktop performáticas.
O electron dá seus pulos. A web que é o gargalo :-D
A ÚNICA coisa que a Web é INDISCUTIVELMENTE superior é na facilidade de distribuição. A coisa que você mais vê é deploy com um comando que atualiza a bagaça toda, sem precisar de intervenção do cliente como é o frequente caso de apps desktop.
Ainda assim tem coleguinha que quebra o build em plena sexta-feira.
Tenho que concordar plenamente!!! Quando a programação era só Desktop por exemplo, o cara aprendia uma linguagem e pronto, hoje em dia com Web, a curva de entrada na área é GIGANTESCA!!!! Em 2008, quando entrei em Computação e ainda tinha muita coisa Desktop, tive colegas que na época começaram a trabalhar em empresa de ERP pequenas da cidade em Delphi (sei que nem deveria ta falando disso. rsrsrs), porém o cara já conseguia programar de boas, pois era só 1 linguagem, sabendo a parte de lógica, já tava de boas para um júnior iniciar a carreira. Hoje em dia, o programador para iniciar como júnior, tem que saber PELO MENOS:
Sem esses 4 pontos o cara não consegue nem estágio praticamente. A curva de aprendizado cresceu exponencialmente, porém agora não tem mais volta... Sei que a web ajudou em muita coisa, porém antes uma aplicação criada, conseguia ser usada por 1 década pelo menos sem grandes modificações, hoje em dia, a cada 3 ou 4 anos, ela tem que ser reescrita, pois o navegador deixou de suportar alguma coisa, o framework perdeu o suporte, etc.
Quando a programação era só Desktop por exemplo, o cara aprendia uma linguagem e pronto, hoje em dia com Web, a curva de entrada na área é GIGANTESCA!!!!
Isso é real mesmo, infelizmente.
tem que saber PELO MENOS:
Vc esqueceu de SQL! Pq o cara ainda vai ter de aprender isso além de html + css + js + lang server side. O que é ok/esperado. SQL é útil sempre.
As únicas coisas realmente benéficas dos últimos tempos necessárias pra aprender, usando esse seu comparativo, e que não são linguagens de programação, é ter de aprender Docker, Git, JSON pra consumir APIs e eu diria até Markdown que é fácil/rápido de aprender pra escrever docs.
Vc esqueceu de SQL! Pq o cara ainda vai ter de aprender isso além de html + css + js + lang server side. O que é ok/esperado. SQL é útil sempre.
Realmente! No caso nem falei de SQL pois tem linguagens/framework que faz todo o processo de criação das querys para o usuário, porém tem mais isso daí pra lista, com certeza.
Eu mesmo sou da área de infra/devops, não tanto de programação e acabo sofrendo do mesmo problema, comecei em 2008 e na época era muito mais simples, hoje para você entrar em infra, a curva de aprendizado tá crescendo em progressão geométrica.... Tem horas que vejo o que a galera precisa aprender em tão pouco tempo, fico até com medo, quando olho pra trás e isso está servindo para todas as áreas da TI. =(
Amiguinhos...
A programação Web trouxe uma complicação arquitetônica muito grande. A principal delas é a divisão de funções, que parece muito boa, mas exige muito mais do desenvolvimento. Quanto mais "camadas" mais difícil é de programar e hoje muitos sistemas são, ou pretendem ser criados, com BD+ORM+Camada de Persistência+Camada de Negócios+Camada de Apresentação. E dá-lhe Java, APIs vários, comportamento dos EJB, servlets, páginas comuns, etc... A solução full JavaScript é SIMPLES em relação a uma arquitetura empresarial Java.
E depois você tem que colocar isso na nuvem, em uma arquitetura resiliente e só isso já é quase um curso de graduação. Coloca em cima as atualizações constantes das APIs, a pressão para rodar em Mobile, a pressão constante por "bells and whistles", e temos um ambiente desesperador.
E ainda tem necessidades de design (não de facilitar realmente o usuário, mas estéticas apenas).
Vivi a época de programar visualmente em Delphi (ou outras linguagens, como C++, Visual Basic, etc...) em sistemas cliente-servidor onde o servidor era o Banco de Dados direto e garanto: era muito muito mais fácil.
Ainda não sei como não fez sucesso um ambiente de desenvolvimento altamente produtivo para Web. No início vi algumas tentativas, mas hoje só vejo isso na área NoCode/LowCode e ninguém "ganhou" o mercado.
Além disso, essa facilidade é um dos motivos de duas linguagens horrorosas fazerem sucesso (devem ter algo de bom, né): JavaScript e PHP. Mas ainda assim necessitam de muito mais para funcionar.
Abraços, Xexéo
On Wed, Nov 15, 2023 at 1:52 AM Tácio Andrade @.***> wrote:
Tenho que concordar plenamente!!! Quando a programação era só Desktop por exemplo, o cara aprendia uma linguagem e pronto, hoje em dia com Web, a curva de entrada na área é GIGANTESCA!!!! Em 2008, quando entrei em Computação e ainda tinha muita coisa Desktop, tive colegas que na época começaram a trabalhar em empresa de ERP pequenas da cidade em Delphi (sei que nem deveria ta falando disso. rsrsrs), porém o cara já conseguia programar de boas, pois era só 1 linguagem, sabendo a parte de lógica, já tava de boas para um júnior iniciar a carreira. Hoje em dia, o programador para iniciar como júnior, tem que saber PELO MENOS:
- JavaScript
- HTML
- CSS
- Alguma linguagem ou framework Server-side
Sem esses 4 pontos o cara não consegue nem estágio praticamente. A curva de aprendizado cresceu exponencialmente, porém agora não tem mais volta... Sei que a web ajudou em muita coisa, porém antes uma aplicação criada, conseguia ser usada por 1 década pelo menos sem grandes modificações, hoje em dia, a cada 3 ou 4 anos, ela tem que ser reescrita, pois o navegador deixou de suportar alguma coisa, o framework perdeu o suporte, etc.
— Reply to this email directly, view it on GitHub https://github.com/lincolixavier/tretadev/issues/55#issuecomment-1811806243, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZ4RDMVUY3NPBWCDBL6ZXLYERDCXAVCNFSM5DZTRMT2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBRGE4DANRSGQZQ . You are receiving this because you were mentioned.Message ID: @.***>
Além disso, essa facilidade é um dos motivos de duas linguagens horrorosas fazerem sucesso (devem ter algo de bom, né): JavaScript e PHP
JS eu até entendo, mas poderia elaborar sobre o porquê o senhor acha PHP ruim? Digo, antigamente dava pra ditar isso ao meu ver. Mas hoje, PHP no nível em que se encontra, se usado com Swoole dá pau em nodejs em performance, tem recursos como opcode caching, FFI, generators, fibers, inúmeros recursos pra OOP e programação funcional, cada release que sai, melhoram um pouco a linguagem, com um ecossistema riquíssimo com frameworks como Symfony, Doctrine e Laravel, package manager, padronização pela comunidade através das PSR's, inúmeras ferramentas de linting e testes, API's pra tudo... Eu particularmente acho PHP bom demais e um resolvedor de problemas rápido. Pra mim só fecharia com chave de ouro ter pipe operator, generics (talvez), lazy evaluation nativo e currying (partial function application).