[TL][OT]你是如何放弃c++的?

46 views
Skip to first unread message

jinhu wang

unread,
Apr 27, 2010, 10:33:13 AM4/27/10
to TopLanguage
听说有不少c++程序员写程序写到一定境界后就不用c++了。
咱们这里有没有有此阅历的朋友,能否分享一下你的成长历程。
之所以想到这个问题是因为前几天参加一个面试,考官问我:愿不愿意做Pascal的编程。
我比较委婉的给出了否定的回答,因为我感觉比较重要的是我能把工作历程串成一条线,我恰恰是把c、c++当成了这个引线的针。
 

周迪

unread,
Apr 27, 2010, 10:37:39 AM4/27/10
to pon...@googlegroups.com
到最后其实语言都不重要了,都有相通的地方,然后只是做一些架构之类的就行了。
--
周迪

Alvin

unread,
Apr 27, 2010, 11:33:11 AM4/27/10
to pon...@googlegroups.com
愿意,pascal满优雅的

~Alvin


2010/4/27 周迪 <zhoud...@gmail.com>

pi1ot

unread,
Apr 27, 2010, 12:33:44 PM4/27/10
to TopLanguage
嗯,我现在大部分时间是ppt和xls -_-

> --
> Subscription settings:http://groups.google.com/group/pongba/subscribe?hl=zh-CN

周迪

unread,
Apr 27, 2010, 8:10:33 PM4/27/10
to pon...@googlegroups.com
最牛的生产工具就是ppt了,大牛啊
--
周迪

居振梁

unread,
Apr 27, 2010, 8:54:45 PM4/27/10
to pon...@googlegroups.com
我也愿意-大不了自己回家再写个c的版本。
我串工作历程不以语言为引线,而是以基本技能为引线。
比如我现在做的但之前没经历过的:pthread、网络协议。

2010/4/27 jinhu wang <wangji...@gmail.com>

之所以想到这个问题是因为前几天参加一个面试,考官问我:愿不愿意做Pascal的编程。
我比较委婉的给出了否定的回答,因为我感觉比较重要的是我能把工作历程串成一条线,我恰恰是把c、c++当成了这个引线的针。



--
御剑乘风来,除魔天地间。有酒乐逍遥,无酒我亦颠。
http://www.xspirithack.org
一饮尽江河,再饮吞日月。千杯醉不倒,唯我酒剑仙。

猛禽

unread,
Apr 27, 2010, 9:07:37 PM4/27/10
to TopLanguage
我不是到了一定境界,而是看别人到了一定境界后被吓到了,所以基本不再用。
看的是Andrei.Alexandrescu的Modern C++ Design

On 4月27日, 下午10时33分, jinhu wang <wangjinhu...@gmail.com> wrote:

Yongwei Wu

unread,
Apr 27, 2010, 9:07:58 PM4/27/10
to pon...@googlegroups.com
我只知道云风这样。

个人仍然很喜欢C++。C++是一种非常复杂的语言。在你学计算机几十年后,你需要一种复杂的语言来显示你的才能。;-)

不过,如果你需要新人和你一起工作,不能保证每个人都很强的话,用C++太容易犯错误了。我现在也越来越觉得使用脚本语言在很多情况下是个好主意。

2010/4/27 jinhu wang <wangji...@gmail.com>:

--
Wu Yongwei
URL: http://wyw.dcweb.cn/

qiaojie

unread,
Apr 27, 2010, 9:41:33 PM4/27/10
to pon...@googlegroups.com
认识到C++的复杂性,所以放弃他,这是一种境界。认识到C++的复杂性,然后学会驾驭他,则是另一种境界。

2010/4/27 jinhu wang <wangji...@gmail.com>

raof01

unread,
Apr 27, 2010, 9:53:31 PM4/27/10
to TopLanguage
你也快到这个境界了吧,啊哈哈

居振梁

unread,
Apr 27, 2010, 9:53:42 PM4/27/10
to pon...@googlegroups.com
我只喜欢用c而不是c++,
其中有一个很简单的原因:
编程语言本身不是我的研究方向,
所以对于那一堆我不关心的特性没必要存在,
而且我选用的语言也不是只有c,
从混合编程的角度看,
这些语言综合起来的总特性集不比c++小,
按需组合更灵活一点。

毕竟,加入跟别人合作或者阅读已有的代码,
如果是c++,他们不出意外都会包含些我不了解的c++特性。
那个时候就很尴尬了。

Chunyuan Ge

unread,
Apr 27, 2010, 10:09:29 PM4/27/10
to pon...@googlegroups.com
后一种境界这个世界上敢问多少人达到了。。

2010/4/28 qiaojie <qia...@gmail.com>

Kula

unread,
Apr 27, 2010, 10:21:13 PM4/27/10
to pon...@googlegroups.com
问题是有这么多有趣的东西。干吗一定要在c++上吊死..

2010/4/28 qiaojie <qia...@gmail.com>

oliver yang

unread,
Apr 27, 2010, 10:27:19 PM4/27/10
to pon...@googlegroups.com
在 2010年4月27日 下午10:33,jinhu wang <wangji...@gmail.com> 写道:
> 听说有不少c++程序员写程序写到一定境界后就不用c++了。
> 咱们这里有没有有此阅历的朋友,能否分享一下你的成长历程。

编程语言只是工具,用来解决实际问题的。

所以你要看做的项目是否对未来发展有帮助,而不是编程语言。

我认识一个同事,之前和我一样用C来开发,去面试另一个公司的职位,同样领域但是用c++开发。
最后尽管他对c++很不了解,还是成功拿到了offer,而且该公司还给他一笔数额不小的签字费。
在对方眼中,我这个同事的价值在于他个人能力,某技术领域的经验和技能,语言并不是很重要的考核指标。

> 之所以想到这个问题是因为前几天参加一个面试,考官问我:愿不愿意做Pascal的编程。
> 我比较委婉的给出了否定的回答,因为我感觉比较重要的是我能把工作历程串成一条线,我恰恰是把c、c++当成了这个引线的针。
>

--
Cheers,

Oliver Yang

Twitter: http://twitter.com/yangoliver
Blog: http://blog.csdn.net/yayong
--------------------------------------------------------------------
An OpenSolaris Developer

qiaojie

unread,
Apr 27, 2010, 10:48:23 PM4/27/10
to pon...@googlegroups.com
合格的C++程序员都应该达到后一种境界。如果连C++都驾驭不了,如何用其开发复杂的大型项目?事实上这个世界上用C++开发的成功的大型项目还为数不少,所以合格的C++程序员还是很多的。


 
2010/4/28 Chunyuan Ge <hhy...@gmail.com>

liuxinyu

unread,
Apr 27, 2010, 10:48:47 PM4/27/10
to TopLanguage
Alexandrescu给了钥匙。他在书中有这样一句话:

Right off the bat typelist are Just too LISP-ish to be easy to use.

确切的说,更像Scheme/Lisp style
所以你看看Lisp,就发现Alexandrescu只不过在C++中用Scheme/LISP风格来进行template
programming。
这时不禁会心一笑。

另外,你WIKI下STL之父,他的生平中很重要的一个线索,是在设计STL之前,进行了大量的Scheme编程。

--
刘新宇
http://sites.google.com/site/algoxy

qiaojie

unread,
Apr 27, 2010, 10:50:13 PM4/27/10
to pon...@googlegroups.com
业余玩票当然没必要吊死在C++上,但是当你参与一个实际的项目的时候,有时候是没的选择的。


 
2010/4/28 Kula <kula...@gmail.com>

hayate

unread,
Apr 27, 2010, 10:44:30 PM4/27/10
to pon...@googlegroups.com
驾驭了很久还是驾驭不了,于是杯具了

2010/4/28 qiaojie <qia...@gmail.com>:

jinhu wang

unread,
Apr 27, 2010, 10:55:54 PM4/27/10
to pon...@googlegroups.com
签字费!听起来像华为:)

Kenny Yuan

unread,
Apr 27, 2010, 10:55:45 PM4/27/10
to pon...@googlegroups.com
的确,STL是相当多的一群人第一次朦胧的性启蒙 函数式编程的启蒙
--
Kenny Yuan
-->CS, MMA, Psychology, Automobile...
http://twitter.com/kenny_yuan
http://csbabel.wordpress.com/
http://blog.csdn.net/yuankaining/

oliver yang

unread,
Apr 27, 2010, 10:57:44 PM4/27/10
to pon...@googlegroups.com
在 2010年4月28日 上午10:55,jinhu wang <wangji...@gmail.com> 写道:
> 签字费!听起来像华为:)
>

EMC.

wang carl

unread,
Apr 27, 2010, 11:09:52 PM4/27/10
to pon...@googlegroups.com
我个人觉得,在实际工作中,很多时候使用哪种语言没有太多选择余地。
一方面是商业原因,一方面是技术原因。
比如,公司项目就是用C++搞的,很多时候,已经不能改变;
比如,在游戏开发领域,尽管C++会有这样那样的问题,但现在仍没有一个更好的语言/方案来取代它。
也许使用C是一种方案,但C也有这样那样的问题。我认为C和C++分不出谁好谁坏。

所以,这时候,就应务实一些,比如制定代码风格规范,有选择性地使用语言特性等,这些也是大部分成功C++项目的做法吧。
所以,“你是如何放弃C++的”这种先入为主的问题,并没有太多好说的,至少对于实际工作是这样。
对于我个人来说,“在工程中,如何更好地使用C++”这样的问题,才更有意义,也更加务实。



在 2010年4月27日 下午10:33,jinhu wang <wangji...@gmail.com>写道:

Kula

unread,
Apr 27, 2010, 11:16:09 PM4/27/10
to pon...@googlegroups.com
时代发展了..到了今天,我们可以采用go之类的语言去取代c++.
当应该抛弃c++的时候,我们要毫不犹豫的抛弃!


2010/4/28 wang carl <superw...@gmail.com>

Milo Yip

unread,
Apr 27, 2010, 11:21:59 PM4/27/10
to pon...@googlegroups.com
同意wang和oliver的說法。
許多時,語言並不是一個自由選擇。
一些人(例如本人)如果要繼續目前工作,不可能"放棄C++"。
放棄目前的工作可能是自由的選擇。

--
Milo Yip

Twitter @miloyip
http://www.cnblogs.com/miloyip/
http://miloyip.seezone.net/

wang carl

unread,
Apr 27, 2010, 11:23:11 PM4/27/10
to pon...@googlegroups.com
我所在的领域离“先进软件开发”还是很远,所以只会选择一个最适用的。
“适用”有很多方面,就不展开了。

jinhu wang

unread,
Apr 27, 2010, 11:35:59 PM4/27/10
to pon...@googlegroups.com
我觉得c++的至高境界是c!

在 2010年4月28日 上午10:27,oliver yang <yango...@gmail.com>写道:

Jeffrey Zhao

unread,
Apr 27, 2010, 11:37:57 PM4/27/10
to pon...@googlegroups.com
其实我觉得,如果说是真正放弃不掉的话,自然也就不放弃了。
 
就我个人看法,这方面其实依赖的大都是平台和环境,而不仅仅是语言,这样的情况其实并不多见。
 
某些情况下C++是一例,C是一例,某些很少数特定环境里ASM,COBOL,Prolog,Fortune都算是例子,但还有多少例呢?
 
还有最近我不是在干Java嘛,我推荐用Scala代替Java,于是无数人跳出来说Scala复杂啊,怎么怎么滴。
 
但俗话说磨刀不误砍柴功么,我也没说要立即换,先学起来咯,但还是许多人很抵触的样子。
 
而今天有个人的回复我觉得很有道理:
 
没有理由地反对是没有意义的,不过人家就是喜欢这样。为什么呢,如果你否定了Java,并且将影响扩大开去,那么那部分人的饭碗就要完蛋了。虽然我认为他们是活该,离不开java跟离不开微软的IDE和C#其实没任何区别。
 
// 扯开了,呃,大家继续玩……

qiaojie

unread,
Apr 27, 2010, 11:41:25 PM4/27/10
to pon...@googlegroups.com
赞同这种务实的态度。
 
 
2010/4/28 wang carl <superw...@gmail.com>

oliver yang

unread,
Apr 28, 2010, 12:04:53 AM4/28/10
to pon...@googlegroups.com
也许我的说法有些偏激,除非语言已经阻碍了你在所在技术领域的问题解决和创新,不然费精力追赶新语言的潮流其实对个人能力提升没有多少帮助。

软件工程师的个人修炼应该专注于自己技术领域的问题解决和创新,而不是满足于用不同工具解决相同的问题。

所以要经常反省你是新技术的追随者还是创造者,不要忘记也许你有机会去创造一种标准,而不是跟随一种标准。

所以我给自己的定位不是程序员,而是工程师。

--

jinhu wang

unread,
Apr 28, 2010, 12:24:40 AM4/28/10
to pon...@googlegroups.com
比较赞同这个说法。除非想做语言专家,否则没必要在平级的语言间转来转去。
说到创造性,这是个很有意思的话题,
现实中,有那么一类程序员,总会动脑筋做总结发明一些轮子(有大有小)以解决一些特定问题,这样的程序员往往会成长很快。
还有解bug,在解决同一个问题时,你会发现不同的程序员会有不同的做法,功力、技巧尽在其中。

Kenny Yuan

unread,
Apr 28, 2010, 12:31:52 AM4/28/10
to pon...@googlegroups.com
Fortune这个编程语言一定大有钱赚,哈哈

在 2010年4月28日 上午11:37,Jeffrey Zhao <je...@live.com>写道:

周迪

unread,
Apr 28, 2010, 1:16:17 AM4/28/10
to pon...@googlegroups.com
非常赞同,自己动手做一些东西对自己提高是很快的,改bug尤其对自己来说不光是编程能力,解决问题的能力也提高很多.

不过我不太赞同一些不必要的重复造轮子,有时候有现成的东西你就要学会利用.当然不是傻用,你要知道原理和结构.说不定哪天你就需要自己实现一个特定的,或者实现部分,或者改写部分.
--
周迪

Jeffrey Zhao

unread,
Apr 28, 2010, 1:36:32 AM4/28/10
to pon...@googlegroups.com
不懂,程序员和工程师有什么区别?
 
你说不要去追赶新语言,那么你会追赶什么呢?框架?开发模式?一回事儿。
 
问题不是出在“语言”,而是出在“追赶”上,语言是创新的重要部分,也是经常被忽视的部分。
 
我是说要去了解新语言,没说了解了就要去切换,取长补短永远是没错的,追求用好的工具来更好的完成任务也是没错的。
 
你想要创新,你不去广泛了解别人的创新,又怎么提出自己的创新?
 
当然,就Java问题来说,我倒觉得它已经可以算是阻碍生产力的发展了,可以被淘汰了……呃,好吧,是被放在神坛上供起来。

Sean Lee

unread,
Apr 28, 2010, 1:39:32 AM4/28/10
to pon...@googlegroups.com
驾驭也不一定非要是精通每个细节嘛,可以学会自制,对于有些特性的可以选择性的不用

2010/4/28 hayate <haya...@gmail.com>:

Milo Yip

unread,
Apr 28, 2010, 2:23:29 AM4/28/10
to pon...@googlegroups.com
剛在重編(C++),比較慢,閒來寫寫:

在 2010年4月28日下午1:36,Jeffrey Zhao <je...@live.com> 寫道:
> 不懂,程序员和工程师有什么区别?

這些稱謂很有爭議性,我不談了。
http://en.wikipedia.org/wiki/Debates_within_software_engineering
http://en.wikipedia.org/wiki/Software_engineer

> 你说不要去追赶新语言,那么你会追赶什么呢?框架?开发模式?一回事儿。

oliver說「专注于自己技术领域的问题解决和创新」。和框架、開發模式並不是一回事兒。
我的看法是,如果專注某個領域,應該花多點時間看相關專著、論文等。例如做圖形的應分配多些時間去看SIGGRAPH、I3D。

> 问题不是出在“语言”,而是出在“追赶”上,语言是创新的重要部分,也是经常被忽视的部分。
> 我是说要去了解新语言,没说了解了就要去切换,取长补短永远是没错的,追求用好的工具来更好的完成任务也是没错的。

個人覺得,任何知識,通常都是越多越好。
並不是說學習新的語言不好,如果新語言能帶來新的編程思維,讓程序員從另一個角度分析及解決問題,是應該花點時間去學。
但如果語言之間的分別不在於思維,而謹是語法上的差異,就不用分配太多時間。

> 你想要创新,你不去广泛了解别人的创新,又怎么提出自己的创新?

這個套用在發展新的編程語言是對的。但更普遍的是在應用上的創新技術。

> 当然,就Java问题来说,我倒觉得它已经可以算是阻碍生产力的发展了,可以被淘汰了……呃,好吧,是被放在神坛上供起来。

淘汰是由市場決定。

oliver yang

unread,
Apr 28, 2010, 2:24:23 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午1:36,Jeffrey Zhao <je...@live.com> 写道:
> 不懂,程序员和工程师有什么区别?
>
> 你说不要去追赶新语言,那么你会追赶什么呢?框架?开发模式?一回事儿。
>
> 问题不是出在“语言”,而是出在“追赶”上,语言是创新的重要部分,也是经常被忽视的部分。
>
> 我是说要去了解新语言,没说了解了就要去切换,取长补短永远是没错的,追求用好的工具来更好的完成任务也是没错的。
>
> 你想要创新,你不去广泛了解别人的创新,又怎么提出自己的创新?

大家技术背景不同可能看到的东西不同吧。

我看到很多人把精力花在了追求掌握语言的细枝末节上,而忽略了对自己所处技术领域的钻研。

我认识的人里面,在自己技术领域提交了多项专利,有不少不错的想法,但C语言却不是我见过的最优秀的,可以说很一般吧,也不懂那么多时髦的技术。

做一个好的工程师,解决问题才最重要。衡量工程师的水平不是写段程序就可以的。

windstorm

unread,
Apr 28, 2010, 2:30:15 AM4/28/10
to pon...@googlegroups.com
Jeffrey Zhao是站在纯开发者的角度上思考的

oliver yang是有点偏向于学术界的角度思考

开发者(developer)来讲,开发能力最大,谁能用不同语言快速解决不同的问题谁就牛。

研究者(researcher)来讲,研究能力最重要,语言就算不会c,c++,java都没关系,不少researcher纯matlab跟一身的。

所以你们谁也说服不了谁,没用的。这估计是由工作性质决定的。oliver yang估计是某比较牛的外企的研究部门的。

----------------------------------------------------------------------------------
Yours Sincerely
Kun

www.kunli.info
http://twitter.com/cnbuff


2010/4/28 oliver yang <yango...@gmail.com>:

oliver yang

unread,
Apr 28, 2010, 2:47:20 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午2:30,windstorm <likunar...@gmail.com> 写道:
> Jeffrey Zhao是站在纯开发者的角度上思考的
>
> oliver yang是有点偏向于学术界的角度思考
>
> 开发者(developer)来讲,开发能力最大,谁能用不同语言快速解决不同的问题谁就牛。
>
> 研究者(researcher)来讲,研究能力最重要,语言就算不会c,c++,java都没关系,不少researcher纯matlab跟一身的。
>
> 所以你们谁也说服不了谁,没用的。这估计是由工作性质决定的。oliver yang估计是某比较牛的外企的研究部门的。
>

我就是从软件工程师的角度说的。

优秀的工程师应该不满足于在规定时间作出符合功能规范的软件软件产品来。

好的工程师都是能很好的把握自己技术领域的发展趋势,然后才能谈到创新。而做到这一点,本身就值得花费很大的精力。

Jeffrey Zhao

unread,
Apr 28, 2010, 2:50:49 AM4/28/10
to pon...@googlegroups.com
> 但如果語言之間的分別不在於思維,而謹是語法上的差異,就不用分配太多時間。
 
所以我谈语言时,就在一开始说明了,我不会比较语言语法上的差异或是简单的便利性,我只关注能对编程思维产生影响的地方。如果一个语法不会对编程似乎产生影响,无法引导出更好的编程模式,那么我就不会去关注它了。
 
> 淘汰是由市場決定。
 
作为技术人员不能等市场,否则只能是后来者啊,也要设法走在前面去推动的。如果能使用领先市场水平的工具和方法,这就是领先的一面。待市场来推动个人,那……就不多说了。
 
事实上在Java问题上,国内似乎又已经落后了一大截了,事实上国内技术社区对新事物的接受总是慢一拍……虽然很多人感觉说国内浮躁,不追求核心内容,但事实上追求的也只是表面——例如我说的语法差异。而另一些人不追求这些,却同时又把语言对编程思维开发模式的影响全盘否定了。

From: Milo Yip
Sent: Wednesday, April 28, 2010 2:23 PM
Subject: Re: [TL][OT]你是如何放弃c++的?

Jeffrey Zhao

unread,
Apr 28, 2010, 2:51:22 AM4/28/10
to pon...@googlegroups.com
我觉得你正好把我和oliver yang的定位说反了……

windstorm

unread,
Apr 28, 2010, 2:52:04 AM4/28/10
to pon...@googlegroups.com
这就是我判定你在×较好外企××研究所×的原因

一个研究顶呱呱,编程很一般的人,在国内90%的公司找不到工作

软件工程师也分很多种,IBM的软件工程师和华为的软件工程师,要求能一样么

----------------------------------------------------------------------------------
Yours Sincerely
Kun

www.kunli.info
http://twitter.com/cnbuff


2010/4/28 oliver yang <yango...@gmail.com>:

qiaojie

unread,
Apr 28, 2010, 3:01:00 AM4/28/10
to pon...@googlegroups.com
oliver yang跟Jeffrey Zhao其实说的是两个方面,oliver yang关注的是领域问题,Jeffrey Zhao关注的是编程问题。两者都是开发软件的必要条件,不可偏废。
至于编程语言、开发工具这方面,人月神话一书早就指出不存在一种银弹可以成倍的提升软件生产效率了,因为编程语言和开发工具无法加快我们对问题领域的认知效率。
 


 
2010/4/28 oliver yang <yango...@gmail.com>

windstorm

unread,
Apr 28, 2010, 3:02:51 AM4/28/10
to pon...@googlegroups.com
也有可能,因为我不知道你们具体的工作性质。我只是从你们的话语中做的简单判断

但牵涉到电子计算机方面的researcher,除非是研究语言的,否则很少有热追新语言的。因为大部分领域,研究的东西和实现语言没有任何关系,新语言风险大,学习成本高。

----------------------------------------------------------------------------------
Yours Sincerely
Kun

www.kunli.info
http://twitter.com/cnbuff


2010/4/28 Jeffrey Zhao <je...@live.com>:

Kenny Yuan

unread,
Apr 28, 2010, 3:08:15 AM4/28/10
to pon...@googlegroups.com
做计费系统的engr和做文件系统的engr要求也不一样,呵呵

屁股还是有点重要的 :)

oliver yang

unread,
Apr 28, 2010, 3:10:06 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午2:23,Milo Yip <mil...@gmail.com> 写道:
> 剛在重編(C++),比較慢,閒來寫寫:
>
> 在 2010年4月28日下午1:36,Jeffrey Zhao <je...@live.com> 寫道:
>> 不懂,程序员和工程师有什么区别?
>
> 這些稱謂很有爭議性,我不談了。
> http://en.wikipedia.org/wiki/Debates_within_software_engineering
> http://en.wikipedia.org/wiki/Software_engineer
>
>  > 你说不要去追赶新语言,那么你会追赶什么呢?框架?开发模式?一回事儿。
>
> oliver說「专注于自己技术领域的问题解决和创新」。和框架、開發模式並不是一回事兒。
> 我的看法是,如果專注某個領域,應該花多點時間看相關專著、論文等。例如做圖形的應分配多些時間去看SIGGRAPH、I3D。

你的表达比我准确。另外就是标准和规范,我们公司的大牛就能从新规范和标准中解读出很多创新机会,新的项目就来源于此。

oliver yang

unread,
Apr 28, 2010, 3:30:49 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午3:08,Kenny Yuan <yuank...@gmail.com> 写道:
> 做计费系统的engr和做文件系统的engr要求也不一样,呵呵
>
> 屁股还是有点重要的 :)


假设某软件是劳动密集型的,只需要软件工人,那可能是这样。
但这时显然换一个更有前途的领域比花时间学习语言更重要。在这样的领域,语言
带来的提升作用很小的。

朱晋玄

unread,
Apr 28, 2010, 3:37:59 AM4/28/10
to pon...@googlegroups.com
同样觉得说反了,虽然这个依赖于什么是学术界的定义了
不过领域研究==学术界这个存疑
况且C++,Lisp(或者说Scheme)等等都不是为了代码更快的,而是代码看起来更舒服(Scala尚不了解)

oliver yang

unread,
Apr 28, 2010, 3:38:57 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午2:50,Jeffrey Zhao <je...@live.com> 写道:
>> 但如果語言之間的分別不在於思維,而謹是語法上的差異,就不用分配太多時間。
>
> 所以我谈语言时,就在一开始说明了,我不会比较语言语法上的差异或是简单的便利性,我只关注能对编程思维产生影响的地方。如果一个语法不会对编程似乎产生影响,无法引导出更好的编程模式,那么我就不会去关注它了。
>
>> 淘汰是由市場決定。
>
> 作为技术人员不能等市场,否则只能是后来者啊,也要设法走在前面去推动的。如果能使用领先市场水平的工具和方法,这就是领先的一面。待市场来推动个人,那……就不多说了。
>
> 事实上在Java问题上,国内似乎又已经落后了一大截了,事实上国内技术社区对新事物的接受总是慢一拍……虽然很多人感觉说国内浮躁,不追求核心内容,但事实上追求的也只是表面——例如我说的语法差异。而另一些人不追求这些,却同时又把语言对编程思维开发模式的影响全盘否定了。


或许我说的有些偏激,但我一直以为,工具作为一种技术壁垒的作用在逐渐削弱,尤其是做为脚本编程语言上面。随着工具越来越好用,对使用工具的人的要求是越来越低才对。

很多时候,一个公司招聘一个人,语言熟练是基本要素,决定性的要素还是在某一领域的技术能力和个人能力。

如果自己的使用工具淘汰就混得很惨的人,只能去怀疑他一开始的成功只是幸运。

朱晋玄

unread,
Apr 28, 2010, 3:44:46 AM4/28/10
to pon...@googlegroups.com
话说JZ说的语言是语言影响思维,倒不是开发工具
就像某些教授能会多国语言一样.....(又不是这些教授教学研究必须多国外语)
打码效率的话除了语言之外能够提升的不止一个(并且可能其他方法更加容易提升),比如编辑器,比如代码生成器.......

Jeffrey Zhao

unread,
Apr 28, 2010, 3:53:35 AM4/28/10
to pon...@googlegroups.com
语言的改进,一是在保持生产力的同时降低编程难度,或是在提高编程难度的同时对生产力提高的更大。

我一直强调的一点是,语言是会影响架构设计和思维的,如果一门语言提出来以后不会影响架构设计和思维,那么倒价值也真不大。

就好比C# 1.0相对于Java来说是没有价值的,只可惜微软必须有自己的语言,而C# 3.0相对于Java就是有许多价值了。


Jeffrey Zhao
Blog: http://blog.zhaojie.me/
Twitter: @jeffz_cn

--------------------------------------------------
From: "oliver yang" <yango...@gmail.com>
Sent: Wednesday, April 28, 2010 3:38 PM
To: <pon...@googlegroups.com>
Subject: Re: [TL][OT]你是如何放弃c++的?

Kula

unread,
Apr 28, 2010, 3:56:21 AM4/28/10
to pon...@googlegroups.com
有一句话叫做 工欲善其事,必先利其器

2010/4/28 oliver yang <yango...@gmail.com>

oliver yang

unread,
Apr 28, 2010, 3:57:27 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午3:53,Jeffrey Zhao <je...@live.com> 写道:
> 语言的改进,一是在保持生产力的同时降低编程难度,或是在提高编程难度的同时对生产力提高的更大。
>
> 我一直强调的一点是,语言是会影响架构设计和思维的,如果一门语言提出来以后不会影响架构设计和思维,那么倒价值也真不大。
>
> 就好比C# 1.0相对于Java来说是没有价值的,只可惜微软必须有自己的语言,而C# 3.0相对于Java就是有许多价值了。
>

恩,我们说的不是一个问题。你说的是语言有高下之分。

我说的是工具只是工具而已,对个人成长来说,工具不重要。

qingant

unread,
Apr 28, 2010, 4:14:08 AM4/28/10
to pon...@googlegroups.com
领域知识、能力,也是另一个层面的工具。

2010/4/28 oliver yang <yango...@gmail.com>

Jeffrey Zhao

unread,
Apr 28, 2010, 4:27:54 AM4/28/10
to pon...@googlegroups.com
对个人成长来说,工具很重要。一个常见的例子就是,如果一个人只用汇编,那么它的思维方式估计很难跳出子过程了。C#程序员可能还有点函数式编程思维,声明式编程的思维,Java程序员这方面就会难上不少。而且最重要的方面是,眼界,这对个人成长影响是很大的。


Jeffrey Zhao
Blog: http://blog.zhaojie.me/
Twitter: @jeffz_cn

--------------------------------------------------
From: "oliver yang" <yango...@gmail.com>
Sent: Wednesday, April 28, 2010 3:57 PM

jinhu wang

unread,
Apr 28, 2010, 4:40:21 AM4/28/10
to pon...@googlegroups.com
要求差不多吧,除了外语能力。
我觉得是不是任何一个研发人员在国内90%的公司都找不到工作。因为那90%不是it公司,是这个意思吗?

在 2010年4月28日 下午2:52,windstorm <likunar...@gmail.com>写道:

Jeffrey Zhao

unread,
Apr 28, 2010, 4:41:19 AM4/28/10
to pon...@googlegroups.com
语言发展方向是更易写,更易读,更易并行。这其实对语言的要求越来越高了,尤其是元编程、DSL能力和对异步编程的能力有要求。如果A语言吭哧吭哧要写许多时间的事情,在B语言上面只要一个库(不是语言原生支持的)就能用几分之一的精力,写出易于维护几倍的功能,那么语言还是不重要的吗?其实如今的语言的确可以产生这么大的差距。

Jeffrey Zhao
Blog: http://blog.zhaojie.me/
Twitter: @jeffz_cn

oliver yang

unread,
Apr 28, 2010, 4:50:32 AM4/28/10
to pon...@googlegroups.com
在 2010年4月28日 下午4:41,Jeffrey Zhao <je...@live.com> 写道:
> 语言发展方向是更易写,更易读,更易并行。这其实对语言的要求越来越高了,尤其是元编程、DSL能力和对异步编程的能力有要求。如果A语言吭哧吭哧要写许多时间的事情,在B语言上面只要一个库(不是语言原生支持的)就能用几分之一的精力,写出易于维护几倍的功能,那么语言还是不重要的吗?其实如今的语言的确可以产生这么大的差距。


一把宝刀和一把普通刀在效率上的差别谁都知道。

但到了屠夫手里都是屠刀,屠夫要变成刀客要学的东西还有很多。

无意争论这个话题了,编程这是人人都可以学会的事情,但做一个工程师不是人人都可以的。

大学课堂里计算机专业学习的知识语言毕竟只占了一小部分。

当然,每个人的目标不同,身处环境不同,可能观念上有些差别。 大家明白了各自观点就好。

jinhu wang

unread,
Apr 28, 2010, 5:09:55 AM4/28/10
to pon...@googlegroups.com
隔行如隔山。
我觉得分歧点主要还是做得软件的类别。
快餐式的软件,例如web,往往是更注重开发效率产出速度,更新频繁,寿命短。配套的语言、工具、开发思想更新频率也是很快。
对于持续形的,例如操作系统等基础设施型的软件,可能软件生命能持续几十年,这也是老(或者成熟)语言的舞台,也是某语言(例如c)的牢固阵地。这样的平台开发思想、模式、设计经验都有很强的可复用性,也很健壮。

Dbger

unread,
Apr 28, 2010, 6:08:26 AM4/28/10
to pon...@googlegroups.com
我还没放弃C++,近期也没放弃的打算, 我想对于C++的“放弃”的说法,很多事源于云风的blog的,毕竟其blog是有颇大的影响力的。

我很好奇的是,如果你打算放弃C++:
1. 为什么放弃,能说出几条让自己信服的理由吗?
2. 放弃后选谁? C, C#? 其相比于C++,对你来说好处在哪里,是你真实体会到的?还是听来的?


技术博客:http://debuggingnow.com
我的豆瓣:http://www.douban.com/people/baiyanhuang/


2010/4/28 jinhu wang <wangji...@gmail.com>

jiang yu

unread,
Apr 28, 2010, 6:09:17 AM4/28/10
to pon...@googlegroups.com
GP, 是拿来主义,不主动开发,偶尔为之
OO,又爱又恨,除了GUI,尽量不用,只对接口做继承
OB,可以用,这点我觉得C++还是强过C的
C++有大量的库,比如stl,boost,比C还是比较省心的
驾驭不了,小心点用

在 2010年4月28日 上午9:41,qiaojie <qia...@gmail.com>写道:
认识到C++的复杂性,所以放弃他,这是一种境界。认识到C++的复杂性,然后学会驾驭他,则是另一种境界。

2010/4/27 jinhu wang <wangji...@gmail.com>

stroxiel

unread,
Apr 28, 2010, 3:57:58 AM4/28/10
to pon...@googlegroups.com
下海经商算了



于 2010-4-28 15:56, Kula 写道:
有一句话叫做 工欲善其事,必先利其器

2010/4/28 oliver yang <yango...@gmail.com>
在 2010年4月28日 下午2:50,Jeffrey Zhao <je...@live.com> 写道:
>> 但如果語言之間的分別不在於思維,而謹是語法上的差異,就不用分配太多時間。
>
> 所以我谈语言时,就在一开始说明了,我不会比较语言语法上的差异或是简单的便利性,我只关注能对编程思维产生影响的地方。如果一个语法不会对编程似乎产生 影响,无法引导出更好的编程模式,那么我就不会去关注它了。

>
>> 淘汰是由市場決定。
>
> 作为技术人员不能等市场,否则只能是后来者啊,也要设法走在前面去推动的。如果能使用领先市场水平的工具和方法,这就是领先的一面。待市场来推动个人, 那……就不多说了。
>
> 事实上在Java问题上,国内似乎又已经落后了一大截了,事实上国内技术社区对新事物的接受总是慢一拍……虽然很多人感觉说国内浮躁,不追求核心内容,但 事实上追求的也只是表面——例如我说的语法差异。而另一些人不追求这些,却同时又把语言对编程思维开发模式的影响全盘否定了。


n/a

unread,
Apr 28, 2010, 5:08:38 AM4/28/10
to TopLanguage
C++的语言细节陷阱太多了,与生产力是相违背的
个人来说更喜欢把C++作为面向对象的C来使用

On 4月28日, 下午3时53分, "Jeffrey Zhao" <je...@live.com> wrote:
> 语言的改进,一是在保持生产力的同时降低编程难度,或是在提高编程难度的同时对生产力提高的更大。
>
> 我一直强调的一点是,语言是会影响架构设计和思维的,如果一门语言提出来以后不会影响架构设计和思维,那么倒价值也真不大。
>
> 就好比C# 1.0相对于Java来说是没有价值的,只可惜微软必须有自己的语言,而C# 3.0相对于Java就是有许多价值了。
>
> Jeffrey Zhao
> Blog:http://blog.zhaojie.me/
> Twitter: @jeffz_cn
>
> --------------------------------------------------

> From: "oliver yang" <yangoli...@gmail.com>


> Sent: Wednesday, April 28, 2010 3:38 PM
> To: <pon...@googlegroups.com>
> Subject: Re: [TL][OT]你是如何放弃c++的?
>
>
>
> > 在 2010年4月28日 下午2:50,Jeffrey Zhao <je...@live.com> 写道:
> >>> 但如果語言之間的分別不在於思維,而謹是語法上的差異,就不用分配太多時間。
>
> >> 所以我谈语言时,就在一开始说明了,我不会比较语言语法上的差异或是简单的便利性,我只关注能对编程思维产生影响的地方。如果一个语法不会对编程似乎产生影响, 无法引导出更好的编程模式,那么我就不会去关注它了。
>
> >>> 淘汰是由市場決定。
>

> >> 作为技术人员不能等市场,否则只能是后来者啊,也要设法走在前面去推动的。如果能使用领先市场水平的工具和方法,这就是领先的一面。待市场来推动个人,那......就 不多说了。
>
> >> 事实上在Java问题上,国内似乎又已经落后了一大截了,事实上国内技术社区对新事物的接受总是慢一拍......虽然很多人感觉说国内浮躁,不追求核心内容,但事实上 追求的也只是表面----例如我说的语法差异。而另一些人不追求这些,却同时又把语言对编程思维开发模式的影响全盘否定了。

jinhu wang

unread,
Apr 28, 2010, 9:18:27 AM4/28/10
to pon...@googlegroups.com
还没有达到这个境界:)
在 2010年4月28日 上午9:53,raof01 <rao...@gmail.com>写道:
你也快到这个境界了吧,啊哈哈


On Apr 27, 10:33 pm, jinhu wang <wangjinhu...@gmail.com> wrote:
> 听说有不少c++程序员写程序写到一定境界后就不用c++了。
> 咱们这里有没有有此阅历的朋友,能否分享一下你的成长历程。
> 之所以想到这个问题是因为前几天参加一个面试,考官问我:愿不愿意做Pascal的编程。
> 我比较委婉的给出了否定的回答,因为我感觉比较重要的是我能把工作历程串成一条线,我恰恰是把c、c++当成了这个引线的针。
>

朱晋玄

unread,
Apr 28, 2010, 9:23:35 AM4/28/10
to pon...@googlegroups.com
我比较喜欢把C++当作速度很快可以编译的Scheme来用......不过现在只是一只学生,还没有什么团队合作之类的就是了

Yongwei Wu

unread,
Apr 28, 2010, 10:09:22 AM4/28/10
to pon...@googlegroups.com
很多陷阱来自于后向兼容性。没有后向兼容性也就没有C++今天的成功。

C++太复杂是事实。但是,C++的表达能力也是非常强的。写出优雅而高效的代码,我还不知道那种语言更好。也许D?D没有后向兼容性带来的无数陷阱,但毕竟在工具和库方面没法和C++比。

2010/4/28 n/a <inn...@gmail.com>:

--
Wu Yongwei
URL: http://wyw.dcweb.cn/

windstorm

unread,
Apr 28, 2010, 12:41:57 PM4/28/10
to pon...@googlegroups.com
不是,是国内给研究人员的坑太少。大多数公司的“所谓”研究部门其实和开发没什么两样,招聘的时候也很看重编程能力。

大多数纯搞研究的通常都只用1,2门擅长语言处理数据,没精力去研究新语言或语言的高级特性,都是能完成简单任务就好,做东西也大部分都是prototype,不会那么care程序bug之类的东西。

----------------------------------------------------------------------------------
Yours Sincerely
Kun

www.kunli.info
http://twitter.com/cnbuff


2010/4/28 jinhu wang <wangji...@gmail.com>:

oliver yang

unread,
Apr 28, 2010, 10:11:00 PM4/28/10
to pon...@googlegroups.com
在 2010年4月29日 上午12:41,windstorm <likunar...@gmail.com> 写道:
> 不是,是国内给研究人员的坑太少。大多数公司的“所谓”研究部门其实和开发没什么两样,招聘的时候也很看重编程能力。
>
> 大多数纯搞研究的通常都只用1,2门擅长语言处理数据,没精力去研究新语言或语言的高级特性,都是能完成简单任务就好,做东西也大部分都是prototype,不会那么care程序bug之类的东西。


我说语言没那么重要不是说编程能力的问题,编程能力是基本素质,尤其是对工程师来说。

但很多业界顶尖的工程师让你敬佩的绝对不是编程能力,而是编程能力之外的东西,而这种东西不是通过多掌握几中编程语言可以学到的。

liuxinyu

unread,
Apr 28, 2010, 10:13:47 PM4/28/10
to TopLanguage
语言这种topic在各大社群都是打口水仗的好题目。
并且每隔一段时间一定会重复一遍,可算很有趣的现象了。

推荐一本书,裘宗燕老师翻译了中文版。
《程序设计语言--实践之路(第二版)》

这本书的角度比较特别。是从语言实现的角度,也就是编译器作者的角度去看待各种语言的。
大概涉及30多种语言吧,当然详细涉及的就那么5,6种。也挺不错了。

up duan

unread,
Apr 28, 2010, 10:55:45 PM4/28/10
to pon...@googlegroups.com


2010/4/28 jinhu wang <wangji...@gmail.com>
我觉得c++的至高境界是c!

 
不认同。实际上,C++可能的表达方式远超过C,而且我觉得最好的表达方式显然不是C式的。

windstorm

unread,
Apr 28, 2010, 11:14:25 PM4/28/10
to pon...@googlegroups.com
恩,针对工业界的工程师来说,我同意你的话

Jeffrey Zhao

unread,
Apr 29, 2010, 12:22:26 AM4/29/10
to pon...@googlegroups.com
我觉得我还是有些话没有表达清楚,还是我表达清楚了但是大家不同意。

这样,我打个比方吧。就是学真实世界里的语言,多学几门语言,如英语,德语,法语有什么用吗?狭义的说,没什么用,平时又没啥机会去用。

但是,学这些语言,对那些国家的文化,政治,经济,历史等多方面都会有涉猎,更重要的是开阔眼界。而且我想,如果你真学好那些语言,这些东西是逃不掉的。

学编程语言也一样,所以我一直强调我不会谈什么简单语法,不会关注可以少写几行代码等等,我一直强调的是语言对设计和架构的影响,对开发思想或编程模式的影响。

编程语言影响的只是编程能力吗?我想还真不见得。


Jeffrey Zhao
Blog: http://blog.zhaojie.me/
Twitter: @jeffz_cn

--------------------------------------------------
From: "oliver yang" <yango...@gmail.com>
Sent: Thursday, April 29, 2010 10:11 AM
To: <pon...@googlegroups.com>
Subject: Re: [TL][OT]你是如何放弃c++的?

guihua wu

unread,
Apr 29, 2010, 2:08:27 AM4/29/10
to pon...@googlegroups.com
哇哇,高见高见,非常同意,可不可以非常不好意思的说,我也是这么想的~~~~~

2010/4/29 Jeffrey Zhao <je...@live.com>

Yongwei Wu

unread,
Apr 29, 2010, 3:51:58 AM4/29/10
to pon...@googlegroups.com
这个说到点子上了。就像说C#和VB.NET是两种语言还是一种语言。我认为是一种
语言,叫.NET。

C有C的解决问题的方式:原始、注重效率、容易缓冲区溢出,但是,容易产生层
次较少的设计,而该点往往导致代码容易被理解。除安全问题外,C的重构过于
复杂,改一点小地方往往导致大面积的代码被修改。C++解决问题的方式明显不
同(拿C++当C用的除外):不太容易缓冲区溢出,能够很好地抽象问题的各个层
面,但语言细节过于繁琐难于掌握,有所有OO语言容易产生对象层次复杂的通
病。LISP当然又是另一种情况……

2010/4/29 Jeffrey Zhao <je...@live.com>:


> 我觉得我还是有些话没有表达清楚,还是我表达清楚了但是大家不同意。
>
> 这样,我打个比方吧。就是学真实世界里的语言,多学几门语言,如英语,德语,法语有什么用吗?狭义的说,没什么用,平时又没啥机会去用。
>
> 但是,学这些语言,对那些国家的文化,政治,经济,历史等多方面都会有涉猎,更重要的是开阔眼界。而且我想,如果你真学好那些语言,这些东西是逃不掉的。
>
> 学编程语言也一样,所以我一直强调我不会谈什么简单语法,不会关注可以少写几行代码等等,我一直强调的是语言对设计和架构的影响,对开发思想或编程模式的影响。
>
> 编程语言影响的只是编程能力吗?我想还真不见得。

--

徐牛

unread,
Apr 30, 2010, 5:15:22 AM4/30/10
to pon...@googlegroups.com
我也在等待Go这匹黑马,或者到时候继续Python只是Go似乎没有一个好点的一直关联的框架或者图形库。

-------------------------------------------
为了那些爱你的人和你爱的人,
无论你多努力都不为过。


在 2010年4月28日 上午11:16,Kula <kula...@gmail.com>写道:
时代发展了..到了今天,我们可以采用go之类的语言去取代c++.
当应该抛弃c++的时候,我们要毫不犹豫的抛弃!


2010/4/28 wang carl <superw...@gmail.com>

我个人觉得,在实际工作中,很多时候使用哪种语言没有太多选择余地。
一方面是商业原因,一方面是技术原因。
比如,公司项目就是用C++搞的,很多时候,已经不能改变;
比如,在游戏开发领域,尽管C++会有这样那样的问题,但现在仍没有一个更好的语言/方案来取代它。
也许使用C是一种方案,但C也有这样那样的问题。我认为C和C++分不出谁好谁坏。

所以,这时候,就应务实一些,比如制定代码风格规范,有选择性地使用语言特性等,这些也是大部分成功C++项目的做法吧。
所以,“你是如何放弃C++的”这种先入为主的问题,并没有太多好说的,至少对于实际工作是这样。
对于我个人来说,“在工程中,如何更好地使用C++”这样的问题,才更有意义,也更加务实。



在 2010年4月27日 下午10:33,jinhu wang <wangji...@gmail.com>写道:

Xpol Wan

unread,
Apr 30, 2010, 10:05:40 AM4/30/10
to pon...@googlegroups.com
我也看好Go,她把好多其他语言的缺点都去掉了。
比如case语句,默认就是不fall through的,要fall through必须显示指定。

同等这匹黑马。

Best Regards!

Xpol Wan


2010/4/30 徐牛 <cbkid...@gmail.com>
我也在等待Go这匹黑马,或者到时候继续Python只是Go似乎没有一个好点的一直关联的框架或者图形库。
 

Liu Jiang

unread,
Apr 30, 2010, 2:59:23 PM4/30/10
to pon...@googlegroups.com
语言、技术领域的知识、底层理论等等,有营养的,可以开眼界的,都应该多关注。

单一语言、领域都容易框住人的思维方式。眼界很重要。

在 2010年4月28日 下午3:38,oliver yang <yango...@gmail.com>写道:
在 2010年4月28日 下午2:50,Jeffrey Zhao <je...@live.com> 写道:
>> 但如果語言之間的分別不在於思維,而謹是語法上的差異,就不用分配太多時間。
>
> 所以我谈语言时,就在一开始说明了,我不会比较语言语法上的差异或是简单的便利性,我只关注能对编程思维产生影响的地方。如果一个语法不会对编程似乎产生影响,无法引导出更好的编程模式,那么我就不会去关注它了。
>
>> 淘汰是由市場決定。
>
> 作为技术人员不能等市场,否则只能是后来者啊,也要设法走在前面去推动的。如果能使用领先市场水平的工具和方法,这就是领先的一面。待市场来推动个人,那……就不多说了。
>
> 事实上在Java问题上,国内似乎又已经落后了一大截了,事实上国内技术社区对新事物的接受总是慢一拍……虽然很多人感觉说国内浮躁,不追求核心内容,但事实上追求的也只是表面——例如我说的语法差异。而另一些人不追求这些,却同时又把语言对编程思维开发模式的影响全盘否定了。


或许我说的有些偏激,但我一直以为,工具作为一种技术壁垒的作用在逐渐削弱,尤其是做为脚本编程语言上面。随着工具越来越好用,对使用工具的人的要求是越来越低才对。

很多时候,一个公司招聘一个人,语言熟练是基本要素,决定性的要素还是在某一领域的技术能力和个人能力。

如果自己的使用工具淘汰就混得很惨的人,只能去怀疑他一开始的成功只是幸运。

郑培祥

unread,
May 2, 2010, 5:35:59 AM5/2/10
to pon...@googlegroups.com
说一下我对语言的看法,我认为,编程与语言无关,我是个再读研究生,但是手上写过7w+的代码,其中有c++,java,python, ,javascript, vb,c#,perl....

我的观点是:定工作围绕是不是自己喜欢的职业规划来定,因为c++也好,c也好,只学习了不到5年,如果学习另一门语言,可能只需要2年就能达到现在c++的水平,而如果好的发展方向,可能干10年以上,所以,可以考虑放弃c/c++.
当然,如果公司不给发展时间,那另外考虑


在 2010年4月27日 下午10:33,jinhu wang <wangji...@gmail.com>写道:
听说有不少c++程序员写程序写到一定境界后就不用c++了。
咱们这里有没有有此阅历的朋友,能否分享一下你的成长历程。
之所以想到这个问题是因为前几天参加一个面试,考官问我:愿不愿意做Pascal的编程。
我比较委婉的给出了否定的回答,因为我感觉比较重要的是我能把工作历程串成一条线,我恰恰是把c、c++当成了这个引线的针。
 



--
     此致
敬礼!
                                                             郑培祥
--
Zheng PeiXiang
C++, JAVA, PYTHON, NLP, Semantic Role Labeling
Blog :zheng-peixiang.appspot.com
Twitter: http://twitter.com/zhpx

l w

unread,
May 2, 2010, 5:53:25 AM5/2/10
to pon...@googlegroups.com
语言是枝末

机械唯物主义 : linjunhalida

unread,
May 2, 2010, 9:23:17 AM5/2/10
to pon...@googlegroups.com
跑一下题目,Visual studio managed C++是否还是C++?

2010/5/2 l w <sid...@gmail.com>

Serenade

unread,
May 2, 2010, 12:06:52 PM5/2/10
to pon...@googlegroups.com
我个人是没什么放弃不放弃的想法的。。。
就我而言,其实我是在用java吃饭的,不过Cpp是经常拿来重复一下java做过的事来练手的;

在我的工作中,语言的选择是基于其生成的二进制,在不同情况下的需要:
如果java有能够生成精简的native code的编译器,我可能很少会使用C++;(GNU java貌似支持?)
反过来,如果C++有java那么方便使用的ide,跨平台特性和语言特性,那么,Java对我也不是必须的了(补充,VS2010 ide
已经友好很多了,也粗略支持了lambda和concurrency库)
另外,如果我想测试一下某个win sdk api的功能,往往是打开pyScripter的来用win32api库跑跑
同样,稍微看看scheme,和楼上一样,就比较容易了解loki的一些用法其实是对函数式编程的借鉴

oliver yang

unread,
May 2, 2010, 10:29:56 PM5/2/10
to pon...@googlegroups.com
在 2010年5月2日 下午5:35,郑培祥 <peixian...@gmail.com> 写道:
> 说一下我对语言的看法,我认为,编程与语言无关,我是个再读研究生,但是手上写过7w+的代码,其中有c++,java,python,
> ,javascript, vb,c#,perl....
>

编程和语言无关,赞一个,我非常认同。

所谓新技术,新标准,很多都是老思想的延续,并无颠覆性的变化。掌握好c++的人,掌握任何一个语言都没问题。

Kenny Yuan

unread,
May 3, 2010, 12:04:07 AM5/3/10
to pon...@googlegroups.com
我觉得C++能覆盖的paradigms不够多,或许LISP更合适?


在 2010年5月3日 上午10:29,oliver yang <yango...@gmail.com>写道:
所谓新技术,新标准,很多都是老思想的延续,并无颠覆性的变化。掌握好c++的人,掌握任何一个语言都没问题。



--
Kenny Yuan
-->CS, MMA, Psychology, Automobile...
http://twitter.com/kenny_yuan
http://csbabel.wordpress.com/
http://blog.csdn.net/yuankaining/

Jeffrey Zhao

unread,
May 3, 2010, 1:44:44 AM5/3/10
to pon...@googlegroups.com
编程和语言有关的。

或者应该这么说,如果一个人了解了编程,那么可能的确找一个语言都能体现出各种思想来。但是,如果一个不了解编程的人,认为学一门语言便可以掌握各种编程思想,编程范式,那就是非常不靠谱的事情了。

比方说,一个人只学C,那么他的思维方式就停留在子过程上。的确,一个高手用C,他也可以用面向对象、函数式编程思想做事情。但是,这些都不是只学C就能了解,或者说用C来学习那些东西都是很不靠谱的。

学面向对象思维就用面向对象编程语言,了解函数式编程思想就用函数式编程语言,学并行范式,学Macro,学声明式编程,契约式编程都应该使用合适的语言。比如C#,Scala有函数式编程特性,但是如果要学习函数式编程,那么我还是建议去接触F#,Haskell之类的语言。


Jeffrey Zhao
Blog: http://blog.zhaojie.me/
Twitter: @jeffz_cn

--------------------------------------------------
From: "oliver yang" <yango...@gmail.com>
Sent: Monday, May 03, 2010 10:29 AM
To: <pon...@googlegroups.com>
Subject: Re: [TL][OT]你是如何放弃c++的?

unread,
May 8, 2010, 4:36:22 AM5/8/10
to TopLanguage
在心理方面我是放弃了 C++ 了。
使用其它工具依然可以做出期望中的产品,我认同“语言并不重要”。

On 4月27日, 下午10时33分, jinhu wang <wangjinhu...@gmail.com> wrote:
> 听说有不少c++程序员写程序写到一定境界后就不用c++了。
> 咱们这里有没有有此阅历的朋友,能否分享一下你的成长历程。
> 之所以想到这个问题是因为前几天参加一个面试,考官问我:愿不愿意做Pascal的编程。
> 我比较委婉的给出了否定的回答,因为我感觉比较重要的是我能把工作历程串成一条线,我恰恰是把c、c++当成了这个引线的针。
>

马一哥

unread,
May 10, 2010, 2:21:06 AM5/10/10
to TopLanguage
所谓语言不重要的,所谓手中无剑,心中有剑。

向往叶孤城的境界很好。但是世界上只有1个叶孤城。如果是一个青城派的
三代弟子 还是手中有剑比较实在。眼高手低很容易。

> > Subscription settings:http://groups.google.com/group/pongba/subscribe?hl=zh-CN- 隐藏被引用文字 -
>
> - 显示引用的文字 -

Kula

unread,
May 10, 2010, 11:06:45 PM5/10/10
to pon...@googlegroups.com
同意,说语言不重要的,我觉得最少要精通5种以上语言才有说这句话的资格

2010/5/10 马一哥 <ppms...@gmail.com>

机械唯物主义 : linjunhalida

unread,
May 10, 2010, 11:33:45 PM5/10/10
to pon...@googlegroups.com
语言不重要,库重要。。。。熟悉一种语言的库和惯用法还是需要时间的。
5种里面应该有C, 商用动/静态语言(比如java/python),逻辑(prolog),函数(lisp/scheme/haskell....),
汇编,门电路那些就不说了。。

2010/5/11 Kula <kula...@gmail.com>

Kula

unread,
May 10, 2010, 11:40:56 PM5/10/10
to pon...@googlegroups.com
语言还是很重要的. 库实现依赖语言的特性.

2010/5/11 机械唯物主义 : linjunhalida <linjun...@gmail.com>

居振梁

unread,
May 11, 2010, 12:33:26 AM5/11/10
to pon...@googlegroups.com
这个问题,如果没什么特别的见解,还是不要再继续争了。
我们不是在投票。

--
御剑乘风来,除魔天地间。有酒乐逍遥,无酒我亦颠。
http://www.xspirithack.org
一饮尽江河,再饮吞日月。千杯醉不倒,唯我酒剑仙。

周迪

unread,
May 11, 2010, 1:58:31 AM5/11/10
to pon...@googlegroups.com
语言不重要只是吸取了很多语言共同的特性和思想.

当然库的设计也属于结构思想的范围.如果对于架构很精通了,那换什么语言设计出来的架构都通用,库也可以通用,只是用不同语言实现罢了.

当然如果你非要把每个库都实现得没有通用性,那就必须花时间在熟悉库上,这个无法做到通用.
--
周迪

dachuan lin

unread,
May 11, 2010, 3:46:52 AM5/11/10
to pon...@googlegroups.com
放弃C++?我不知道到底是什么领域

徐牛

unread,
May 11, 2010, 4:01:20 AM5/11/10
to pon...@googlegroups.com
听最近的噱头似乎vs2010你就可以认为是了,

-------------------------------------------
为了那些爱你的人和你爱的人,
无论你多努力都不为过。

LeeoNix

unread,
May 12, 2010, 11:28:57 PM5/12/10
to pon...@googlegroups.com
嗯,我现在正在尝试放下C++。

但不代表放弃,其实跳出C++之后看C++。其实C++有很多地方都是很可取的。

thoriod

unread,
May 14, 2010, 2:45:30 AM5/14/10
to TopLanguage
好久没写过C++,写过javascript,java,c++,php,c,activescript,asp(vbscript),不过明显功力还
不足,编程还处在温饱的阶段。最近遇见一个项目用C++做服务器端,看客户那个游戏学院出来的程序员写的代码,真的感觉很难受。忘记自己是写
activescript的,抢过自己做,感觉当年很多不明白的都明白了,很多不清楚的都清楚,于是觉得C++确实不适合初学者,当然了学出来的初学者
一定不错。
争取重拾C++。

周迪

unread,
May 14, 2010, 5:23:32 AM5/14/10
to pon...@googlegroups.com
呵呵,还写过这么多语言啊,不过虽然自己写过除了asp,activescript以外其他都写过,还是觉得脚本语言明显要比c/c++,java这些原生的要弱很多,首先调试手段就不丰富,工具也差些.所以自己还是很佩服做硬件的人,连调试器都没有.
--
周迪

jk ness

unread,
May 16, 2010, 8:32:01 AM5/16/10
to pon...@googlegroups.com
我是一本书看完了,再看第二遍,再看第三遍,看怕了……

2010/5/14 周迪 <zhoud...@gmail.com>

机械唯物主义 : linjunhalida

unread,
May 16, 2010, 8:11:13 PM5/16/10
to pon...@googlegroups.com
不需要佩服,习惯了用仿真器和脑子就好了。

2010/5/14 周迪 <zhoud...@gmail.com>

liuxinyu

unread,
May 16, 2010, 10:38:37 PM5/16/10
to TopLanguage
Hi,

看到有不少做软件的同志,总是对做硬件的佩服得五体投地。觉得那才是真正的底层。

我来略微破除一下迷信,使得大家不要妄自菲薄。

我以前在大学时做机器人的,从机构设计,机械设计,工艺加工,控制系统设计,电机设计,电路设计,单片机编程,嵌入系统编程,到上位机的控制软件,AI
设计等等,一个人走过全流程。所以我对硬件那边很清楚。当然我这些经历都是在2004年前,现在技术飞速发展,可能我有些观念过时了。欢迎现在有做硬件
的同志拍砖。

如果不钻到集成电路芯片里面,搭电路这个活和搭积木区别并不大,当然这个积木更像是乐高积木。首先,由于集成电路技术的进步,如今我们很少需要像我上大
学的时候计算放大器的放大倍数,亲手搭建功放了,大量的集成电路厂商提供了无数芯片供你选择。这就好比一个软件库有大量的类和接口,你要做的就是选择正
确的芯片。厂商一般会提供datasheet,通常是一个pdf文件,里面不仅有各种参数,还有--推荐电路图。这就好比MSDN里面带有
example代码。所以连电阻电容都不用自己考虑了,通常需要做的,就是照着推荐电路搭。

这和我们拿一个类库写程序的难度没有什么太大的区别。当然还是要有一定的创造力的,也有一定的经验在里面,例如在输出上加个电容滤波,干掉噪声,放大下
信号等等。设计数字电路的部分就更加简单了,模拟部分可能还有些计算,数字部分基本就是按照逻辑需要来,这和我们写程序里放for, while,
if-else相等价。

比较考验经验的部分是布线。真正好的电路大多是手工布线的,但是如果你的要求不高,比如没有高频,没有大的串扰。自动布线大多数也能工作,这就好比手工
写程序和利用Wizard。

通常,为了避免危险,做硬件的时候,会用一些模拟软件模拟一下电路的运行,这在我上学的时候还不普遍,但是据说现在已经非常好了。这好比我们做
stub,跑UT。

有时,为了调试方便会放些发光二极管,或者7段数码管显示些信息。这好比我们在程序中加log,或者print到stderr上。当然现在可能都是用液
晶了。

然后是把电路图pcb拿到中关村去制板,(在国外没有中关村这么好的条件,只能自己动手焊接实验板了,所以国人也不要妄自菲薄)。
然后去采购原件,焊接。这相当于我们编译,链接。只不过成本(钱)比较高就是了。

然后是单片机编程。单片机通常很弱,虽说16位,32位N年前就在推广,可是诸位猜猜国内大量用的是什么?8位的51单片机。日本呢?8位的PIC单片
机。用汇编?那是过去,Flanklin C51等等10年前就普及了。IDE和编译器都是free的,可以自由下载。程序非常简单,都是直来直去。复
杂的算法?几乎没有,因为算法可以移到上位机PC上去写。有个PID控制就非常了不起了。控制硬件一点也不神秘,基本就是照着芯片的说明书写。总共不外
乎以下操作:
1,读:从某个地址读数据
2,写:向某个地址写数据
3,中断
对应c语言里面超级简单,无非就相当于Linux的read, write和ioctl

面向对象?想都不要想。根本用不着。顺便说下PIC单片机,虽说是8位机,但是能用的只有7位,另外1位留作它用,那程序就更简单了。

后来有了嵌入系统,我觉得复杂度还是很低,因为策略就是嵌入系统里尽量做简单的事,把复杂的事情通过通讯模块传到上位机里干,上位机要么是
Windows要么是Linux,那里才是AI和复杂的算法。嵌入系统里所做的无非是一些驱动和通讯。

然后说说机械部分。这部分真正考验水平的是机构设计。我举个例子,汽车雨刷你会怎么做?

水平低的方案:两个刷子,两个电机,两个控制电路。
水平高的方案:两个刷子,一个菱形杆机构,一个电机,一个控制电路。

机构部分要用力学知识,需要一些计算。

机构定好了,剩下的就平凡了。照着零件书选零件,包括齿轮,轴承,皮带,螺丝....这和对着类库选函数没有区别。
然后剩下的一些要加工的,就要用CAD设计下。这部分脑子里有车,铣,刨的工艺就差不多了,有时还要和工人师傅确认下。
3D的CAD能干的事情很多,基本装配好的样子都知道了。

有时要算下应力,有ansys这样的有限元分析软件和仿真软件,也不用你亲自动手去人肉计算。然后送去工厂加工装配。

自己去采购机箱,安装电路,布线。

开发上位机软件。这个大家都懂我就不说了。

我想说的是,因为硬件部分对大多数programmer来说是黑盒,所以大家觉得神秘,高科技,有水平。其实在今天大社会分工的背景下,
硬件工程师和我们软件工程师一样,都是一颗一颗的螺丝钉。他们看我们也觉得很神秘,高科技,有水平。这个我和硬件工程师谈过,确信
这一点。有些硬件工程师常年设计DVD的盖子,就是一按按钮就弹出来的那个托盘。他们也很枯燥郁闷。

并且硬件工程师还有一点不爽的是:我们软件工程师回到家,可以下载喜欢的开源软件,业余乐乐。可是硬件工程师呢?哪样不要花钱,自己业余时间做个遥控
车,要比去商店买一个贵好几倍!而且老婆还要担心烙铁不要把家里弄着火了....
我们软件工程师这点上很节能环保呐。

--
http://sites.google.com/site/algoxy/home

pi1ot

unread,
May 16, 2010, 11:24:57 PM5/16/10
to TopLanguage
这个帖子写的有意思

windstorm

unread,
May 17, 2010, 12:08:32 AM5/17/10
to pon...@googlegroups.com
嘿嘿,写得不错,就是这样的。虽然可能在你之后fpga方面的技术发展更多,不过大部分涵盖了

有一点不同意的就是随着arm的发展,现在越来越多的算法以及优化是在嵌入式环境中做了,所以你说

“嵌入系统里所做的无非是一些驱动和通讯。”

这是不对的。

硬件工程师相对于软件工程师还有一点比较好的就是在国内硬件工程师老了比较吃香。搞软件的老了好像反而不吃香,都想着转行了

----------------------------------------------------------------------------------
Yours Sincerely
Kun

www.kunli.info
http://twitter.com/cnbuff


2010/5/16 liuxinyu <liuxi...@gmail.com>:

It is loading more messages.
0 new messages