Melhor resposta
Com toda a honestidade, se você está procurando fazer scripts de servidor de nível simples / médio, então você deve vá para o PhP. É um dos melhores scripts de servidor que existe, mãos para baixo! É a linguagem de servidor mais popular de todos os tempos!
Se você está procurando lidar com cargas imensas, como Facebook ou google, então deve dar uma olhada em scripts Python. Ou mesmo usando a programação C no lado do servidor.
Aqui está uma lista das linguagens do lado do servidor comumente usadas
CGI / Perl
O Perl existe há mais tempo do que a própria World Wide Web. A versão 1 foi lançada em 18 de dezembro de 1987, uma década completa, antes que as outras línguas cobertas neste artigo fossem sequer concebidas! Se você é novo nessas coisas, você está provavelmente se perguntando como uma linguagem de desenvolvimento da Web do lado do servidor poderia ter existido antes da própria Web. Veja, Perl não foi criado como uma linguagem de desenvolvimento da web. Perl é, na verdade, uma linguagem de script multifuncional que foi projetada para lidar com tarefas que envolvem muita manipulação de texto. Perl é muito bom em lidar com pedaços de texto de várias fontes e combiná-los para formar documentos completos, que é exatamente o que está envolvido no desenvolvimento da Web do lado do servidor. Na década e meia desde sua criação, Perl foi expandido por meio de módulos , peças de funcionalidade às vezes complexas que podem ser conectadas à linguagem para se adaptar para vários fins especializados. Uma dessas finalidades é a criação de conteúdo da Web dinâmico por meio da Common Gateway Interface (CGI) suportada pela grande maioria dos servidores da Web. CGI é um meio padrão pelo qual o software de servidor da Web pode enviar a solicitação de um navegador para uma página da Web a qualquer programa. Verdade seja dita, os programas CGI podem ser (e foram, ocasionalmente) escritos em C / C ++, se necessário. Com sua manipulação conveniente de texto, no entanto, Perl sempre foi mais adequado para o trabalho, e agora que o Perl vem com o módulo CGI.pm integrado, a maioria Todos os detalhes essenciais de como lidar com coisas como o envio de formulários HTML são feitos para você. Como uma benção final, a Comprehensive Perl Archive Network (CPAN) foi fundada para fornecer uma fonte centralizada para módulos adicionais, scripts de amostra e, em alguns casos, totalmente aplicativos da Web desenvolvidos. Hoje, as versões do Perl estão disponíveis gratuitamente em todos os principais sistemas operacionais (do Windows mainstream à variante Unix mais obscura), e se você quiser torná-lo algo complicado, é provável que alguém já tenha escrito um módulo para tornar seu trabalho mais fácil . A única desvantagem dessa linguagem é que, uma vez que não foi criada especificamente para o desenvolvimento da Web, não foi otimizada para velocidade, escalabilidade ou facilidade de uso em uma configuração de servidor da Web. Existem linguagens muito mais fáceis de aprender que podem fazer o mesmo na área de desenvolvimento da Web, mas Perl também permitirá que você faça muito mais do que apenas desenvolvimento da Web, se necessário. Vantagens:
- Uma linguagem madura com mais de uma década de história, é menos provável que você encontre bugs em Perl do que em qualquer outra linguagem do lado do servidor.
- É GRATUITO, embora um bom livro para mostrar o que está acontecendo possa atrapalhar um pouco.
- A maioria dos bons hosts da Web oferece suporte ao Perl, provavelmente não terá que pagar a mais pela hospedagem.
- Uma vasta rede de desenvolvedores Perl dedicados em todo o mundo está à sua disposição. Eles não apenas responderão às suas perguntas em incontáveis grupos de discussão e listas de correio Perl, mas o arquivo CPAN (entre outros) lhe dará muitos exemplos para trabalhar.
Desvantagens:
- Embora existam algumas opções para melhorar a situação, Perl não escala especialmente bem em servidores ocupados. Se você está procurando criar um aplicativo da Web que pode obter muitos resultados em um curto espaço de tempo, você pode querer procurar em outro lugar.
- Perl é notório por ter cinco maneiras diferentes de fazer até mesmo coisa mais simples, que pode tornar difícil aprender com o trabalho dos outros, se eles não usarem o mesmo método que você está acostumado a ver. Além disso, os desenvolvedores Perl são notórios por encontrar o caminho mais curto para escrever qualquer programa, então você pode se surpreender ao olhar um script de amostra apenas para descobrir que um script de carrinho de compras de comércio eletrônico completo foi escrito em três linhas de código, a maioria das quais é rabiscos e barras invertidas.
- Perl é otimizado para a plataforma Unix na qual foi criado, portanto, se você espera trabalhar em um servidor Windows, provavelmente terá melhores opções em relação ao desempenho.
- Perl é um software de código aberto, o que significa que não há suporte formal para ele.Apesar da enorme comunidade de suporte disponível para você, se algo der errado, a única pessoa com quem você pode realmente contar é você mesmo.
Desenvolvedor alvo : A maioria dos desenvolvedores Web que ainda trabalham com Perl hoje tendem a ser administradores e usuários Unix que também colocam o Perl para trabalhar em outras áreas de seus sistemas. Para pessoas como essas, Perl é uma ferramenta reconfortante de “vá a qualquer lugar, faça qualquer coisa”, com a qual sempre se pode confiar. Se você é um desenvolvedor inexperiente que enfrenta a tarefa de manter um site que foi originalmente escrito em Perl, pegue alguns bons livros e prepare-se para adicionar um ferramenta verdadeiramente poderosa para o seu arsenal.
ASP
Antes de prosseguirmos, vamos tirar algo do caminho para os puristas por aí. Microsoft Active Server Pages (ASP) não um idioma. Em vez disso, ASP é uma estrutura que permite combinar uma das várias linguagens de script (VBScript e JavaScript sendo as opções mais populares) com um conjunto expansível de componentes de software. . Esses componentes são tratados como objetos pela linguagem de script de sua escolha quando são usados como parte da estrutura ASP. Em essência, o poder do ASP está em sua capacidade de combinar linguagens de script relativamente simples como VBScript e JavaScript com componentes de software poderosos que são normalmente usados por desenvolvedores C / C ++. Ok, esse é o argumento de venda da Microsoft fora do caminho. Agora vamos encarar os fatos: para todos os efeitos práticos, ASP pode muito bem ser uma linguagem. Você simplesmente pode escolher entre escrever VBScript ASP ou JavaScript ASP. Como a maior parte do código de amostra disponível é escrito em VBScript, sua escolha foi feita para você. Portanto, ASP é geralmente considerado uma linguagem para desenvolver sites dinâmicos usando VBScript e, sob esse guarda-chuva, ele se destaca. ASP é fácil de aprender, poderoso o suficiente para a maioria dos principais desenvolvimentos da Web do lado do servidor e muito bom em termos de desempenho. O ASP está intimamente ligado ao sistema operacional Windows (a maioria dos componentes de software nos quais o ASP depende para sua funcionalidade são específicos do Windows) e ao software de servidor da Web do Microsoft Internet Information Services. Por esses motivos, não é prático nem desejável executar um site da Web baseado em ASP em qualquer coisa que não seja um servidor baseado em Windows. Se você estiver configurando seu próprio servidor Web, isso significa que você deve investir em uma cópia do Windows 2000 Server (embora muito do ASP seja executado no Windows 2000 Professional, o IIS não é tão escalável nessa plataforma). Se você está pagando por hospedagem na Web, significa pagar por um servidor baseado em Windows, que geralmente é mais caro. De qualquer maneira que você olhar para ele, o ASP custará dinheiro para ser executado. Existem versões do ASP que podem ser executadas em um servidor Apache rodando no Linux, mas a menos que seu objetivo específico seja mover um site ASP existente para um Servidor Linux, não faz muito sentido. Outra preocupação dos desenvolvedores ASP é a natureza relativamente limitada dos componentes que vêm junto com o ASP. Se tudo o que você precisa para o seu aplicativo é conectividade de banco de dados, um mecanismo de pesquisa, serviços de manuseio de e-mail, processamento básico de formulários e rastreamento de sessão, o ASP é o ideal. Qualquer funcionalidade menos comum, entretanto, geralmente exigirá a instalação de componentes de software adicionais em seu servidor. Existem muitas empresas por aí que produzem componentes para uso com ASP que geram arquivos PDF, interagem com servidores FTP, lidam com uploads de arquivos binários e muitas outras coisas. Infelizmente, esses componentes, como o ASP, tendem a ser soluções comerciais que vão custar caro. A vantagem de tudo isso é que ASP é uma tecnologia com muito suporte, com todo o apoio da comunidade de desenvolvimento da Microsoft por trás dela. MSDN , a Microsoft Development Network oferece uma grande variedade de artigos técnicos e material de referência para desenvolvedores ASP, e a equipe de suporte da Microsoft terá o prazer de investigar quaisquer problemas que você tenha em seus esforços de desenvolvimento (por um preço). Se, a qualquer momento, você precisar absolutamente de uma resposta a uma pergunta, pode ter certeza de que haverá alguém cujo trabalho é lhe dar a resposta. Vantagens:
- Bastante fácil de aprender, embora a programação seja necessária.
- Integrado ao Windows 2000 Server – sem problemas de instalação.
- Suporte profissional disponível.
Desvantagens:
- Não é grátis (a menos que você já esteja usando um servidor Windows)
- A funcionalidade especializada pode exigir que você compre componentes comerciais ou os desenvolva em C / C ++ ou Visual Basic.
- Se você está acostumado com a sintaxe do estilo C (compartilhada por C / C ++, Java, Perl, PHP, etc.), pode achar as idiossincrasias do VBScript difíceis de entender.
Desenvolvedor alvo: se você fez algum desenvolvimento com VBScript ou Visual Basic, ou desenvolveu objetos COM no Windows antes, então esta é definitivamente a plataforma de desenvolvimento da Web para você. Além disso, ASP é tão amigável para não-programadores quanto uma linguagem de programação pode ser (mas se você realmente odeia programação, verifique Cold Fusion, a seguir). Se você se sente confortável em se comprometer com o Windows para sua plataforma de servidor Web e pode arcar com os custos envolvidos, ou se a empresa para a qual você trabalha simplesmente exige o nível de suporte que a Microsoft pode fornecer, ASP é uma ótima tecnologia para aprender. Cold Fusion Para o designer da Web que nunca escreveu um programa antes, a escolha da plataforma de desenvolvimento da Web do lado do servidor pode ser temida. Seja qual for o caminho que você vá, você se depara com uma linguagem de programação grande e maligna para aprender e sua cabeça começa a doer … Originalmente criado por Allaire em 1995 e recentemente comprado pela Macromedia , o Cold Fusion foi projetado para ser diferente. Em vez de uma linguagem de script, Cold Fusion oferece um conjunto de tags para aprender. Sim, tags – exatamente como aquelas tags HTML que você passou a conhecer e adorar! Vamos pegar o exemplo da publicação de informações armazenadas em um banco de dados na Web. Com a grande maioria das linguagens do lado do servidor, você precisa adicionar código ao seu Página da Web para sair do modo HTML, conectar-se ao banco de dados, solicitar as entradas do banco de dados que deseja exibir e processar os resultados que o banco de dados envia para exibi-los como parte da página da Web. No Cold Fusion, isso tarefa comum é feita com duas tags: uma tag
- Extremamente fácil de aprender – sem necessidade de programação!
- Poderoso e muito escalável (a versão mais recente oferece suporte para cluster de servidor baseado em software e hardware).
- Suporte profissional da Macromedia.
- Plataforma cruzada.
Desvantagens:
- Caro para configurar crie seu próprio servidor: Cold Fusion Server Professional 5.0 custa US $ 1.295
- Os programadores podem não gostar dos métodos de desenvolvimento baseados em tag.
Desenvolvedor alvo: Web designers que se sentem confortáveis com HTML, mas precisam adicionar habilidades do lado do servidor ao seu repertório sem ter que aprender uma linguagem de programação. Do ponto de vista do desenvolvedor médio, aprender Cold Fusion é como aprender algumas novas tags. Os não designers também tendem a se familiarizar com a limpeza da programação do lado do servidor com tags, então, se você está cansado de depurar seus scripts do lado do servidor, vale a pena dar uma olhada no Cold Fusion!
PHP
Um relativamente novo na área de desenvolvimento do lado do servidor, o PHP ganhou um grande número de seguidores entre os programadores com seu sintaxe familiar e biblioteca de funções abrangente. Além disso, sua sintaxe relativamente simples e baixo, baixo preço (é grátis!) O tornou uma alternativa atraente ao ASP da Microsoft para novos desenvolvedores. O PHP foi apelidado por alguns de “matador de Perl” do mundo dos scripts do lado do servidor. Para fins de desenvolvimento da Web, o PHP pode fazer quase tudo que o Perl pode, e geralmente o faz de forma mais rápida e fácil. Ao contrário do Perl, que geralmente é executado como um programa CGI invocado pelo servidor da Web para lidar com cada solicitação de página, o PHP pode se integrar ao seu servidor da Web para operar com muito mais eficiência.PHP é uma linguagem extremamente capaz, com uma vasta gama de funções integradas para fazer tudo, desde rastrear sessões de usuário até gerar gráficos dinâmicos e até arquivos PDF em tempo real! Sem módulos para instalar, sem add-ins comerciais para comprar … PHP lida com tudo sozinho! Na verdade, praticamente a única fraqueza do PHP é que é relativamente difícil expandir a linguagem para adicionar funcionalidade não padrão que não é tratada por suas funções integradas. Fazer isso requer um conhecimento de programação C / C ++ e não é para os fracos de coração! Felizmente, você teria que criar um muito aplicativo da Web esotérico para exigir uma funcionalidade que ainda não está incorporada ao PHP. PHP é um software livre, multiplataforma e de código aberto. Ele se integra a todos os principais servidores da Web em todos os principais sistemas operacionais. Esta é uma grande vantagem para os desenvolvedores com orçamento limitado, porque eles podem configurar um servidor Web completo baseado em Linux com suporte a PHP e não pagar um centavo por software! A desvantagem disso, é claro, é que não há suporte formal para quaisquer problemas que você possa encontrar com o PHP. Além disso, como o PHP é uma tecnologia tão nova e ativamente desenvolvida, ainda existem bugs ocasionais nas versões mais recentes. Não se deixe desanimar, entretanto – o PHP tem uma comunidade de usuários extremamente ativa (um grande segmento da qual pode ser encontrado em nossos próprios Fóruns SitePoint !) que está sempre ansioso para ajudá-lo com quaisquer obstáculos, e as versões atuais do PHP são bastante estáveis e confiáveis. Vantagens:
- Bastante fácil de aprender, especialmente para desenvolvedores com experiência em C / C ++, Java ou Perl.
- Comunidade de usuários ativa disposta a lhe dar uma mãozinha para começar.
- Tudo está integrado na linguagem.
- É grátis!
- Plataforma cruzada .
Desvantagens:
- Esta linguagem foi projetada para ser amigável ao programador, o que infelizmente o torna um pouco menos amigável para não-programadores.
Desenvolvedor alvo: desenvolvedores da Web com orçamento e que gostam programação simples (por exemplo, JavaScript), ou não se importe em aprender como. O PHP oferece muito poder com uma estrutura de código relativamente simples, mas pode não ser adequado para aplicativos de ponta que não são suportados pelos recursos integrados do PHP.
Java
O Java é indiscutivelmente a plataforma mais poderosa para o desenvolvimento da Web do lado do servidor atualmente. De pequenos programas Java (Servlets) que lidam com solicitações de página da Web a JavaServer Pages (JSPs) que combinam HTML com tags personalizadas e código Java, e até mesmo Enterprise JavaBeans (EJBs), componentes de software com habilidades sofisticadas para transportar informações perfeitamente entre servidores e redes para acomodar aplicativos distribuídos, Java é realmente uma tecnologia quente. Um desenvolvedor Java Web experiente pode facilmente obter salários superiores a US $ 100.000 / ano. Como você pode esperar, há um motivo para isso: Java não é fácil de aprender! Ao contrário das linguagens de script como Perl, ASP e PHP, Java é uma linguagem de programação completa, totalmente capaz de escrever grandes programas! Alguém com um pouco de experiência em programação pode esperar adquirir um conhecimento prático da linguagem Java em um ou dois meses com a ajuda de um bom livro, e em outro mês provavelmente será capaz de aprender o básico da programação simples do lado do servidor com Java. Agora, se você estiver interessado em fazer carreira em programação do lado do servidor, isso pode não parecer muito, mas se você apenas deseja fazer algo funcionar rapidamente, uma linguagem mais simples como PHP pode colocá-lo em funcionamento em uma semana ou Menos! Java é conhecido por sua filosofia Write One, Run Anywhere (WORA) e, de fato, Java pode ser executado em todos os principais servidores Web e em todos os principais sistemas operacionais. Os aplicativos Web Java também podem ser agrupados em arquivos padrão Web Application Archive (.WAR) que podem ser instalados em qualquer servidor Web habilitado para Java, independentemente da plataforma. Os fabricantes de Java planejaram que esse mecanismo fosse usado para distribuir aplicativos comerciais da Web para uso em servidores Java da Web; entretanto, em minha experiência, os aplicativos Java Web tendem a ser soluções personalizadas para problemas complexos, em vez de soluções vendáveis que você pode comprar online. Muitos fornecedores diferentes produzem plug-ins que permitem que servidores Web como Apache e IIS executem aplicativos Java Web e, embora a maioria deles seja gratuita para uso pessoal e desenvolvimento, a maioria deve ser paga antes que você possa usá-los para servir a um comercial Local na rede Internet. Vantagens:
- Extremamente poderoso e escalável.
- Plataforma cruzada.
- A maioria dos plug-ins de servidor Java é gratuita para fins pessoais e de desenvolvimento.
Desvantagens:
- Java dá muito trabalho para aprender.Nem comece se você não leva a sério o aprendizado de programação orientada a objetos.
- A maioria dos plug-ins de servidor Java devem ser pagos se forem usados para hospedar um site comercial.
Desenvolvedor alvo: Desenvolvedores sérios que desejam o máximo em poder, flexibilidade e escalabilidade para seus aplicativos da Web e não se importam em pagar por isso em suor, lágrimas e tempo de desenvolvimento. Resumo Neste artigo, vimos os recursos, benefícios e desvantagens relativos de todas as principais opções de desenvolvimento do lado do servidor disponíveis hoje:
- Perl : uma linguagem de plataforma cruzada madura que pode ser difícil de entender
- ASP : a poderosa estrutura baseada em Windows da Microsoft
- Cold Fusion : uma opção poderosa e baseada em tag para não programadores
- PHP : uma alternativa de plataforma cruzada e de código aberto com muitos recursos integrados
- Java : o máximo em poder e flexibilidade, para programadores sérios
Saúde
Resposta
O PHP é apenas uma linguagem de script do lado do servidor. Qualquer linguagem de programação pode ser usada como alternativa, desde que haja um software de servidor disponível que suporte isso. Você pode usar Python para Django, JavaScript para Node.JS, ASP .Net para IIS, Java para Tomcat, Php para Apache e muitos mais que Ainda não usei.
Meu favorito é ASP .net MVC, porque posso usar o poderoso Visual Studio para codificar e posso usar C #. Eu não gosto de php só porque ele não tem um IDE muito bom (provavelmente nunca tive um) tão poderoso quanto o Visual Studio e na maior parte do php ainda é procedural. Eu programei em linguagens orientadas a objetos na maior parte de minha carreira e a criação de scripts em uma procedural parece muito arcaico para mim. Eu até odeio JS por isso, mas pelo menos jQuery está lá para resolver a maioria dos meus problemas.
É apenas minha sensação que falta ao php a estrutura necessária para um grande projeto. Sim, eu sei disso facebook usa php, mas é altamente customizado e eles têm engenheiros talentosos para criar seus próprios frameworks e IDEs. Eu até tentei frameworks como CodeIgniter e CakePHP. Embora eles certamente sejam melhores do que escrever código php bruto, eles não podem comparar o luxo de escrever código C #.