{OT}{Fun}为什么我们要学一门复杂的程序设计语言?标题要长ZZ

10 views
Skip to first unread message

ts

unread,
Jul 27, 2010, 1:46:47 AM7/27/10
to pon...@googlegroups.com
发信人: dp2 (卡列宁的微笑), 信区: CPlusPlus
标  题: 为什么我们要学一门复杂的程序设计语言?标题要长
发信站: 水木社区 (Tue Jul 27 13:05:10 2010), 站内

I)认知失调理论通俗简介

认知失调理论,是指当一个人的认识和对外界的感知产生矛盾时,人倾向于产生对外界感知的扭曲的解释,以调和认识和感知之间的矛盾。

实际上解决矛盾的问题还有接受现实,但是因为接受现实往往意味着付出较为高昂的代价,所以人们倾向于用短期看来成本较小的方式,即找借口,找理由来“解决”问题。

应该注意到,在这个成本的估计中,人类往往是不理性的,主要体现在对沉没成本太过在意,又对机会成本估计不足。

举例来说,
i)邪教经常预言世界末日,但是末日预言破灭之后,却很少出现邪教大崩溃的景象,信徒们往往会找各种理由,比如说因为他们的虔诚世界得到了宽恕,来解释末日没有到来的现象,在这里,成本是他们对邪教全身心的奉献vs丢掉信仰,认识是该教宣扬的末日预言,现实是末日没有到来。

ii)Linus经常恶毒地攻击C++,但是C++从来没有因为他的攻击掉一根毛。Linus用C创造了Linux,但是更好的语言C++出现了。为了说服自己之前做的并不是无用功,所以Linus找出了种种极其荒唐的理由来说服自己。

II)为什么我们应该学习C++,或者一门更加难懂的语言

在认知失调理论的研究中,心理学家发现了一种模式,即“奖励不足”

如果让同样的人,在教室中重复做一件无意义的事情,比如反复擦已经擦干净的黑板,反复弯曲铁丝,等等,这个人一定会感到枯燥无味。

但是当这些无聊的工作结束时,实验者给他们其中一些人100美元,而给另一些人10美元。

在之后的随访中,得到100美元的人纷纷表示这些事情很无聊,潜在的,没有表达出的意思是,但是他们得到了一张富兰克林头像画,所以这些无聊是值得的。

而那些只得到10美元的人,却开始纷纷为他们所做的事情找各种奇怪的理由,不一而足,否则,他们就没有办法解释为什么自己去做这些无聊的事情,因为在这里,奖励是不充分的。

映射到程序员这一边,当两个程序员,一个学了极难懂的语言,而另一个学了极傻瓜的语言,都在做无聊的码农工作,傻瓜语言程序员会觉得他的工作索然无味(因为奖励对于他的付出已然足够),而学了难懂语言的程序员(比如诸位C++程序员),会觉得工作很有意义,是为了解放全人类而斗争之类的,因为对于他在之前学习和之后工作中的付出而言,工资的奖励是不足的。

再说得离题点,版面上经常出现语言之争,我们仔细观察就知道,在语言坑里,主贴往往攻击目标语言的一些缺点,而使用该语言的程序员则纷纷出来表示对生活影响不大,或者这是一个feature,或者该缺点可以绕过,或者别的语言也有缺点,等等。实际上这就是认知失调的一种表现,因为我们面对语言的缺陷时基本无能为力(除非教唆sun总拿着mp5去袭击标准委员会),而我们又一直使用这种语言,对这种语言有着宗教般的信仰(C++是一种高尚的语言,没错,而且华丽、完美、无暇,好像林志玲一样0),所以当这些认知产生冲突的时候,我们就倾向于找出各种各样荒谬可笑的理由来绕过它。

III)避免认知失调,敞开心胸

有的时候,认知失调是对我们有帮助的,比如说在对一件事情的坚持上,我们付出越多,我们就越会坚持下去。

或者,认知失调可以帮助我们知足,尤其是在面对比计算机语言缺陷更加不可改变的事情上面,比如说房子被拆,面试失败,丢掉工作之类的。

但我们必须意识到,之前做过的傻事,无论它看起来有多糟糕,也只是沉没成本,是不可挽回的,我们没必要牺牲其他的机会,而找一些理由来自欺欺人。鲁迅说,真正的勇士敢于直面惨淡的人生。

真正的死程敢于直面语言的缺陷,平台的不足,库的稀烂和工资……

--
百万码农加班忙,也没奖金也没房,有朝一日被开了,哭爹的哭爹,喊娘的喊娘

thomas92911

unread,
Jul 27, 2010, 1:52:22 AM7/27/10
to pon...@googlegroups.com
cin cout 是酸腐的代表,代表党和国家

机械唯物主义 : linjunhalida

unread,
Jul 27, 2010, 1:57:40 AM7/27/10
to pon...@googlegroups.com
我也来表示,C++用得蛋痛,模板看不懂。
MFC用得蛋痛,什么东西都得自己找。
reddit上面有一个新语言发出来了,不知道能不能替代C++的蛋痛。

jiang yu

unread,
Jul 27, 2010, 2:57:54 AM7/27/10
to pon...@googlegroups.com
这说的,既然是心理的问题
高了说,语言即信仰,佛教,基督教孰优孰劣?
低了说,语言即喜好,你喜欢林MM我喜欢宝钗——C瘦C++丰满嘛。
说这个那个优劣挑肥拣瘦,也都是伯仲,我真没看出高的高出多少。
所谓众里寻她千百度,伊人却在灯火阑珊处;
所以坚持C++
当然最好不要吊死在一棵树上,兼着懂一门其他语言能更好理解C++

在 2010年7月27日 下午1:46,ts <tanner...@gmail.com>写道:

frenchmay

unread,
Jul 27, 2010, 3:03:52 AM7/27/10
to pongba
 
若不单相思, 怎能上天堂?
 
2010-07-27

frenchmay

发件人: ts
发送时间: 2010-07-27  13:47:41
收件人: pongba
抄送:
主题: [TL] {OT}{Fun}为什么我们要学一门复杂的程序设计语言?标题要长ZZ

dachuan lin

unread,
Jul 27, 2010, 11:59:41 AM7/27/10
to pon...@googlegroups.com
笑死了,确实有才啊

chaohuang hong

unread,
Jul 27, 2010, 8:32:30 PM7/27/10
to pon...@googlegroups.com
四个字:自圆其说?
--
从前看着你就快毕业了

est

unread,
Jul 28, 2010, 5:17:43 AM7/28/10
to pon...@googlegroups.com
clay和go和D有啥异同?

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

机械唯物主义 : linjunhalida

unread,
Jul 28, 2010, 5:19:06 AM7/28/10
to pon...@googlegroups.com
只是发现一个模板支持比较好的新语言,让大家跳到这个坑里面去。

2010/7/28 est <electr...@gmail.com>

haozes

unread,
Jul 28, 2010, 5:26:12 AM7/28/10
to pon...@googlegroups.com
搭车问个模板相关的问题.

How can boost::bind does not match the signature provided but works fine?


上面的回答,还是没看懂.

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

up duan

unread,
Jul 28, 2010, 5:33:04 AM7/28/10
to pon...@googlegroups.com


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

我也来表示,C++用得蛋痛,模板看不懂。
MFC用得蛋痛,什么东西都得自己找。
reddit上面有一个新语言发出来了,不知道能不能替代C++的蛋痛。

还有一个XLR[untime]语言,也是基于concept的。不过感觉似乎基于concept的语言都不可能流行,思维模式差异太大
Reply all
Reply to author
Forward
0 new messages