Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Язык программирования для сервера


Автор: pakulo 17.7.2007, 13:38
Интересует тема написания, так сказать, больших серверов (т.е. серверов, которые бы обрабатывали большое кол-во подключений клиентов), первым делом, конечно, что сделал это накачал исходники open-source проектов. И вот, большинство написано на чистом Си, никакого ООП я там не увидел. 
Вопрос: почему Си? 

Автор: Kill_em_all 17.7.2007, 15:41
А какая тебе разница? Если ты не будешь освобождать динамически выделенную память что 
в С, что в C++ сервер будет загружать систему(если ты об этом). Думаю, что если ты писать серьезный, сложный
проект, который ты рассчитываешь в последствии дорабатывать и поддерживать, то выбор
очевиден: много проще будет использовать все возможности ООП в С++.

Автор: RatHat 18.7.2007, 00:06
pakulo, Си потому, что под Юниксы наверно )

Автор: Delite 18.7.2007, 00:39
Наверно, там используется C, потому что много кода было унаследована из каких-то очень далеких времен...

Если собираешься писать сейчас сервер, то, корнесно, стоит использовать C++. Могу сказать (свой опыт), что при хорошем подходе все будет просто, понятно и расширяемо. Единственное преимущество C, это маленькое, настолько маленькое, что его не заметно увеличение скорости работы (но тут опять ж надо знать С отлично чтоб его получить smile )

Вобщем С++, и никаких С

Автор: pakulo 18.7.2007, 12:31
Ответ Delite мне близок больше всего smile.

Цитата(RatHat @  18.7.2007,  00:06 Найти цитируемый пост)
pakulo, Си потому, что под Юниксы наверно ) 

Ну вот, тот же Apache & MySQL написаны не только под Юникс системы.

Для продолжения темы, а ведь API для работы с сокетами на С++ нет? Только то, что унаследовано от С... 

Автор: witex 18.7.2007, 13:32
Ну тот же апач! Написан в первую очередь был написан для Юникс систем! и зачем скажи мне что бы переписывать весь код! когда можно только нужные  АПИ поправить! Если на то пошло сама винда на С написанна! 

Я скачал исходники MySQL сервера и он  на С++ со всеми наследования и тд.
ВинАпи то работают что с С, что с С++ одинакого! С++ значимо удобнее для развития проекта всё таки!

Так что пиши на С++ и не забивай себе голову!

Автор: pakulo 19.7.2007, 10:05
witex, спасибо smile
За MySQL прошу прощения, это я, наверное, перепутал с Postgres

Автор: GrayCardinal 22.8.2007, 12:31
pakulo, 
Пару раз честно пытался сделать свой проджект на Си++. Сейчас забил, пользую Си. Точнее смесь функционального и объектного кодинга. Это на порядок проще и логичнее чем "чистый Си++" (с кучей классов темплейтов и прочей дряни, в которой ориентироваться может только автор  smile)

Автор: JackYF 22.8.2007, 13:13
Кому как удобнее, конечно. Пользую С++ во всем. Рекомендую.

Автор: vinick 3.9.2007, 09:04
Цитата(pakulo @  18.7.2007,  12:31 Найти цитируемый пост)
Для продолжения темы, а ведь API для работы с сокетами на С++ нет? Только то, что унаследовано от С... 

Для С++ есть ACE, asio, Poco и в Qt что-то есть. Причем asio обещают включить в состав Boost в следующем релизе.
А на ACE по слухам успешно разрабатывают приложения работающие 24/7/365 с повышенными требованиями к производительности.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)