本文纯粹是主观上的吐槽~
很久以前,听说C很底层,很难,C++要好一些,C#、Java更好,开发更简单,开发效率更高。反正就是越新的语言开发效率越高,运行效率月底。但是,一直也就是一个比较朦胧的概念,至于到底是怎么样的,自己没有过多研究,也没有把所有语言都用一遍,所以也不特别清楚。知道最近用C++写服务器,终于明白了,什么叫做进展缓慢,什么叫开发效率低,什么叫做开发成本高……
之前也写过C++,但是架构是别人的,各种通用的库和类都是现成的,自己就写点简单的东西。后来,又用了Lua,简单得不行了,啥都不用管,把手写坏了。这次做C++服务器,遇到的最大问题:
1.设计不到位,不全面
2.设计不够细致,不少东西没有考虑到
3.字符集是个很大的问题,wchar和char没有很好的统一,在选择第三方库的时候也没有考虑这个问题,做的时候发现了,有点晚。
4.C++的强类型,lua久了之后有点难以适应了,有些设计不能通用
5.C++没有引用计数,堆和栈空间的使用要当心,有时候直接用了一个返回值,其实栈已经被释放了,被坑了几次。
当然,出现这些问题,还是跟自身实力不够有关系。但是,从另外一个角度来看,C++要考虑的东西太多,需要的代码量也较大,对技术要求也更高,结果还不一定好,比如健壮性、可维护性方面。比起来,像java、erlang、python就要比C++有太大的优势。
这个服务器开发上,真的是边写、边改、边总结,之后要是再用C++写Server,应该比这次好很多,但是可能会考虑用别的语言了。
时间: 2024-11-09 02:32:05