Есть некоторые недостающие сведения о том, что именно вы пытаетесь достичь.
Сайт социальной сети - довольно большая тема.В своем вопросе вы забыли упомянуть, где вы планируете хранить свои данные.Какую платформу вы собираетесь использовать для сервера.
Будет ли это сервер Unix (linux, bsd, macos, solaris ...) или сервер Windows.
Вы можете использовать базу данных SQL или базу данных NoSQL для данных.В случае социальных сетей имеет смысл использовать базу данных NoSQL (документно-ориентированная база данных).
Что касается языка, вы должны выбрать тот, который подходит вам, но также подходит для вашей базы данных.
Полные решения
Поскольку я не знаю, к чему вы стремитесь, есть вероятность, что вы можете хорошо сочетаться с такими вещами, как drupal.Вы должны увидеть, есть ли все необходимые вам модули.Тогда вам нужно будет определить тему, если это необходимо.Но, честно говоря, после игры с drupal.Я бы сказал, что если вам нужно сделать что-нибудь, что требует много модулей.Может быть, лучше создать что-то самостоятельно с помощью фреймворка.
Фреймворки
Что хорошо с фреймворками, так это то, что они часто довольно просты и позволяют вамработать над важными вещами, не возвращаясь к аварии.Например, я делал сайты на python, используя каркасы pylon.Что мне понравилось в этой структуре, так это то, что она ничего не навязывает.Вы можете использовать другую базу данных, другой шаблонизатор, если таковой имеется.Все, что делает фреймворк - это обрабатывает запросы и перенаправляет их на нужный контроллер.
Что действительно хорошо в фреймворках, так это то, что они позволяют вам делать сложные вещи, которые готовые решения не могут сделать очень легко.Но, с другой стороны, вы можете все испортить, если не будете осторожны.
Вот список вещей, на которые вы должны взглянуть:
Базы данных SQL: Mysql, Postgresql
Базы данных NoSQL: MongoDB, CouchDB
Платформы Python: Pylons, TurboGears2, Tornado, Flask
Ruby-фреймворки: Rails
PHP-фреймворки: Symfony, CakePHP