泼完冷水扫地来了
泼了两下冷水
http://www.csdn.net/Expert/TopicView1.asp?id=644633
http://www.csdn.net/Expert/TopicView1.asp?id=655216
myan 担心我打击了大家的积极性, 有些人问我现在应该怎么掌握方向,
我看来还是需要写第三个贴子,来扫扫干净地上的水吧。
现在也是网络时代了,学生们渠道也多了一些,去招聘网站登记一个
账号,看看各种招聘广告,看看国内的一些重要厂商的产品宣传,留心业
界的一些重要新闻,可以知道不少东西。我觉得朋友们也可以从中做出自
己的判断。
呵呵,我破的能力比立高,破起来无所顾忌,要立起来还是不太敢说
有信心的, 大家且姑妄听之好了。
1. 对于
* 学习计算机领域的各种知识都不会感到很吃力
* 对计算机技术兴趣很大
* 以后还是想在计算机技术领域好好发展
* 有很多时间用来学知识(不会在陪 mm 之外就没有时间了,呵呵),
* 目前也没有很大就业压力,或者赶工的压力
这样的朋友
那么,好好学习 C++ 吧,但是学习了基本 C++(包括 STL 的使用), 就
要着手实践,不必忙着立刻去学习 operator override, GP 等高级东西,
STL 的实现,effective C++ 之类的东西,也不必在实践还很少的时候拼
命啃。
如果要成为一个 C/C++ 高手,那么操作系统,网络编程,数据库,甚至
汇编都要懂得,要知道判断编写怎样的程序,可能的难点会出现在什么地方,
可能的瓶颈会在什么地方。
高级 C++ 不是不好, 但是现实生活中,很少有整个的team 都能够掌握,
所以,很多公司是不用的。小懒虫说微软内部开发都不用91 年之后的 C++
特性。
我的一个负责带领开发朋友说的:
-------------------
看你们的讨论,我有一个疑惑?你为什么一定要给你的组员coding很大的
灵活性?为什么不给他们以很多的限制,只让他们按照规定的方式,写出
规定的代码?这些不是C++或者GP能够解决的问题。
-------------------
即使 C++ 很灵活,但是如果不是整个团队都很高手,C++ 也必须要在
限定情况使用。
2. 如果不能满足 1. 的要求
C++ 难学难精,对于这样的朋友来说, C++ 可能困难了一些;而且 C++
不学到一定程度,难以在实践用好。
对于这样的朋友, Java / Delphi 应该是容易一些的。Java 更多地用于
服务器端的开发, Delphi 更多地用于 中小型应用开发。对于已经在这个版
混的朋友,也就没有必要谈 VB 了吧。
.NET 出来不久, C# 看起来也不是很难学,但是目前的应用还不多。我
对 .NET 的服务器体系是否清晰和stable 还有疑问(并且对 MS 的服务器
策略信心不足),这方面去请教知道得更多的人好一些。
建议设法搞清楚业界情况,根据自己的能力,选择自己的定位,根据自
己的定位去学习吧。
业界的一些情况,我自己认为我前面两个贴子说的一些情况还有一些参
考意义。
问题点数:1、回复次数:30Top
1 楼anrxhzh(百宝箱)回复于 2002-04-18 19:16:55 得分 1
如果这两盆水真地打击了一些人的积极性,那倒是一件好事,因为对于真正喜爱C++的人,这只能算是过眼云烟。
C++是一门伟大的编程语言,Bjarne Stroustrup是一个伟大的编程语言设计师,阅读他的著作,你能感受到一种美感,一种粘合理想和现实的智慧。对于很多人而言,能够用C++编写出优雅的代码,这本身就是一种独特的享受。Top
2 楼wlz47(秋水沉舟)回复于 2002-04-18 19:32:16 得分 0
学习中。。。Top
3 楼chaisave(save)回复于 2002-04-18 19:36:54 得分 0
谢谢!
嗯,我会好好想想的……
pondering~~~~Top
4 楼Solstice(大佛)回复于 2002-04-18 20:33:27 得分 0
gz...Top
5 楼hasudrone(杀上九重天)回复于 2002-04-18 20:38:08 得分 0
我能满足你前面说的所有条款,而且我也有学C#Top
6 楼frogking1(薛丁谔的猫)回复于 2002-04-18 21:46:08 得分 0
写的很中肯。谢谢!Top
7 楼cber(cber)回复于 2002-04-19 00:49:06 得分 0
呵呵,今天花了不少时间把三个帖子都看了一遍,觉得楼主(说到这个词时,又想起do_do了^_^)对于开发很有自己的心得。而这三个帖子也就有点像是佛陀所说的一样:见山是山,见山不是山,最后见山又是山。第一个帖子就是“见山不是山”的体现,然后第二个帖子又详细地解释了“见山不是山”的原因,轮到了这个帖子后,则有点“见山又是山”的感觉了。
对于我们中的大部分人来说,可能还停留在“见山是山”的阶段吧,平时脑海中浮现的总是一些大师、高手们的言论,并对此言听计从而不愿多花一些时间去仔细想想那些言论下面的一些深层次的东西(或是从另外的角度去思考他们所说的这些话);等到实际运用中吃过了一些苦头后,发现从别人那得不到很好的帮助时,我们就开始怀疑以往自己的所作所为了,怀疑自己以前所学的是不是真的有用,甚至开始怀疑起别人(以及别人已经成功的例子)……;再过了一些时候,等到自己不再那么“年少轻狂”,不再盲目崇拜后,我们才会开始反思自己以前的所作所为,并从中吸取到成功(及失败)的经验教训,能够客观地面对其他言论和工具等,我们才能开始少走弯路,才会知道什么才是真正的“道”。
上面是看了fastest286 (fastest286)的三个帖子后的有感而发,可能叙述有点乱,请大家见谅。
BTW:对于fastest286 (fastest286)所引用朋友的一段话:
-------------------
看你们的讨论,我有一个疑惑?你为什么一定要给你的组员coding很大的
灵活性?为什么不给他们以很多的限制,只让他们按照规定的方式,写出
规定的代码?这些不是C++或者GP能够解决的问题。
-------------------
我持保留态度,在我看来,软件开发这个行业不同于其他行业,它更多地需要程序员们向其中倾入的聪明才智,而大部分的程序员的个性都不相同,要是硬要把个性不同的人组织到一起并强迫他们用同样的方式开发,肯定不利于每个人充分发挥自身的特长,这也是在浪费资源。我现在负责的team中,一般我都不会去过多地限制组员们的开发方式,不过我会去经常关注他们的开发情况,如有问题时,一般都可以及时知道并设法解决,并且在解决这些问题的同时,大家也都可以同时获得提高。当然,这还是建立在我的team比较小的前提下,如果team的规模很大的话,我也不敢保证这种方法还能行之有效。Top
8 楼seaapex(流星雨)回复于 2002-04-19 08:58:22 得分 0
依小弟看来,不管学什么语言,重要的是要持之以恒,就比如学C++,很多人学的已经差不多了,感觉C++不太流行,就想学JAVA之类的,到了一定程序C++没有学好,就连JAVA也学的不精,所以说吗,学什么并不重要,学就要学精,一切语言触类旁通罢了。Top
9 楼freezingfire(让美梦来得更猛烈些吧)回复于 2002-04-19 09:11:20 得分 0
我的感觉和搂主非常一致,虽然水平就差的远了,呵呵。Top
10 楼neptunez()回复于 2002-04-19 09:15:34 得分 0
heheTop
11 楼xuanye2000(玄烨)回复于 2002-04-19 13:27:09 得分 0
楼上cber先生的观点:
我持保留态度,在我看来,软件开发这个行业不同于其他行业,它更多地需要程序员们向其中倾入的聪明才智,而大部分的程序员的个性都不相同,要是硬要把个性不同的人组织到一起并强迫他们用同样的方式开发,肯定不利于每个人充分发挥自身的特长,这也是在浪费资源。
---------------------------------------------
事实上,国内现在的毕业生,有很多C/C++的基本问题都搞不清楚,比如自动变量和new出来的对象的区别,*和**的区别,.H究竟应该怎么写等等。 不是笑话,我的手下就有这样的,如果要他们发挥自己的个性,恐怕要将公司变成
慈善机构才行。 限制是必需的。Top
12 楼twist(廷巴克图)回复于 2002-04-19 14:24:30 得分 0
to xuanye2000(玄烨):
你的手下有这样的,你不给他们讲清楚,反而硬性规定,并拿他们当笑话,我要呕吐。他们不就比你少点经验吗?说不准某天他们在这一行就比你强呢。Top
13 楼xuanye2000(玄烨)回复于 2002-04-19 14:31:33 得分 0
这只是举一个例子,其实C++里面,陷阱和奇点无数,高手也难免会
会被手中的刀砍到自己。 我没有嘲笑的意思,只是讲从现实出发,
保障项目的顺利实施是重要的,培训和教育是缓慢的,二者不能混为
一谈。Top
14 楼xuanye2000(玄烨)回复于 2002-04-19 14:50:05 得分 0
学C不到1年,我就转C++了,92年的事情,我还是比较激进的,呵呵。
93年,我开始说C++是一个充满垃圾的语言,恐怕众多C++ Fans要扔鸡蛋了, :) 这些年用得最多的还是C++,代码量也有几十万行了吧,不过我并不喜欢它,呵呵。
C很好地体现了冯诺伊曼体系,面向过程,没有添加额外的东西,所以很清洁。 Bjarne Stroustrup也曾经说过,如果当年不是为了保持与C的兼容,而是在一个干净的基础之上构造一个新的语言,恐怕要比现在的C++好得多。
自己的观点,C++的不足可能是3个方面,肯定还有其他,不过我文化不够,不知道,呵呵。
1. C++的哲学就是效率和灵活性,提供给你无限的可能,就像一把无坚不摧的宝刀,是专属于高手的武器,如果是初学者,恐怕难免不伤到自己。
2. C++的能力还是有很多欠缺,不是纯OO(带有C的痕迹)、没有Reflect(有计划,不过现在大家还拿不到手吧)、没有自动的资源管理和垃圾收集。 这几个问题,在开发一些稍微有些复杂度的系统的时候,反复地遇到,头疼不已。 曾经有一个手下,写了将近1万行C++代码,仅仅是做一些数据结构的转换,例如ANSI <==> Unicode
3. 没有一套很好的Framework
Java/.NET就有,软件开发过程中需要用到的大部分东东都有了,这样的好处是无论走到哪里,大家都有一套共同的交流方式,只需要关心Business方面的问题就可以了。 C++也有Framework,但是都不完整,而且没有标准(C++标准库也是存在的,但是东西太少了)。
另外,我觉得大家讨论的问题,有好几个方面,其实不能混为一谈,我自己的看法:
1. 从技术和语言本身来讨论
C++领域充满智慧,Java/C#领域好像还没有出现什么真正的大师。 C/C++的哲学是彻底地发挥计算机的性能,在C/C++的语言机制里面找不到任何可要可不要Feature会导致效率损失,这一点是独一无二的。
Java的设计者完全不考虑效率(比如所有函数都是虚函数, 所有的对象都有一个互斥锁、流按照字节方式工作等等), 无谓地大幅度降低效率, 可见Java的哲学实际上是鼓励傻瓜编程,稍微有点业余的味道。 C#这些地方就做了不少小的改进,甚至不允许嵌套地使用标识符(这一点,Pascal是最愚昧的, C/C++/Java好一点)。 M$别的不行,写过的代码量还是世界前茅的,知道计算
机不能光讲理论,还要考虑工程的现实,呵呵。
2. 从建立团队和项目管理的角度讨论(主要指国内的情况)
我觉得不能光从自己的角度出发来考虑,一个团队是否能有效协作更为重要。
在这一点上,C++确实让人又爱又恨,考虑到C++糟糕的教育、没有标准的Framework,在国内建立一个好的C++团队确实困难。 Java/C#眼下可能也不算好,但这是时间问题。
我和另外一个多年带过团队的朋友,都有过给手下人做一些“不人道”的限定,例如限制某些模块不准使用多线程、不准使用new等等,这是对现实的妥协和折衷。 培训是必需的,但是没有这么快。
呵呵,有人提反对意见了,觉得应该先教会大家C++,然后再放手让大家做,不过这样可能不是什么时候都行得通。
3. 从使用领域和发展来看
以前,C++长期占据着主流开发的地位。 但到今天已经不是这样,目前市场最大的企业计算领域,已经是Java和.NET的天下,C++逐渐退缩到对效率比较敏感的领域,而且还被C分去了一大块。我觉得喜欢C++本身没有错,但是面对现实也是重要的。
C++属于过去(今后还是有很重要的用途,但是不再是主流),Java/C#属于现在和未来,.NET由于平台的限制的和商业格局的影响,可能会比Java略逊一筹。
Top
15 楼gigix(透明)回复于 2002-04-19 15:04:59 得分 0
伙计,七杯茶~~~康熙大帝,继续讨论。
“事实上,国内现在的毕业生,有很多C/C++的基本问题都搞不清楚,比如自动变量和new出来的对象的区别,*和**的区别,.H究竟应该怎么写等等。 ”——这样的毕业生根本就不应该做开发工作,根本就不应该去写代码。你的公司敢招这样的人来写代码,本来就已经成了慈善机构。
归纳一下,你认为C++的最大缺点还是“没有一套很好的Framework”。我说错误,C++的最大“缺点”是没有一套垄断的Framework,.net和JAVA都有。的确C++不象.net和JAVA这么傻瓜型。只要跟着SUN的教材学,学完SCJP以后再用SUN的工具和SUN的framework就可以有模有样地开发了。但是C++,没有一家公司这么把你照顾到家。C++的程序员犯错误的几率大得多,我觉得这是唯一的原因。
不过我很赞成你的做法。既然没有学校、培训中心、教材来告诉程序员应该怎样守规矩不犯错,那么就由你自己来定规矩。这其实是一样的道理,不是吗?只不过定规矩的人不是SUN,而是你自己。
当你用一种语言做开发的时候,能用到它多少特性?50%?绝大多数的人只能用到30%左右。只要能把一种语言最常用的30%特性用熟,开发已经无往不利(特殊应用环境除外)。OK,来比较一下C++和JAVA最常用的30%,有多少区别?我看没有。Top
16 楼wlz47(秋水沉舟)回复于 2002-04-19 15:41:13 得分 0
呵呵,瞎说两句,偶感觉C++就像“乾坤大挪移”,且看金大侠怎么说:
这门心法所以难成,所以稍一不慎便致走火入魔,全由于运劲的法门复杂巧妙
无比,而练功者却无雄浑的内力与之相副。正如要一个七八岁的小孩去挥舞百斤重
的大铁锤,锤法越是精微奥妙,越会将他自己打得头破血流,脑浆迸裂,但若舞锤
是个大力士,那便得其所哉了。以往练这心法之人,只因内力有限,勉强修习,变
成心有余力不足。昔日的明教各位教主都明白这其中关键所在,但既得身任教主,
个个是坚毅不拔、不肯服输之人,又有谁肯知难而退?大凡武学高手,都服膺“精
诚所至、金石为开”的话,于是孜孜兀兀,竭力修习,殊不知人力有时而穷,一心
想要“人定胜天”,结果往往饮恨而终。张无忌所以能在半日之间练成,而许多聪
明才智、武学修为远胜于他之人,竭数十年苦修而不能练成者,其间的分别,便在
于一则内力有余,一则内力不足而已。张无忌练到第五层后,只觉全身精神力气无
不指挥如意,欲发即发,欲收即收,一切全凭心意所之,周身百骸,当真说不出的
舒服受用。这时他已忘了去推那石门,跟着便练第六层的心法,一个多时辰后,已
练到第七层。那第七层心法的奥妙之处,又比第六层深了数倍,一时之间实是难以
尽解。好在他精通医道脉理,遇到难明之处,以之和医理一加印证,往往便即豁然
贯通。练到一大半之处,猛地里气血翻涌,心跳加快。他定了定神,再从头做起,
仍是如此。自练第一层神功以来,从未遇上过这等情形。他跳过了这一句,再练下
去时,又觉顺利,但数句一过,重遇阻难,自此而下,阻难叠出,直到篇末,共有
一十九句未能照练。......
hohoTop
17 楼duanfeng(段玉)回复于 2002-04-19 15:52:27 得分 0
wlz47(秋水沉舟) 比喻得好,用C++练功最好Top
18 楼Viper()回复于 2002-04-19 15:55:05 得分 0
hahaTop
19 楼xuanye2000(玄烨)回复于 2002-04-19 16:16:22 得分 0
回复人: gigix(透明) ( ) 信誉:107 2002-04-19 15:04:00 得分:0
>这样的毕业生根本就不应该做开发工作,根本就不应该去写代码。你的公司
>敢招这样的人来写代码,本来就已经成了慈善机构。
事实就是如此,还是筛选出来的, :)
C++的Framework也有不少,界面的,网络通信的,多线程的都有。 但功能
不如Java/.NET的完整,这大家都应该知道吧。
Top
20 楼78315(呵呵)(整天QQ的家伙)回复于 2002-04-19 18:04:51 得分 0
看了第一帖,感觉贴主是神,第二帖,是高手,第三帖,是一个表现欲极强的人。
现在我几个问题:
C++版不讨论C++难道去讨论Java或者C#,或者讨论女人、政治?
贴主好象很牛,不知道是做Java还是做C#编译器的?或是做出了什么操作系统?
再看看帖主的几个ID及其中几句话,不难看出帖主是什么性格的人了
fastest286 好牛啊,最快的286。
xuanye2000(玄烨) 估计也是帖主本人,玄烨可是中华历史上最伟大的皇帝。
帖主的观点:
事实上,国内现在的毕业生,有很多C/C++的基本问题都搞不清楚,比如自动变量和new出来的对象的区别,*和**的区别,.H究竟应该怎么写等等。 不是笑话,我的手下就有这样的,如果要他们发挥自己的个性,恐怕要将公司变成慈善机构才行。 限制是必需的。
姑不论这种做法对不对,从这点来看,帖主有极强的表现欲。
其次,帖主这么高的水平,强将手下无弱兵,他们还不至于到这种地步吧,还是说明帖主有极强的表现欲。
看看帖主的建议:
1. 对于
* 学习计算机领域的各种知识都不会感到很吃力
* 对计算机技术兴趣很大
* 以后还是想在计算机技术领域好好发展
* 有很多时间用来学知识(不会在陪 mm 之外就没有时间了,呵呵),
* 目前也没有很大就业压力,或者赶工的压力
呵呵,有这种能力的人学什么不容易?还用你来指导,估计这种人也用不着来学计算机了,现在软件学院一个一个地成立,这么聪明的人谁还去学计算机干什么,让帖主去学好了。计算机的发展潮流中国能看清的有几个?
欢迎扔砖头。本人只是郁闷,发泄一下而已。
Top
21 楼harvey_joy(Joymarquis)回复于 2002-04-19 18:25:37 得分 0
Q:
=======
回复人: xuanye2000(玄烨) ( ) 信誉:100 2002-04-19 16:16:00 得分:0
事实就是如此,还是筛选出来的, :)
R:
=======
可想现在公司招聘相关人员中大部分人的眼光是多么的差!!(或者现在的简历是多么的“灿烂”)
实实在在的简历(含金量 80% 以上的)他们甚至不屑一顾,连被了解的机会都没有。
确实:
吓人的简历 -> 吓人的薪水 -> 吓人的代码
“筛选”,多么吓人的词
Top
22 楼xuanye2000(玄烨)回复于 2002-04-19 18:56:45 得分 0
事情转变为咬文嚼字,呵呵Top
23 楼GuangFengJiYue(光风霁月)回复于 2002-04-19 19:02:32 得分 0
晕倒,那个78315(打假热线),fastest286和xuanye2000绝对不是同一个人,你要是这样猜忌,呵呵,大伙也没你办法
小胖Top
24 楼harvey_joy(Joymarquis)回复于 2002-04-19 19:57:02 得分 0
=======
距离您这样的软件工程师的技术及语言水平,我差的太远了现在。我应该尊重这样的人。
=======
说实在的,我周围的人都很反感背后投人扁担的那种...,
=======
想装独孤求败,
独孤求败要不要面子?
事情?发生什么事情啦?
有人(用麻袋)装蒜呗,
装完了当然要背回去吃了,不愿意背的那是小偷被人抓了,想背也背不走。
/* 以下仅供参考
.*
.* Quote: 不是笑话,我的手下就有这样的
.*
.* Reply: 我太想认识您的手下了,并且非常想和他/她一起参读您的大作
.* 我诚挚的恳求您不要扫地,让我们这些手下来扫吧。
.*
.*/
Quote:
=======
回复人: 78315(打假热线)
看了第一帖,感觉贴主是神,第二帖,是高手,第三帖,是一个表现欲极强的人。
Reply:
=======
78315(打假热线), 你也太调皮了,你怎么可以变得这么快呢,让大家都跟不上节奏,大家都是神仙嘛,有事好商量。大家交流一下变化术好吧:
看了第一贴,感觉我现在的方向太偏了,有种急于请教的想法;第二贴,感觉自己年轻,还是可以赶上的;第三贴,我太渺小了,只配挑燕窝粥里的老鼠屎。总之,我这种人没啥,就死到一个枪子上。
Top
25 楼78315(呵呵)(整天QQ的家伙)回复于 2002-04-19 21:10:06 得分 0
harvey_joy(Joymarquis) :
你说得不错,我是喜欢背后投人扁担的人,不过这是CSDN培养出来的,讲真话的人往往要倒足大霉。
好好一个贴子让我装蒜的这个老鼠屎坏了,我卑鄙、我无耻、我下流。
P.S.
1.网络是虚拟的
2.你的心理学还要再学学,呵呵。
3.楼主值得我学习,但不是我要学习的。
Top
26 楼aayy(以后我不用这个名字了)回复于 2002-04-19 21:28:31 得分 0
看到上面众多高手的精彩大论,才晓得本人的水平时多么的有限。
我现在是一个大三的学生,而且也想想vc++方面发展,
只是现在基础太差,甚至连类的派生和继承之类的基本问题都搞不清楚
请问各位大师,现在我该如何学习。
希望各位大师能够多多教导一下小弟
zhaayy@eyou.com
Top
27 楼yanxb(CoreDump)回复于 2002-04-20 15:53:21 得分 0
好悃......ZzzzTop
28 楼harvey_joy(Joymarquis)回复于 2002-04-21 01:04:02 得分 0
78315(打假热线):
您(注:本词仅限于此贴中不含贬义)好,我郑重的向您道歉。
因为我真的是要和您交流一下对于这几篇帖子的态度,而且要说明的是:不是我的表达能力有问题就是您的理解有偏差(象负号一样)。希望我们都不要轻易的抛弃自己的立场,只要自己认为对的。我们没有膨胀自己!
Quote & Reply:
=======
1.网络是虚拟的
^^^^^^^^^^^^^->同意
2.你的心理学还要再学学,呵呵。
^^^^^^^^^^^^^^^^^^^^^^^^^^^->我的表达能力还要加强,或者您的理解能力还要有点纠错功能
3.楼主值得我学习,但不是我要学习的。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->楼主当然也值得我学习,因为我不会吹牛皮(我是诚心请教)
Top
29 楼lanzhengpeng2(兰征鹏)回复于 2002-04-21 11:50:50 得分 0
假设C/C++消失:
这世上就只剩三个语言:机器语言、汇编语言和高级语言。
SUN或MS会怎样做?UNIX该怎么办?Top
30 楼GuangFengJiYue(光风霁月)回复于 2002-04-21 14:11:25 得分 0
test
Top




