并不存在所谓C/C++过热的问题

gigix 2003-04-11 10:12:07
myan:

 

这样的问题没有必要再讨论了。程序员必须集能力、职业素养和技术于一身。C/C++在可以预见的未来仍然是工业基础。你完全可以针对目前所谓C/C++的“吹捧”风潮进行批评,但是务必要提高自己的层次,如果批评C/C++而又推崇Java,.NET,那就流于派系之争,变成时髦风的吹鼓手了。如果能够站在更高的层次上,则对C/C++的批评可以是有益的。

另外,我觉得并不存在所谓C/C++过热的问题。事实上,相对于Java/C#/Delphi/VB等,C/C++在中国的应用水平是最低的,优秀的C/C++技术团队非常罕见。我不愿意堕入工具层面,但是客观事实是,C/C++应用水平的高低,往往反映一个国家系统软件的技术能力,而系统软件技术能力是软件实力的重要标志。

未来十年内,在游戏/嵌入式/高性能服务器/手机等领域,C/C++仍然是统治语言。

...全文
53 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
caislabs 2003-05-11
  • 打赏
  • 举报
回复
我们喜爱甚至热爱c++,因为他具有其他语言无法企及的表达能力和性能。Java 和 .net 当然也都有必要熟悉掌握,这样才能针对特定的问题采用最佳的解决方案。不过无论如何,我们可以没有java或.net, 但是不能没有c++.
windoze 2003-04-25
  • 打赏
  • 举报
回复
就算Java/C#之类的东东再好,它也得用什么语言实现出来才能跑吧,难不成有人要用Java写一个JVM,或者用C#写一个CLR?
实现这些VM的语言是什么,还不就是C和C++,我死也不相信它们是用COBOL或者FORTRAN写出来的…………
从这个角度来说,Java和C#用的人越多,就越需要C/C++,直到有什么公司把JavaCPU或者.NetCPU做出来为止。
yangq119 2003-04-18
  • 打赏
  • 举报
回复
学什么都不能不学c++啊!!
大家说呢,支持
ifrank 2003-04-18
  • 打赏
  • 举报
回复
C++关注软件运行效率,Java关注软件开发效率。
该用什么就用什么~
xyouke 2003-04-17
  • 打赏
  • 举报
回复
M$太厉害了
aloes 2003-04-17
  • 打赏
  • 举报
回复
我觉得C/C++被Microsoft糟蹋了。
JesusCL 2003-04-17
  • 打赏
  • 举报
回复
语言磨砺了我们思维的方式,也决定了我们思考的范围。
idioms 2003-04-15
  • 打赏
  • 举报
回复
TopCat(令狐虫) :
很抱歉! 是我误解你的意思了吗? :) if so, i am very sory!
我只是觉得你的话似乎有语病, 尤其我引用的第二段话. 你不觉得吗?
其实stroustrup是有考虑Protable GUI的问题的,请看 :
http://www.25hoursaday.com/CPlusCPlusIn2005.html.
我在想, 你是否可以考虑一下wxWindows, 是源代码级跨平台的. 并且
已经被很多公司证明过非常强壮. 自己写, 很不划算.
我在公司就是负责公司基础库的开发和维护的,愿与你多交流. :)
TopCat 2003-04-15
  • 打赏
  • 举报
回复
idioms():

我想你是误解我的意思了。

我并没有批判C++的意思,事实上我是十分欣赏C++的,并且除了C++之外没有仔细研究过其他的语言。

我现在的工作中,很少利用除了STL之外的类库,很多东西都必须自己写,为什么?因为一旦你选定了一个类库,你就必须为你的选择承担风险。比如你选中了MFC,以后要开发Linux平台产品怎么办?(实际上我们公司已经有这样的意向了),你可以重新选择跨平台的界面库,但是随之而来的就是对新库的学习和移植的难度(这就是我上面说的“接口不兼容”所带来的)。其他类库的选择,也要冒类似的风险。所以我们现在采用的方法就是“下下策”:从轮子造起。

当然,如果购买商业类库,情况也许会好些,厂商也许会对一些事情负责,可是中国比较通用的类库厂商好像不多。

我觉得C++最大的贡献在语言的本身,它给了我们一个“几乎无所不能”的语言。而Java、C#之类给了我们一个“统一的类库”,我们可以不用考虑移植的风险,这些是生产厂商需要考虑的事情。(标准的东西总是低风险的,就像我们可以不加思索的在程序里使用"strlen",而从来不去考虑“这个函数的参数到底是什么?”,因为是标准的)

我当然不会奢望标准委员会们会帮我们解决“界面库”这样的问题了,但是如果有一个 工业标准 ,那该多好啊。
idioms 2003-04-15
  • 打赏
  • 举报
回复
TopCat(令狐虫) :

"Java要做GUI,我可以肯定不是AWT就是Swing,但是C++呢?我必须在MFC、Qt、wxWindows、FLKT等等等等里面去选择,更麻烦的是,这些库都是互不兼容的..."

这方面没有可比性,作为全力关注企业计算和移动计算的java,还有本身需要
jvm实现跨平台的特点,更要命的是sun没有把java语言交给ECMA(欧洲计算机生产
者协会)作为标准,sun必须自己实现SWING这类跨平台GUI,开玩笑!谁去做?所有
平台上的SWING实现其实都是delegate到本地API去做的,不知道JVM spec,叫大家
怎么做。虽然你看到的swing是一套类库,但必须依赖平台相关的JVM底下做了很多事
情!这个令其他开发者想奉献自己的智慧,另搞一套GUI都办不到的!
你可能这么说,那不就正好了,我们不需要考虑这么多,不是AWT就是SWING了。
诚然,C++是有很多GUI类库,实际上这是有利有弊的,其利其弊,这个大家都知道
,我就不废话了。但我想强调的是,有的公司更看重的是利,所以说这个根本不能一概
而论。
  另外,wxWindows是源代码级跨平台的,可以编译成各种平台上的可执行代码,
安装好了就可以运行wxWindows的程序了。跟jvm情况一样,jvm需要在不同的平台
上安装不同binary版本。仔细想想,是不是?

"这就是一个“开发工具”和一个“语言”之间的区别。C++坚持自己“只是一门语言”,它也为此付出了代价,重复造轮子的事情还是层出不穷,虽然这是C++的初衷是打算竭力
避免这种现象。"

 这个说法更使人一头雾水,开发工具和语言根本不是同一个层次上的东西,开发工具
是语言编译器外加IDE, 类库,Wizard, debuger等等一大套便于做开发的软件。
   C++当然只是一个语言。:) C++没必要也没义务付出什么代价,别往它头上带高帽。
呵呵... C++给了你最强的表达力,让你去表达你要做的事情,只是如果用得不好,这种超
强表达力会令自己跌跟斗而已。情形有点像中文,它有着超强的表达能力(作为中国人,我
一直这么认为),在不同的上下文中,一个词可能有截然相反的意思。我们就像学中国话的
老外,跟国人打交道时,老弄不明白为什么同一个词,在这里相处融洽。在另外的场合,弄
得几乎要翻脸。 :-)
  作为一种语言,stroustrup大师从来不会有这个初衷要避免什么。 不要把前因后果
搞混了。


TopCat 2003-04-15
  • 打赏
  • 举报
回复
谢谢,也许是我表达不清 :P

现在我还没有权力决定公司开发用的类库 (没办法,资格太浅…… :| ),不过很高兴能跟你交流。 :)
scklotz 2003-04-14
  • 打赏
  • 举报
回复
说C++过时的人无非就是井底之蛙,狂妄自大。
计算机领域里,多少行业、多少人在使用C++?
这些行业中,可以使用别的语言代替吗?
这些人中,可以市场可以轻易放弃他们吗?
这些已经有的系统中,可以立即升级到别的语言的系统吗,不需要C++的人维护吗?
如果连以上一些问题都没有想过,那还有什么好说,瞎起哄罢了。
一门语言生存了那么长的时间,自然有它的道理,不是想淘汰就淘汰了的。
所谓术业有专攻,不管是过去、现在还是未来,C++仍旧有大量需要它去发挥威力的地方。
KcSoft 2003-04-14
  • 打赏
  • 举报
回复
UP
djhdu 2003-04-14
  • 打赏
  • 举报
回复
能做出好的东西才是最重要的,目前我们的C++高手太少了,很多人学了1、2年就以为自己是高手了,以为C++没什么学的,国内的人很多就是这样,其实,我们如果看看C++的国际标准上定义的C++功能,就知道我们大部分只是一个入门,离真正的高手还远着呢!
carfi 2003-04-14
  • 打赏
  • 举报
回复
mark topcat&scklotz
gwolf 2003-04-13
  • 打赏
  • 举报
回复
agree
产品老唐 2003-04-13
  • 打赏
  • 举报
回复
谢谢......

youngby 2003-04-13
  • 打赏
  • 举报
回复
我是 初学者。。。

C,
scalene 2003-04-12
  • 打赏
  • 举报
回复
严重不同意!

首先现在的热点是C++而不是C(很多人甚至不屑于学C呢)。
其次“未来十年内,...”——C我相信。C++的热度真的可以再支持10年吗?我真的很怀疑。C++现在的发展趋势越来越趋于学院派,渐渐失去了现实中生存的土壤。

GP的语法多么高明——可是你能区分A**到底是指针数组?还是数组指针?还是指针的指针吗?——你能用一个简单方法声明一个二维数组int[x][y]吗?
所谓的STL真的值得大书特书吗?——不就是一个标准的数据结构方法库吗?
Java/C#的语法不管有多弱智、苍白、缺乏表现力,可是它们能够简单地构造一个BS结构的复杂程序,能够有对于很多流行技术的简明的支持。C++给了我们什么。
一个家徒四壁但是有一个华丽的大门的房子——有什么用?

作为一名C++爱好者,我开始越来越担心,Stroustrup先生亲手建立的C++大厦,又将在他自己的手中毁灭。
麦子VISA 2003-04-12
  • 打赏
  • 举报
回复
up
加载更多回复(10)

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧