`
txf2004
  • 浏览: 6888509 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C/C++ 语言如今在干什么活及其它

阅读更多

话题源自我在 vipclub 上的一个提问:
C/C++ 在语言排行榜上一直独占鳖头。但是现在Web开发却已经是风起云涌。C/C++开发Web程序可是捉襟见肘的。那么请问大家如今用C/C++具体干什么事情呢?

网友:
我的理解,是用来节约的。如果一个脚本服务器忙不过来了,访问量太大……可以买新服务器,也可以用C++改写,提升效率,如果老板手边正好有几个搞C/C++的傻蛋,那就讲究了,服务器省了,让他们干。
结论:利用 C/C++ 底层开发的强大威力,开发高效的底层应用,节约硬件投入等成本。

我:我想了解用 C/C++ 怎么写 Web 程序。用 C++.net吗?
网友:
apache既可以调用php应用,也可以直接调用so,就是c写的接口响应模块。更有甚者,直接写个httpd,在80端口监听响应请求,然后按照http协议规范应答就好了。甚至,没有html,也可以让对方看见网页的。

我:我知道用VC++写ISAPI应用,程序执行效率很高(但显然程序员的工作效率不会高吧?)。
网友:
也不一定。
我们都有自己的底层库。
JAVA,PHP,你可以认为在一堆别人的底层库上开发而已,这样来得快。
C没有,我们就自己写。
写到现在,做数据传输应用的库差不多都全了,也经过了n个商用工程的检验,很稳定,这个时侯再写新的应用,和JAVA,PHP的起跑线差不多,因此,速度和质量也差不多的。

我:我不太理解的是,为什么必须要做“重复制造轮子”的事情?你们是不是绕不过去了,必须去做?那你们是不是打算重新开发Java这样的平台(语言)或PHP这样的语言?你是不是想开发另一个中国的 Apache?
网友:
我哪有,你少乱扣帽子。
JAVA语言啥都有,有自己的内存机制,有自己的线程池。
我们C程序员啥都没有,好不容易,自己写了个比较稳定的,准备重用,算自己给自己节约一点劳动力,赚钱轻松一点。
你马上就给我们扣一顶自己造轮子的大帽子,你想压死人啊。
你还让不让我们C程序员活了?

网友:
我发现软件开发最近倾向不好。
一个功能,首先问,别人写了没有,别人写了,一定用别人的,否则一定不准写,因为别人没有写过,你写的一定不对。
不准笑,我们公司就这样。
遇到需求,首先找开源,找不到开源,这个肯定不是方向,一定不要做。
遇到一个稍微底层一点的功能,一定不能自己写,自己写的一定有问题。
程序员不能自己写代码吗?是不是操作系统一级的代码,永远不准中国程序员写?那,中国的大学,只教脚本语言好了。
是不是我们一定要用国外的底层库,才叫本事?
是不是中国人一辈子不准碰底层?
是不是只会用脚本语言写代码才叫高手?
我觉得,经过满清300年的统治,中国人缺的,就是那么一点点骨气。
apache的效率没有我高,国外的C10k问题,即一台服务器同时处理10000路连接,国外沸沸扬扬吵了n年,iocp,epoll,提出了n多解决方案。
我一个任务池就搞定了,只用了一个月。apache现在并发,只有800路。还是8G内存。
apache的效率,just so so!
我给我小弟说的是,apache的开发人员,需要study了!

我的结论:
我注意到网友说的,他们自己写了一个“比较稳定的”“底层库”,“准备重用,算自己给自己节约一点劳动力”。问题是,这样的“基础设施”确实不是一般的程序员(一般的程序员无疑代表大多数程序员)能够创立的,能达到这个地步需要长期的技术积累,还有大量的资金投入,还有时间成本的考虑。
个人觉得,这就如同每个做Web开发的程序员,首先要写个Web服务器(例如Apache或IIS),然后再开发一种脚本语言(例如PHP或Python),然后再开发一个前端客户端(例如IE或Firefox),最后才开始写一个类似“Hello World!”的应用。
若用造汽车来类比的话,是不是每个汽车制造厂家都必须先去做勘探、挖矿石、炼钢铁,再去设计和制造汽车?

至于网友说的“发现软件开发最近倾向不好”的问题,我觉得说的有道理,有很多程序员现在确实是这样,这反映了其不自信甚至是低能。但我觉得网友的倾向也不好,有点矫枉过正。首先找开源并不是错的,借鉴别人的成果是为了借鉴前人的经验,不犯别人的错误。网友反问“中国的大学,只教脚本语言好了”,那是不是想说“中国的程序员都要去做底层库开发”呢?至于“骨气”说,更谈不上了,就编程这档子事,提到这么高的高度啊,那该是国家发改委考虑的问题了,哈哈~~

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics