У тебя производительность сайта упрётся в IO базы данных. Накой трахать мозги крестами, когда можно взять python или жабу и получить тот же результат гораздо быстрее и при этом надежнее?
С базой можно работать фоновом режиме, а все хранить в памяти. Питон я не знаю, можно, конечно и на джаве... Но все же? Есть ли какие-нибудь преимущества?
для разработки веб-сайтов используй более высокоуровневые языки. В крайнем случаи, если таки есть критические моменты - то всегда можно вынести часть критического функционала в отдельный модуль, к примеру php extension.
С базой можно работать фоновом режиме, а все хранить в памяти.
Ты это сам будешь реализовывать? Потянешь?
Я уже видел таких, тоже всё хранили и обрабатывали в памяти. Приложение на C++. Когда я уперся в производительность работая с этим веб-приложением, я выкинул этот сервер, и стал работать с их базой напрямую. Проблемы производительности сразу решились.
Положительно. Сам 3 года этим занимался. Так как разработка изначально велась под офтопик то использовался ISAPI (apache + mod_isapi)
Плюсы и минусы такие же как при сравнении скрптовых и компилируемых языков в любой другой сфере.
В плюсе скорость. В минусе большее время на незначительные правки и меньше желающих подсказывать на форумах. Синтаксис - в зависимости от привычек может быть как плюсом так и минусом.
c++ дает массу возможностей выстрелить себе в ногу, а учитывая что это приложение будет торчать задницей в интернет, последствия ошибки могут быть очень опасными. С обычным проблемам вроде sql-инъекций или DOS-атак у тебя добавятся много других интересных проблем: например утечки памяти или переполнения буфера (с последующим выполнением произвольного кода и доступом к этим твоим «данным в памяти»)
Попробуй. Даже запили бложек и видео-отчеты. Начни с анбоксинга gcc и make. Когда на 29-й серии твоего бложека ты захочешь сделать вдоль, то поймешь, что количество втоих подписчиков, наблюдающих за твоими потугами, овер9000 и ты можешь заработать на этом бабло, даже если не доделаешь сайт.
Разве что, если ты хорошо знаешь С++ и тебе лень учить «более подходящие» инструменты. Ну и заодно посмотришь на библиотеки, которые для этого сделали, возможно, будет интересно. На этом преимущества, в твоём случае, скорее всего, заканчиваются.
Чего мой другой IP забанен за провакацию flame? Можно хотя бы сообщение процитировать, чтобы я знал, сам так провинился, или кто-то другой с моей сети?
конечно есть! сайт будет летать! загружаться быстрее, чем позволяет твой провайдер! сервер почти не будет нагружен, ведь у тебя всё будет сильно сильно сильно заоптимизировано! ручное управление памятью позволит запускать стартап уровня фб на компе с 640К памяти, не то что эти ваши жавы и пихипи с рутнонами!
используя новый стандарт спп можно сделать всё с использованием странного темплейтного патерна, что позволит не испольновать классические виртуальные методы с наследованием (ведь они тормозят!), а встроить парсер хмл прямо в глаз юзеру. а жс движок - прямо ему в мозг.
потом, использовюя кастомные аллокаторы, можно достичь ещё меньшего потребления памяти, а сусле унрол позволит использовать набор команд ссе9000 напрямую, без посредников, что ещё более охладит процессор сервера! только цепепе! только хардкор! слава трупу страуса!
Мы иногда для своих серверов, написанных на плюсах, делали REST API на том же С++. Минусы: т.к. это было для внутренних нужд, мы клали болт на распределение нагрузки и прочее, плюсы: мы могли напрямую работать со стейтом своих сервисов.
А писать именно сайты смысла наверное нет вообще никакого.
зачем? полно in-memory баз данных на С/C++. работают ну очень шустро. к тому же, если не заморачиваться, можно и обычную базу засунуть в RAM. правда, всё равно будет медленее, чем настоящие in-memory базы.
а ещё есть такая MemSQL база. они вообще реализовали механизм запросов, написанных на С, и компилируют их для выполнения. это летает вообще быстрее всех. к сожалению, код закрыт и база небесплатна. но идея зело хороша и если уж заморачиваться с написанием супер-мега-производительного сайта на плюсах, то можно написать и базу с компилируемыми запросами.
от того, что ты программист ты не перестаёшь быть человеком. А человекам свойственно ошибаться. так что все эти слова про ошибки в днк оставь бабушкам под подъездом.
цпп - унылое г из 80х, используемое сегодня исключительно по двум причинам:
инерция и не способность освоить что-то ещё
оставшиеся 0.1% правильного использования этого поделия
Как вы относитесь к разработке сайтов на C++? Какие плюсы, минусы?
Плюсы по сравнению с чем? Если с похапэ, то особо никаких преимуществ - ну немного более мощный язык, шире выбор двоичных библиотек по сравнению с набором похапэшных модулей, некоторые ошибки удастся отловить во время компиляции, а не в рантайме. Не знаю - стоят ли все эти незначительные преимущества улюлюканья и насмешек, которым тебя будут подвергать ограниченные ЛОР-овские регистраты каждый раз стоит тебе заикнуться о разработке сайтов на С++?
и новые в том числе. вот, на прошлой работе писали charging system(хз даже, как это назвать по-русски) для сотового оператора на плюсах. большой объём кода, сложная архитектура, горизонтальное масштабирование. всё работает будь здоров, 24 часа в сутки, без выходных и перерывов на обед.
а сейчас я на чистой сишечке пишу всякие приблуды для эмбеддед девайсов, в основном для роутеров, свитчей и иже с ними. тоже вполне себе новые проекты, более того, совершенно новые технологии, которые только осенью выйдут на рынок в Европе и Штатах, а до нас ваще непонятно когда дойдут. так что С и С++ вполне себе используются и они оправдывают своё использование экономией ресурсов и скоростью работы софта.
у меня были проекты, когда не реквесты, а буквально каждый тик процессора оптимизировался. и каждый байт памяти экономился, чтобы влезть в ресурсы и временные рамки. так что опыт зависит от конкретной работы. при этом никто не говорит, что читабельность кода - это плохо. читабельный код можно писать и на ассемблере.
Если CGI (то есть запускается в паре с WEB-сервером), то минусы такие: - C++ не лучший инструмент чтобы работать со строками, а server-side для WEB в основном работает именно со строками. - нужно копать как работать с WEB-специфичными функциями, как то GET, POST, переменные окружения и т. п. Когда-то копал, но там много разных костылей, которые не идут ни в какое сравнение с тем, что есть, например в PHP. - код нужно компилить под конкретную платформу, что не очень удобно
А плюсы... меня лично бесит в PHP работа с объектами. Жутко неудобно. Больше синтаксис, конечно. И еще у меня аллергия на непизированные переменные: они больше мешают чем помогают. Ну, и еще в С++ много всяких плюшек, которые облегчают жизнь впринципе. Короче, дело не в применимости для WEB, а в самом языке.
Да, а второй путь - чтобы программа работал без WEB сервера. Ну, здесь к тем минусам, что вверху, добавь то, что по сути нужно написать свой WEB сервер. В общем для клуба анонимных изобретателей велосипедов.
Сходу минус - ты не знаешь С++ => ты будешь писать криво, коряво, с крэшами на каждом шагу и медленно => примкнешь к стаду дебилоидов, прикрывающий свою бездарность инструментом.
Использование базы данных резко снижает производительность любых приложений. Но не настолько, чтобы совсем отказываться от использования компилируемых языков.