
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.221.46] |
![]() |
|
Страницы: (7) [1] 2 3 ... 6 7 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Приветствую!
Задался вопросом создания программы, имеющей исключительно Web-интерфейс, на С++. Из наиболее популярных - выбрал эти два решения. Быстродействие и работа под большими нагрузками - наиболее важное требование. Удобство и скорость разработки - важно, но чуть менее. Чтобы вы выбрали и почему? |
![]() |
Сообщ.
#2
,
|
|
Кто-то ещё использует FastCGI? o_O'
|
Сообщ.
#3
,
|
|
|
А почему нет?
В Апачах к примеру есть модуль FastCGI |
Сообщ.
#4
,
|
|
|
Цитата JoeUser @ исключительно Web-интерфейс, на С++ Мсье знает толк... |
Сообщ.
#5
,
|
|
|
Цитата korvin @ Кто-то ещё использует FastCGI? o_O' А что сейчас "модно" вместо этого? ![]() Цитата Астарот @ Мсье знает толк... Ну да - мне нужно приложение, работающее на стороне сервера. И нужно скомпилированное, а не набор интерпретируемых скриптов. Что тут такого. |
![]() |
Сообщ.
#6
,
|
|
Цитата Oleg2004 @ В Апачах к примеру есть модуль FastCGI Там много чего есть, что с того? Что-то там есть уже очень давно, что не значит, будто оно активно используется большим количеством людей. Цитата JoeUser @ А что сейчас "модно" вместо этого? «Встроенный» в приложение веб-сервер из стандартной (или сторонней) библиотеки языка. Т.е. этот ваш «WebApplication». Цитата JoeUser @ И нужно скомпилированное, а не набор интерпретируемых скриптов. Что тут такого. Ну как бэ кроме C++ есть куча компилируемых языков, на которых решить твою задачу будет значительно проще. Да тот же Rust, в крайнем случае, может оказаться заметно удобней плюсов и вряд ли даст большой оверхед по производительности. И тебя не смущает, что этот твой «Web-интерфейс» в любом случае будет набором интерпретируемых JS-скриптов +HTML+CSS? Цитата JoeUser @ Быстродействие и работа под большими нагрузками - наиболее важное требование. Если ты уверен, что C++ тут даст заметный выигрыш, то я бы, на твоём месте, рассмотрел вариант разделения приложения на два: собственно сервис обеспечивающий т.н. «бизнес-логику», на плюсах, и веб-приложение, предоставляющее интерфейс, на любом другом языке. Общение между ними можно организовать по какому-нибудь бинарному протоколу, типа Protobuf. Или без отдельного сервиса: само приложение на чём угодно + библиотеках на плюсах для твоих сложных вычислений. |
Сообщ.
#7
,
|
|
|
Цитата korvin @ Цитата Oleg2004 @ В Апачах к примеру есть модуль FastCGI Там много чего есть, что с того? Что-то там есть уже очень давно, что не значит, будто оно активно используется большим количеством людей. Читал недавно (пруф не дам, не помню где), что FastCGI - древняя шляпа. Но, ввиду древности, и ввиду того, что остальные новшества дают незначительный профит при дополнительной сложности, FastCGI и сейчас вполне себе актуален. Кому лень заморачиваться для получения дополнительных 1-5% профита (условно). Цитата korvin @ Цитата JoeUser @ А что сейчас "модно" вместо этого? «Встроенный» в приложение веб-сервер из стандартной (или сторонней) библиотеки языка. Т.е. этот ваш «WebApplication». Получается, твой выбор из предложенного - п.2? Цитата korvin @ Цитата JoeUser @ И нужно скомпилированное, а не набор интерпретируемых скриптов. Что тут такого. Ну как бэ кроме C++ есть куча компилируемых языков, на которых решить твою задачу будет значительно проще. Да тот же Rust, в крайнем случае, может оказаться заметно удобней плюсов и вряд ли даст большой оверхед по производительности. Посмотрел бегло Rust - очень приятный синтаксис! Но для меня это совершенно незнакомый язык. Каков порог вхождения в него? Для сравнения (для меня): Lua - отлично, Haskel - ужасно. Цитата korvin @ Абсолютно не смущает. Я же понимаю, без чего совсем нельзя на стороне клиента.И тебя не смущает, что этот твой «Web-интерфейс» в любом случае будет набором интерпретируемых JS-скриптов +HTML+CSS? Цитата korvin @ Цитата JoeUser @ Если ты уверен, что C++ тут даст заметный выигрыш, то я бы, на твоём месте, рассмотрел вариант разделения приложения на два: собственно сервис обеспечивающий т.н. «бизнес-логику», на плюсах, и веб-приложение, предоставляющее интерфейс, на любом другом языке. Общение между ними можно организовать по какому-нибудь бинарному протоколу, типа Protobuf.Быстродействие и работа под большими нагрузками - наиболее важное требование. Я хочу это реализовать в рамках одного многопоточного приложения. Если не рассчитывать на кластерные реализации - разницы, имхо, никакой. |
![]() |
Сообщ.
#8
,
|
|
Цитата JoeUser @ Кому лень заморачиваться для получения дополнительных 1-5% профита (условно). А кому не лень заморачиваться с FsstCGI? Он же, пожалуй, только в среде PHP-шников да Perl'овиков более-менее распространён, у остальных: Java, C#, Ruby( on Rails), Python, Go, JS и др. свои сервера. Цитата JoeUser @ Получается, твой выбор из предложенного - п.2? Да. Цитата JoeUser @ Каков порог вхождения в него? Понятия не имею, я с ним не знаком. Для плюсовика должно быть не сложно. |
![]() |
Сообщ.
#9
,
|
|
Цитата JoeUser @ Каков порог вхождения в него? Для сравнения (для меня): Lua - отлично, Haskel - ужасно. Порог вхождения невысокий - вменяемый плюсовик за неделю-другую обучения превратится во вменяемого растамана - практически все плюсовые концепции (кроме лёгкости прострела ноги) в языке реализованы привычным образом. По-моему если переходить с плюсов, то куда выше будет порог выхода, чем входа - после знакомства с ним на плюсах не хочется писать совершенно ![]() |
Сообщ.
#10
,
|
|
|
Цитата OpenGL @ По-моему если переходить с плюсов, то куда выше будет порог выхода, чем входа - после знакомства с ним на плюсах не хочется писать совершенно ![]() Не знаю, меня вот синтаксис rust очень отвращает. По-моему он даже хуже C++, хотя казалось бы куда уж хуже. Добавлено JoeUser, даже чистые бэкенды для высокой нагрузки и т.п. делать на C++ нет смысла без необходимости. Зачем ты себе жизнь усложняешь? |
Сообщ.
#11
,
|
|
|
А зачем?
Цитата D_KEY @ JoeUser, даже чистые бэкенды для высокой нагрузки и т.п. делать на C++ нет смысла без необходимости. Зачем ты себе жизнь усложняешь? Точно. Если вы про хайлоад, то там проблемы решаются другими методами. Чтобы писать на С++ нужно иметь ООЧЕНЬ веское обоснование. И одно только что на Це будет быстрее работать не канает... |
Сообщ.
#12
,
|
|
|
Цитата JoeUser @ Чтобы вы выбрали и почему? Если не учитывать кучу нюансов реального мира(квалификация и спецификация в команде разработки, например), то на бэкенде взял бы go, rust или scala. А начил бы, возможно, с прототипа на питоне. На фронте просто html, css, js, видимо ![]() |
Сообщ.
#13
,
|
|
|
Цитата D_KEY @ JoeUser, даже чистые бэкенды для высокой нагрузки и т.п. делать на C++ нет смысла без необходимости. Зачем ты себе жизнь усложняешь? Рисуется чисто коммерческий продукт. Исходники распространять желания нет, равно как и завязываться на что либо, кроме движка DB. OpenGL, если ты с Растом знаком - глянь, плс, смежную тему. Добавлено Цитата D_KEY @ А начил бы, возможно, с прототипа на питоне. Питон вообще никак - немотивированное отвращение ![]() |
Сообщ.
#14
,
|
|
|
Цитата JoeUser @ Питон вообще никак - немотивированное отвращение ![]() Тут как: для каждой задачи ты подбираешь тот инструмент который наиболее удобный, наиболее эффективный и тд. Конечно, никто не может запретить тебе гвозди микроскопом забивать, только стоит ли оно тех усилий? Потом, ну ОК, добьешься ты +5% к скорости, радости то для Веба... никакой. А иногда проще добавить мощей к железу, и без напрягов получить те же +5%.. |
![]() |
Сообщ.
#15
,
|
|
Цитата JoeUser @ Рисуется чисто коммерческий продукт. Исходники распространять желания нет, равно как и завязываться на что либо, кроме движка DB. Так не распространяй. Почти все языки сейчас компилируются в байткод + есть обфускация. Ты бы хоть немноого описал, что будет делать приложение, тогда понятней будет, что советовать. Пиши на Erlang'е, например. =) |