Eu estou querendo saber se existem recursos menos tendenciosos que fornecem boas visões gerais específicas das linguagens de programação e seus objetivos pretendidos. Gostaria de aprender um novo idioma, mas visitar os sites de cada idioma não está funcionando. Cada um fala sobre o quão bom é sem mencionar suas fraquezas ou objetivos específicos .
Ruby é uma linguagem de programação dinâmica e de código aberto, com foco na simplicidade e produtividade.
Python é uma linguagem de programação que permite trabalhar mais rapidamente e integrar seus sistemas com mais eficiência.
Sendo desenvolvedor de PHP há anos, Vic Cherubini resume bem minha situação:
Eu conhecia bem o PHP, tinha minha própria estrutura e podia trabalhar rapidamente para colocar algo em funcionamento.
Programei assim durante toda a revolução do MVC. Consegui trabalhos cada vez melhores (leia-se: melhor remuneração, melhor título) como desenvolvedor de PHP, mas percebi o tempo todo que o código que escrevi no meu tempo era ótimo, e o código com o qual trabalhava era horrível. Tipo, pior que horrível. Atroz. Nível de comércio do SO ruim. Ter projetos paralelos me mantinha são, porque o código com o qual trabalhava me deixava infeliz.
É por isso que estou me aposentando do PHP para meus projetos paralelos e novos empreendimentos de programação. Estou gasto com PHP. Exausto, se você quiser. Cheguei a um nível em que acho que estou no topo com ela como uma linguagem e, se não passar para uma nova linguagem em breve, terminarei completamente a programação e não quero isso.
Os idiomas que eu analisei incluem JavaScript (para node.js), Ruby, Python e Erlang. Eu até pensei em Scala ou C ++.
O problema é descobrir quais são construídas para lidar melhor com minhas necessidades.
Então, onde posso pular o hype e obter informações reais sobre a maturidade de uma plataforma, o tamanho da comunidade e os pontos fortes e fracos desse idioma. Se eu os conheço, escolher um idioma para continuar meu desenvolvimento na web deve ser fácil.
Atualizar
Eu só não quero passar quatro meses no caminho com algum idioma e acho que é uma droga porque cada thread tem 4 MB de sobrecarga ou as conexões simultâneas máximas são 999, não há pacote para executar o recurso "X" ou o suporte é sendo descontinuado para um novo ramo de idioma.
fonte
Respostas:
Eu não publicaria isso como resposta, mas o Xeoncross me pediu, então aqui vamos nós:
(Nota: se alguém pudesse corrigir o problema de remarcação no pequeno exemplo de código, eu agradeceria.)
Postado por Alex Martelli em comp.lang.python : O que há de melhor no Ruby que no Python? em 18 de agosto de 2003, 17:50
fonte
Boa sorte
Nenhuma das descrições de exemplo fornecidas é objetiva ou testável. Eles são todos hype e opinião.
Tente
Pegue um pequeno projeto de amostra do tipo que você provavelmente está realizando e tente com todos os idiomas que lhe interessam. Poste sua revisão objetiva e todos saberemos.
fonte
Eu acho que parte do problema é que qualquer pessoa que saiba o suficiente para comentar significativamente sobre um ou mais idiomas terá um viés. Em quase 4 décadas de programação, trabalhei em mais linguagens do que posso contar. Posso dar-lhe opiniões (algumas delas datadas) sobre algumas dessas línguas, mas nenhuma dessas opiniões será imparcial.
Adotei a abordagem de usar o idioma certo para o trabalho. Você pergunta especificamente sobre desenvolvimento web , mas essa ainda é uma categoria bastante ampla - como dizer que você está interessado em fotografia. Micro? Astro? etc. Embora eu concorde que o PHP não seja uma linguagem emocionalmente satisfatória para trabalhar, para muitos clientes é a linguagem certa com base em vários fatores, entre os quais a capacidade de longo prazo de encontrar programadores para consertar o site depois que você sai e / ou ser atropelado por um ônibus.
Portanto, talvez você deva examinar os tipos de clientes que estão interessados em projetos que se prestam a algo diferente e depois trabalhar para se tornar interessante para eles.
fonte
Pitão
O objetivo mais universal e geral de todos eles, mas também no caso de programação na web, oferece uma ampla variedade de produtos. A interface WSGI padronizada garante grande interoperabilidade entre a estrutura e os servidores. Alguns dos notáveis produtos da Web Python:
Rubi
Ruby também é uma linguagem bastante universal. Mas, de longe, o produto mais notável é o Ruby on Rails. Seu design foi inspiração para muitos (incluindo o Django mencionado acima).
Javascript
Atualmente, a única opção do lado do servidor para JS é node.js. É muito parecido com Tornado e Twisted (pelo qual foi inspirado). No entanto, ainda falta uma estrutura completa semelhante ao Django ou RoR construída sobre ela.
Scala
Por ser uma linguagem funcional, ela é ótima para computação massivamente paralela, na programação da Web para fins gerais, existe o Lift - framework da Web inspirado no RoR, usado, por exemplo, no FourSquare.
fonte
No meu projeto web mais recente, comecei com o PHP porque já o havia usado antes (início rápido), mas tive muitos problemas com a linguagem, por exemplo, mau suporte a UTF-8 e digitação dinâmica. Também tenho experiência em Java e gosto muito das ferramentas de digitação estática e de refatoração. Java também tem bom desempenho em comparação com PHP. Mas também gosto da expressividade da programação funcional.
Estrutura Scala and Play
Com a experiência acima, eu realmente gosto da linguagem de programação Scala, que está estaticamente tipificada, tem suporte para programação funcional e orientada a objetos e tem bom desempenho em comparação com outras linguagens usadas para desenvolvimento web. Mas não gostei das estruturas da web para Java e servlets, e encontrei o Play Framework com suporte para Scala e Java e com um ciclo de desenvolvimento muito rápido - salve o arquivo e atualize sua página da web. Fiquei muito satisfeito com o Scala & Play Framework no mês passado. Mas o suporte do Scala no Play Framework ainda não está muito maduro e nem o suporte de ferramentas.
Em resumo, recomendo o Scala como linguagem de programação e o Play Framework como framework da web.
fonte
Na verdade, você provavelmente está analisando três tipos de recursos:
Ambos os recursos seriam tendenciosos.
Você pode encontrar uma comparação neutra, mas é muito difícil escrever uma. Pessoalmente, eu nunca seria capaz de escrever uma comparação entre uma linguagem real e o PHP sem criticar o PHP o tempo todo. E tenho certeza de que não estou sozinha por não ser suficientemente neutra.
Se você deseja ter uma visão geral de diferentes idiomas, precisa aprender você mesmo e ler muito . Ao aprender, quero dizer conhecer o básico do idioma, mas poder ter sua própria opinião . Não é porque você leu um manual do Ruby que você é capaz de explicar o que é bom e o que é ruim nesse idioma.
Isso significa que você precisa gastar tempo (meses ou até anos) praticando. Ou você pode ler muito. Mas tente ler coisas contraditórias . Se alguém escreve que odeia PHP e PHP é uma das piores linguagens de todos os tempos, especialmente em comparação com linguagens reais como Ruby, C # ou Java, tente também encontrar uma pessoa que diga que o PHP é maravilhoso e é muito mais fácil de usar do que C #, muito mais rápido que Java e muito ... (eu realmente não sei o que) do que Ruby.
Lembre-se de uma coisa: se você já conhece bem um idioma, será muito crítico no início ao aprender outro , acreditando que o idioma que você já conhece é melhor e muito mais fácil de usar. É como usuários do Linux que odeiam o Windows e usuários do Windows que odeiam o Linux: de fato, nenhum SO é melhor; é que um usuário Linux não sabe usar o Windows e vice-versa. Só depois de adquirir experiência suficiente nos dois é que você poderá decidir corretamente qual é o melhor para você.
A última coisa, muitas vezes esquecida: também é muito importante poder avaliar o "ambiente" de um idioma:
fonte
Bem, como um dos seus critérios parece ser "divertido de se trabalhar", acho que você deseja encontrar informações tendenciosas. Se o autor de algo é apaixonado por sua língua preferida, há uma boa chance de que eles façam uma avaliação tendenciosa.
Talvez você deva abordá-lo de outra direção. Como você parece estar falando em mudar de carreira e não de um hobby, talvez você deva pesquisar alguns anúncios de emprego, encontrar algumas tecnologias / idiomas interessantes e investigá-los.
Quanto aos idiomas com objetivos específicos, muitos idiomas não os têm. A maioria dos idiomas listados é de uso geral. Por exemplo, a linguagem Ruby é uma linguagem de uso geral bastante adequada para muitas tarefas. Depois de adicionar uma estrutura, como o Rails , isso tem um objetivo bem específico.
fonte
Isso não é exatamente o que você estava perguntando, mas se eu estivesse procurando algo para me tirar de uma rotina profissional de desenvolvimento web, enquanto ainda aproveitasse essa experiência e contatos, eu começaria a escrever aplicativos para Android e iPhone. Ser capaz de vender um aplicativo que complementa o site de um cliente pode realmente fazer você se destacar no desenvolvimento de uma Internet cada vez mais acessada por dispositivos móveis.
fonte
Você realmente atingiu o limite do PHP ou apenas os limites do PHP como você o conhece?
Você já olhou para o Drupal ? É uma estrutura de programação e CMS baseada em PHP que incentiva fortemente bons padrões e práticas de codificação. (Tendo trabalhado com o OSCommerce em trabalhos anteriores, sinto sua dor por lá.) Embora baseado em PHP, é diferente o suficiente para que muitas vezes a maneira "certa" de fazer algo em PHP puro não seja a maneira certa de fazê-lo no Drupal, e você terá uma boa curva de aprendizado para escalar para realmente dominá-la. No entanto, isso pode mudar suas perspectivas sobre os recursos do PHP como linguagem e o desenvolvimento da web como um todo.
fonte