С точки зрения заказчика (бизнеса) самое лучшее решение по-умолчанию — это самое распорстраненное. Другие решения имеет смысл выбирать исключительно если у них есть какие-либо серьезные преимущества. Причем не технические, а для бизнеса.
Мейнстрим это, как не обидно, PHP. Использование его означает:
— дешевый хостинг
— огромное количество разработчиков любой квалификации и стоимости (от работающих за еду чайников, до опытных девелоперов с з/п в десятки баксов в часов)
— благодаря последнему заказчик, даже ничего не понимающий может просто нанять кого-то на review кода, и тем самым получить в итоге хороший продукт относительно дешево.
Выбор любых других средств имеет смысл лишь в том случае, если у них есть существенная killer feature. Например у RoR это гибкость и скорость разработки.
Решения на Java/C# для бизнеса:
— требуют более редких и дорогих специалистов)
— требует более дорогой хостинг
Все разработки для highload проектов сейчас ведутся в основном для Linux как платформы, и отнюдь не на java как следствие:
— разработчиков умеющих делать такие решения на C# и Java найти крайне сложно и дорого
— эти технологии не обкатаны, ибо крупнейшие сайты в мире сделаны отнюдь не на них, а именно они делятся своими наработками в области highload с community.
Итог — причины делать сайт на С# или Java может быть только три:
— Наняли конкретного разработчика, и он знает именно эти платформы.
— Мы продаем разработку на C# или Java
— Это учебный проект
Посему правильный ответ на заданный вопрос будет «ни то, ни другое, если вы хотите научиться делать сайты».
Если цель личное развитие, и в будущем пробиться на хорошие места, то стоит взяться за RoR (спрос есть, разработчикам на нем платят часто выше чем PHP'шникам).
Если цель банально зарабатывать на создании сайтов — то PHP.