Comme pour toutes les questions de ce type, la réponse est "cela dépend". Les facteurs à considérer incluent votre degré de confort avec le langage / framework et les fonctionnalités requises par le projet. Cela dit, j'ai construit des sites en utilisant un certain nombre de cadres, chacun avec ses propres forces et faiblesses:
Grails
Si j'ai besoin d'obtenir un site rapidement pour quelque chose de professionnel , Grails serait probablement mon premier choix. GORM est de loin l'ORM le plus simple et le plus intuitif que j'ai essayé, le paradigme MVC est très bien exécuté, il y a 0 configuration pour commencer à coder (pas de soucis pour les URL, les correctifs DB, quoi que ce soit), une itération très rapide (juste rafraîchir la page), l' intégration transparente Java (une bonne chose dans le monde des affaires), et quelques plugins merveilleux (par exemple interrogeable est une chose de la beauté). Le plus gros inconvénient est que l'hébergement peut être difficile à trouver (et coûteux).
Ruby on Rails
Mon expérience avec RoR est très similaire à celle de Grails: MVC bien exécuté. Du côté positif, il a une plus grande communauté, donc les ressources en ligne (documentation, FAQ, exemples de code, etc.) sont très abondantes, il y a des TONNES de plugins, Ruby est un peu plus flexible / expressif / "funky", et c'est beaucoup plus facile de trouver un hébergement (en particulier pour des projets personnels); du côté négatif, la gestion / installation des dépendances est nul (j'ai utilisé RubyGems sur Windows, Ubuntu, Fedora et OSX et j'ai rencontré des problèmes non triviaux sur chacun), il y a un peu plus de configuration / surcharge que Grails (en particulier, traitant routes.rb et des tonnes de fichiers de migration db), et apparemment, RoR a de sérieux problèmes d'évolutivité.
PHP (y compris le framework CakePHP)
Si je dois rapidement pirater quelque chose ou créer un site pour un usage personnel , j'irais probablement avec PHP. PHP est de loin le langage le plus facile à apprendre et à déployer: téléchargez l'un des packages LAMP pratiques, cliquez deux fois et commencez à pirater. La communauté est plus grande que celle de RoR, donc la documentation est abondante et il existe d'innombrables plugins (facilement "installés" en déposant simplement le fichier php et en rafraîchissant la page). Le langage est simple à apprendre, mais certaines choses en PHP sont tout simplement étranges et il faut beaucoup de discipline pour éviter le code laid. Le framework CakePHP applique un joli paradigme MVC pour aider à garder les choses en ordre, et pour la plupart est à égalité avec RoR, bien que personnellement je l'ai trouvé légèrement plus intuitif.
Java (servlets, JSP, JSTL, struts, Velocity)
J'ai construit de nombreux sites en utilisant les technologies de servlet Java, et je peux honnêtement dire qu'il n'y a aucune bonne raison de les choisir pour un nouveau site de nos jours. Ils ont une courbe d'apprentissage abrupte, des tonnes de configuration pour lutter contre (l'enfer XML), une itération lente en raison de la nécessité de redéployer tout le temps (sauf si vous utilisez JRebel), du code prolixe et aucun "cadeau" en termes de fonctionnalité. J'ai joué avec Play! Framework et Spring Roo un peu et les deux font des trucs très cool avec du code Java plus ou moins "pur" et méritent d'être approfondis.