如果要写服务器端程序,大家倾向c还是c++?
如果服务器端只负责msg的处理和转发,处理事件不会耗费太多时间,支持多个客户端连接,需要用到2到3个线程处理。各位倾向用c写还是c++写?用c写的话,代码要麻烦点,内存管理方面要比较小心,但优点在于比较好控制,感觉稳定性比较好。c++可以用到很多STL,框架搭起来比较方便,但总感觉内存上的控制好像有点力不从心。
此贴纯粹是为了聊聊,欢迎大家把自己的感觉说说,人人有分。星期五结贴。
问题点数:100、回复次数:15Top
1 楼ugg(逸学堂(exuetang.net))回复于 2006-03-13 18:19:31 得分 10
个人倾向与用C++,原因同lz
c++可以用到很多STL,框架搭起来比较方便
至于“但总感觉内存上的控制好像有点力不从心”lz最好深入STLTop
2 楼MagicCarmack(MagiC++)回复于 2006-03-13 18:26:39 得分 10
以后像楼主学习喽
偶的兴趣也是服务端开发Top
3 楼ykzhujiang(朱朱)回复于 2006-03-13 18:32:54 得分 10
搭框架可以用C++来做,至于关键部分的代码可以选择用C或者其他语言来实现
毕竟OO还是比较适合大工程的,对于以后的模块扩展和维护等等都有好处Top
4 楼wshcdr(dd)回复于 2006-03-13 22:59:21 得分 10
楼主这样的工程还是用C写好了
因为代码不多Top
5 楼bluejugar(2046,那年我64.)回复于 2006-03-13 23:59:19 得分 10
首先,内存安全的控制上,C++在某种意义上讲要比C来得简单,内存泄露的机会要少.
在内存使用的问题上,一般来说,C++是要比C要多得多的,比如使用STL.但如果你对STL了解比较深入一点的话,STL也是可能做到细粒度的内存使用控制的.
服务端程序首要目的应该是稳定,然后才是效率.
一般来说,C++同C相比,开发效率和维护代价(语言上基本无差别,主要是C++有更多的库,更多的框架可以使用.)却要比C高出许多.
以多线程消息处理为例,用ACE的话,如果仅仅是"支持多个客户端连接,需要用到2到3个线程处理",基本上是十几分钟的事情,如果熟悉的话.而且自然的跨平台.Top
6 楼cunsh(村少)回复于 2006-03-14 01:15:44 得分 5
mark
xuexi;Top
7 楼limlzm(凡叶)回复于 2006-03-14 09:42:00 得分 0
感谢大家的侃谈,提议我都记住了。如果是做客户端的开发,用c++绝对不反对,功能多,架构复杂,安全稳定性相对服务端要求不是太高,c++的优势完全体现出来,维护扩展都比较好。服务器端就绝对倾向稳定性,一点泄漏都会导致客户的投诉。由于修为有限,用c++写服务器端程序有点心慌慌的。Top
8 楼jiangzhu20(小蒋)回复于 2006-03-15 12:52:52 得分 10
建议用C写!!
服务器追求稳定与效率!!Top
9 楼zerg_memory(小虫子)回复于 2006-03-15 17:06:37 得分 10
当然用C++,结合现有的架构,ACE是不二之选。这样可以站在巨人的肩膀上面:)
用C写的东西,除非架构设计的特别好,不然在可扩展性方面不具有优势。Top
10 楼jiajun2001(Jagen(嘉俊))回复于 2006-03-15 23:09:16 得分 5
用啥无所谓,只要程序正确,编码清晰,效率够用,就是好程序。Top
11 楼robot_wind()回复于 2006-03-15 23:28:21 得分 5
C++
服务器稳定性是第一要求Top
12 楼iambic()回复于 2006-03-16 09:09:40 得分 5
C就可以了,写好以后要多敲磨,毕竟是服务器。Top
13 楼softbear(凡人)回复于 2006-03-17 21:41:36 得分 5
c好,稳定,速度快。和系统结合的更好!Top
14 楼yuanxiaojin(金子)回复于 2006-03-17 22:19:46 得分 5
建议用C,原因有一点,就是便于维护!
一旦出了问题,相对于C++来说,很容易定位,而如果用STL,ACE,就要慢慢找了!
再有,用C的话,也不见得层次不清晰。Top
15 楼limlzm(凡叶)回复于 2006-03-20 10:05:57 得分 0
谢谢大家的宝贵意见,收下了,结贴!Top




