ФабрикаВыставкаБиблиотекаБеседкаКонтакты
             
 
 
 
 
Литература
В помощь дизайнеру
Статьи
Почему Си?
Выбор хостинга и регистрация домена
Из писем наших дорогих заказчиков
Почему Си?

Нам часто задают этот вопрос и чтобы каждый раз не вдаваться в подробные объяснения решили выложить ответ нашего дорогого программиста здесь:

Язык С/С++ используется как фундамент систем типа *NIX. То есть все приложения, которые создаются для этих платформ, в своей основе содержат именно этот язык программирования. Вообще говоря, даже сама операционная система написана на этом языке за исключением некоторых кусков кода, которые выпадают из общей картины. При использовании этой платформы сначала создается мнемонический код понятный человеку.
Ну например:
----------
printf("Content-tupe: text/html ");
for(int i = 0; i < 1000;)
{
  printf("%d<br>", i++);
}
-----------
Не сложно догадаться, что это небольшой сайт, на котором написаны цифры от одного до "дофига".
Затем этот код обрабатывается всякими анализаторами, что не очень интересно в нашем случае, а зааааатем наступает самая интересная часть - это преобразование человеческого языка в машинный код. На выходе мы получаем чистый машинный код, который понимается самой системой. В отличие от языков типа perl или php. Все эти языки конечно же тоже написаны на С или "плюс-плюс", но код, который пишет программист выполняется уже именно этими программами. А не самой системой. Поэтому скорость и возможность оптимизации гораздо более мощная, когда ваша программа выполняется в родной среде компьютера, а не в "песочнице" другой программы.

Конечно же на простых операциях или на простых сайтах все это не очень заметно, а вот когда вырастает количество посещений на сайт или сайт должен выполнять довольно требовательные вычисления по отношению к процессору или системе, то тут уже вылезают все плюсы программирования исполнения программы в самой ОС. За этим вслед подтягиваются требования к памяти. Это означает что если вам нужно 1 МБайт памяти для работы вашей программы, то при использовании чистой программы действительно будет получаться один мегабайт.
*) если на С то 1МБ в системе
*) php или perl 1МБ внутри перла или пхп. (но на запуск самого перла и пхп так же расходуется память и это не малая часть)

Другой аспект, который тянет за собой память - это скорость запуска. При запуске "родной" программы происходит примерно следующее. (Рассмотрим самую распространенную конфигурацию хостингового сервера - а именно его серверной части это приложение Apache)
В апаче есть константы, которые говорят, сколько должно быть процессов запущено, зарезервировано и сколько их может быть максимум.

Тут выползают два случая:
1) Дочерний процесс апача есть, то есть уже запущен и работает. Тогда вызывается системная ф-ция execv или fork которая вызывает запуск интерпретатора перл, пхп или вашей программы. При запуске перла или пхп эти интерпретаторы загружают к себе в память вашу программу. Итог: расходуется время и память на запуск интерпретатора, и еще расходуется время и память на запуск вашей программы внутри интерпретатора.
2) Дочернего процесса у апача нет. Тогда сначала запускается процесс апача а потом повторяется пункт 1.

Есть и другие аспекты, которые просто-таки вынуждают нас выбрать C. Это полностью собственный движок который наша компания разработала от начала и до конца. Гораздо проще разбираться в своем творении, чем ковырять в каких-либо чужих библиотеках. Для perl-a и php существует масса библиотек и доп модулей которыми можно пользоваться. НО есть одно НО! Эти библиотеки создавались самими авторами для собственных целей и многие из них (естественно не все) выполняют только небольшое количество операций необходимых автору и в той манере в которой это было необходимо ему. Дабы не быть голословным. Приведу примеры таких библиотек в Перле. Net::Telnet и Net::Telnet::Cisco. Если вы работали с ними в production environment то сразу же натыкались на подводные камни, которые приходилось исправлять в исходниках библиотеки. В своём же движке мы разбираемся от начала и до конца. Не обращаясь к необщепризнанным сторонним библиотекам.

Вообще пользователю, который сидит у экрана монитора и смотрит ваши сайты абсолютно все равно, на чем они написаны. Равно как и браузеру, который их показывает. Потому как есть жесткие стандарты, которым должны подчинятся сайты. И средство их разработки не указано.

Вы можете писать сайты на
perl, php - это просто.
Java - это круто
C/C++ - мне нравится.
Сobol/Fortran - это сложно
Bash/Sh/csh - это мега сложно
Lisp, Prolog, - это извращение

Приведу немного статистики. Есть сайт, который написан на perl (referatfrom.ru). Посещаемость этого сайта примерно 5К-10К человек в день. Это можно увидеть по статистике (referatfrom.ru/logs/log.html). Создатели этого сайта обратились к нам, потому что загрузка сервера P3-800 (двухпроцессорный) возрастала до 95% и держалась весь день до тех пор, пока студенты не ложились спать. Предложили нам творческую задачу по усовершенствованию этого сайта и деланию расширенного дубликата. Но! Основная загвоздка была в том, что ребята были бедные и второго двухпроцессорного сервера у них не было. А был еще один гораздо слабее (Celeron - 500). После переписывания этого дела на С с некоторыми усовершенствованиями и доделками на их сайте появился поиск по содержимому рефератов, динамическому обновлению администрированию и т.п. - всему что вы можете видеть в нашей системе (Шпик). Основная задача была выполнена. Нагрузка на сервер упала. И в пиковые моменты (20 килочеловек) достигала 30-ти процентов на гораздо менее мощном железе. Результат (referatw.ru/logs/log.html). Дальше можно спорить о том, что использовались другие алгоритмы, что железо ни при чем. Что вообще задача могла быть другая, а не просто переписка. И т.д. и т.п.

Ну и что бы красиво завершить повествование посмотрим какие сайты написаны на С/С++.
bullet_work.gifYandex.ru
bullet_work.gifGoogle.com
bullet_work.gifRambler.ru
bullet_work.gifAltavista.com

Итог: А вообще-то все это фигня! С/С++ - просто нам нравится.

 

    * частота и взаимное расположение слов запроса в тексте документа;
    * размер документа;
    * присутствие и взаимное расположение слов запроса в выделенном (размером шрифта или html-тегами <b>, <strong>, <h1>...<h6>) тексте;
    * присутствие и расположение слов запроса в заголовке документа;
    * присутствие и расположение слов запроса в мета-тегах "keywords" и "description";
    * присутствие и расположение слов запроса в ссылках на ранжируемый документ и авторитетность этих ссылок;
    * присутствие и взаимное расположение слов запроса в названии и описании сайта в каталоге Апорта (учитывается при вычислении веса главной страницы сайта);
    * взвешенный индекс цитирования документа;
    * количество страниц сайта, имеющих высокую релевантность запросу.

 
 
 
C днем всех влюбленных!
400 радостных проектов!
День рождения с прибавлением
Снова с Новым Годом!
Офисный БАРдак
Все новости
Все работы
 

Тел.: +7 (926) 236 1339,
+7 (495) 917 2962
E-mail: info@marika.ru
м. Курская

Схема проезда

 
 
Участник рейтинга Тэглайн 2010