тогда боюсь вы этим вопросом максимум только холивор вызовете.
мой вам совет: ознакомьтесь по чуть-чуть с PHP, Ruby, Python, Java и C#. что из языков вам больше приглянётся, то и выбирайте. у всех у них есть свои плюсы и минусы, и по всем хватает материала для изучения. по конкретным технологиям (фреймворкам) у каждого из этих языков есть лидер (ну разве что кроме PHP, но по фреймворкам на нём много отзывов здесь), так что там уже выбрать будет не сложно.
поллинг на данный момент практически единственное действенное и кросс-браузерное решение.
т.е. вы раз в n минут делаете ajax-запрос к серверу на наличие новых сообщений за эти n минут.
сделайте правильный кеш, и никто никого не будет класть.
к примеру, можно каждые n минут кладите все новые сообщения за эти n минут в new_posts.json и отдавайте через nginx. даже слабый сервер не заметит изменений.
/^введи число (\d+)$/ для точности, если вы вдруг «усовершенствуете защиту» :) если кто-то на вас очень обидится и решит заспамить ресурс, вы пожалеете, что не перешли на капчу посложнее. впрочем, зависит от задачи. если 99% аптайма вам не надо, то когда такое случится, вы просто откатите БД.
может вы просто никому не нужны?
прикол в том, что для обычного форумного спама (в основном иностранного) дорого нанимать индусов или людей, которые будут под каждый сайт с логической капчей регексы писать. потому вас и не ломали. когда же вас начинают целенаправленно спамить конкуренты, для если у вас окажется логическая капча, заплатить 10$ школоле, которая напишет регекс за час дешевле, чем нанимать индусов.
логические капчи давно уже не вариант. если рекапчу можно обойти только с помощью индусов, а в обычных капчах попариться с распознавалкой, то логическая взламывается на 100% с помощью регекса, составленного за 3 минуты.
и что в ней такого страшного? она всего лишь формирует набор DOM-элементов и передаёт его функции-обёртке, которая возвращает его в качестве массива. с точки зрения cohesion, функция составлена идеально. или вам просто больше нравится подход prototype?
как вариант можно хотя бы грузить только ActiveRecord, а не всю среду. зависит от требований.
я у себя никогда раннер не использую, т.к. у меня обычно приложения (несколько Rack-middleware, пара десятков контроллеров и моделей, мемкеш) на VPSах не оставляют памяти чтобы даже бандлер или консоль запустить.
мой вам совет: ознакомьтесь по чуть-чуть с PHP, Ruby, Python, Java и C#. что из языков вам больше приглянётся, то и выбирайте. у всех у них есть свои плюсы и минусы, и по всем хватает материала для изучения. по конкретным технологиям (фреймворкам) у каждого из этих языков есть лидер (ну разве что кроме PHP, но по фреймворкам на нём много отзывов здесь), так что там уже выбрать будет не сложно.