Parece haver duas maneiras principais de configurar um servidor back-end. Você pode usar uma pilha LAMP, com o código do servidor em algo como PHP ou Python (ou Ruby ou JavaScript, que não começa com um P.) Essas linguagens de script tendem a ser digitadas dinamicamente, com todas as desvantagens em desempenho, correção e capacidade de manutenção que as linguagens digitadas dinamicamente trazem, mas é fácil atualizar o servidor porque toda a lógica de geração de páginas é armazenada em scripts externos.
O outro estilo principal de arquitetura amplamente utilizado é o ASP.NET, onde a lógica de geração de páginas é escrita em código compilado. Isso tende a usar linguagens estaticamente tipadas, para que você obtenha o código que teve o benefício de um compilador, mas toda a lógica de geração de página é compilada no servidor, o que significa que, se você precisar alterar alguma coisa, precisará desligar o servidor e substitua-o por uma nova compilação.
Então isso me faz pensar. Existem linguagens de script do lado do servidor que usam digitação estática, para o melhor dos dois mundos?
fonte
Respostas:
ATUALIZAÇÃO: As soluções mais atuais incluem o AtScript
Você deve tentar o Google Dart .
Possui digitação opcional, o que significa que você pode adicionar anotações de tipo que serão verificadas no modo de desenvolvedor 'checado' em tempo de execução, mas elas não são necessárias e o idioma oferece muitas das vantagens de outros idiomas dinâmicos, como python. No entanto, o editor fará inferência de tipos para tentar ajudá-lo a encontrar erros com antecedência. A dart VM é rápida e pode produzir instantâneos, o que pode acelerar o tempo de inicialização em até 10x. Também compila até javascript e é rápido .
A principal desvantagem aqui é que é uma tecnologia um tanto nova, por isso não há tantas bibliotecas para ela e, honestamente, a interoperabilidade com javascript não é tão simples quanto deveria ser. Além disso, a linguagem ainda está em desenvolvimento, por isso há mudanças de tempos em tempos.
fonte
Sua pergunta é baseada em várias suposições incorretas.
Python, Ruby são ambos compilados no bytecode antes da execução. O processo é automático, mas as alterações no aplicativo exigem uma reinicialização completa. O Node.JS se comporta da mesma maneira, mas é compilado no código da máquina.
O código do ASP.NET pode ser pré-compilado e copiado para o servidor ou compilado dinamicamente sob demanda a partir do código-fonte no servidor. O IIS lida com ambas as formas de atualizações sem tempo de inatividade zero (as primeiras solicitações após a atualização serão lentas.) São possíveis atualizações de tempo de inatividade zero no Python e Ruby, mas com tantas opções de implantação, não é um dado adquirido.
Com base nisso, eu pensaria que você ficaria feliz com qualquer linguagem .NET.
fonte
Não há razão para que um idioma compilado precise ser fortemente digitado ou difícil de atualizar.
Você pode querer olhar para algumas das configurações da Web erlang como Cowboy, Webmachine e nitrogênio. Com o Dialyzer, você pode obter uma verificação de tipo muito agradável quanto à correção e recarregar os módulos em tempo real, pois o erlang foi projetado para atualizar o software no local sem interromper os usuários existentes.
Além disso, o webmachine (o que eu mais usei) pode ser bastante rápido. Eu vi o webmachine ter respostas médias nos pontos de extremidade da API inferiores a 10ms em um pequeno nó da Amazon EC2!
Se você deseja digitar estática, tente a estrutura Yesod , que é para a linguagem Haskell. Haskell é fortemente tipado com um sistema de tipos muito rico.
Eu não o usei pessoalmente, mas as pessoas que conheço que o usam adoram.
fonte
IMHO, a linguagem de script Web melhor estaticamente digitado é D .
Como as linguagens de script interpretadas, ele pode compilar scripts em tempo real e na velocidade da luz.
A linguagem em si se parece com um JavaScript super-poderoso de tipo forte, muito mais poderoso que o Go, por exemplo.
Todo o material de simultaneidade está oculto, como no PHP, e os modelos são compilados no código nativo.
Difícil de encontrar melhor do que isso ...
fonte