Один из наиболее часто задаваемых вопросов об этом проекте - **"Почему?"** |
|
Есть много причин. Первая и наиболее важная: |
|
**Производительность** |
|
Если Вы создаете персональный блог, небольшие или средние сообщества или веб-сайт для небольшой компании --- CppCMS не для Вас. Возьмите любой из существующих и хороших CMS, таких как [Drupal](http://drupal.org/) или разрабатывайте с помощью отличного фреймфорка [Django](http://www.djangoproject.com/) --- Вы будете удовлетворены результатами. |
|
Однако, когда нагрузки превысят средние, процесс расширения с помощью текущего веб-фреймворка может стать болезненным: |
|
1. Низкая производительность динамических или JIT-языков заставлет Вас добавлять больше серверов даже при довольно низких нагрузках. |
2. Кеширование становится сложнее и менее эффективнее, так как система, становясь распределенной, не расширяется линейно. |
3. Создание таких систем требует квалифицированных сотрудников и стоит гораздо дороже. |
|
CppCMS позволяет увеличить производительность стандартных систем [в соответствии с масштабом](/wikipp/en/page/benchmarks) и потому: |
|
1. Избавляет от необходимости поддержки серверных ферм, в которых несколько или даже один сервер решает проблемы нагрузок. |
2. Уменьшает стоимость поддержки и потребление энергии. |
|
**Сделайте мир более чистым и лучшим местом** |
|
Уменьшая число серверов, исполняющих Ваши приложения, Вы в действительности сокращаете количество выделяемого в воздух углекислого газа и уменьшаете потребление энергии Вашим программным обеспечением, делая тем самым мир _чище_. |
|
Не верите? Прочитайте [эту статью](http://developers.slashdot.org/story/09/12/20/1433257/The-Environmental-Impact-of-PHP-Compared-To-C-On-Facebook?art_pos=12) о серверной ферме Facebook. |
|
**Что насчет стоимости разработки?** |
|
Это главный пункт CppCMS. Он делает разработку быстрее, легче и позволяет программисту заниматься логикой приложения вместо вещей, несвязанных с его деятельностью. |
|
Главная проблема разработки веб-приложений на C++ сейчас - это нехватка подходящих инструментов. CppCMS решает это и дает Вам средства, аналогичные любому другому веб-фреймворку. |
|
**Что насчет аварий, переполнений буфера, утечек памяти?** |
|
Эти проблемы в основном находятся в прошлом для современной C++-разработки. Умные указатели, STL, Boost и другие достойные средства программирования позволяют писать безопасный код просто и быстро. |
|
Современная C++-разработка проста и безопасна, как разработка в C# и Java. |
|
Также разработчик, использующий CppCMS, в основном работает над бизнес-логикой приложения и не касается вопросов низкого уровня, о которых заботится CppCMS. |
|
Например, взгляните на [код этого вики](http://cppcms.svn.sourceforge.net/viewvc/cppcms/wikipp/branches/for_cppcms_v100/) - он простой, безопасный и эффективный. |