Il semble y avoir deux façons principales de configurer un serveur Web principal. Vous pouvez utiliser une pile LAMP, avec le code côté serveur dans quelque chose comme PHP ou Python (ou Ruby ou JavaScript, qui ne commence pas par un P.) Ces langages de script ont tendance à être typés dynamiquement, avec tous les inconvénients de performances, exactitude et maintenabilité qu'apportent les langages typés dynamiquement, mais il est facile de mettre à jour le serveur car toute la logique de génération de page est stockée dans des scripts externes.
L'autre style d'architecture majeur largement utilisé est ASP.NET, où la logique de génération de page est écrite en code compilé. Cela a tendance à utiliser des langages typés statiquement, donc vous obtenez du code qui a l'avantage d'un compilateur, mais toute la logique de génération de page est compilée dans le serveur, ce qui signifie que si vous devez changer quelque chose, vous devez arrêter le serveur et remplacez-le par une nouvelle construction.
Cela me fait donc me demander. Existe-t-il des langages de script côté serveur qui utilisent le typage statique, pour le meilleur des deux mondes?
la source
Réponses:
MISE À JOUR: Les solutions plus actuelles incluent AtScript
Vous devriez essayer Google Dart .
Il a une saisie facultative, ce qui signifie que vous pouvez ajouter des annotations de type qui seront vérifiées en mode développeur `` vérifié '' au moment de l'exécution, mais elles ne sont pas obligatoires et la langue offre de nombreux avantages d'autres langages dynamiques comme python. Cependant, l'éditeur fera l'inférence de type pour essayer de vous aider à trouver les erreurs à l'avance. La machine virtuelle dart est rapide et peut produire des instantanés, ce qui peut accélérer jusqu'à 10 fois le temps de démarrage. Il se compile également en javascript et c'est rapide .
Le principal inconvénient ici est qu'il s'agit d'une technologie quelque peu nouvelle, donc il n'y a pas autant de bibliothèques pour elle, et honnêtement, l'interopérabilité avec javascript n'est pas aussi simple qu'elle devrait l'être. De plus, le langage est toujours en développement, il y a donc des changements de rupture de temps en temps.
la source
Votre question est basée sur plusieurs hypothèses incorrectes.
Python, Ruby sont tous deux compilés en bytecode avant exécution. Le processus est automatique, mais les changements d'application nécessitent un redémarrage complet. Node.JS se comporte de la même manière mais se compile en code machine.
Le code ASP.NET peut être précompilé et copié sur le serveur ou compilé dynamiquement à la demande à partir du code source sur le serveur. IIS gère les deux formes de mises à jour sans temps d'arrêt nul (les premières demandes après la mise à jour seront lentes.) Les mises à jour sans temps d'arrêt sont possibles avec Python et Ruby, mais avec autant d'options de déploiement, ne sont pas quelque chose à prendre pour acquis.
Sur cette base, je pense que vous seriez satisfait de tout langage .NET.
la source
Il n'y a aucune raison pour qu'une langue compilée soit fortement typée ou difficile à mettre à jour.
Vous voudrez peut-être regarder certaines des configurations Web erlang comme Cowboy, Webmachine et Azote. Avec Dialyzer, vous pouvez obtenir de très bons types de vérification de l'exactitude et vous pouvez recharger les modules à la volée au moment de l'exécution, car erlang a été conçu pour pouvoir mettre à niveau le logiciel en place sans interrompre les utilisateurs existants.
De plus, la webmachine (celle que j'ai utilisée le plus souvent) peut être assez rapide. J'ai vu webmachine avoir des réponses moyennes sur les points de terminaison API de moins de 10 ms sur un petit nœud amazon EC2!
Si vous voulez un typage statique, essayez le framework Yesod qui est pour le langage Haskell. Haskell est fortement typé avec un système de type très riche.
Je ne l'ai pas utilisé personnellement, mais les gens que je connais qui l'utilisent l'adorent.
la source
À mon humble avis, le meilleur langage de script Web est typé statiquement D .
Comme les langages de script interprétés, il peut compiler des scripts à la volée et à une vitesse fulgurante.
Le langage lui-même ressemble à un JavaScript super puissant fortement typé, beaucoup plus puissant que Go par exemple.
Tous les trucs de concurrence sont cachés, comme en PHP, et les modèles sont compilés en code natif.
Difficile de trouver mieux que ça ...
la source