主题:随便说说c++的这次吵架 -- 透明
从作为导火索的毕达哥拉斯三元数开始,肖恩说,写好毕达哥拉斯三元数,既要搞好得懂点数论,又要用好线性代数才能写出高效代码,你们俩的代码都不合格,明显上数学课打洋晃,搞什么搞,玩两小儿辩日么?
游戏青年大约是吐槽太嗨,提了几个肖恩不能忍的事
- iota()这种函数命名莫名其妙
- 程序员干活又快又省才是是硬道理(Goal of programmers is to ship, on time, on budget)。
- 标准委员会高高在上,不食肉糜自娱自乐,他们的声音没有被标准委员会听到
肖恩给他补了堂历史课和思想品德综合课。
iota()源自 APL(A Programming Language),就是 A 语言。这门语言的的特点就是跟数学概念联系紧密。
STL 的设计深受影响,另外一个被其风格荼毒的语言是 MATLAB。没听说过 MATLAB 的工程师起立,面壁。
发明这个语言让 Ken Iverson 在 79 年抱走了图灵奖。“ι”作为希腊字母表中的第 9 把交椅,数学家们请来表征包含映射(inclusion map)。Ken 感受到了其中的隐秘联系,在 APL 中用 iota() 来生成一个连续的整数序列。除了 STL, google的 Go 语言也这样。不奇怪不是,Google 的名字都这么数学范,10 的 100 次方。
编程是一个行业。作为从业人员,提升本行业的水准是一项道德义务,越资深越牛掰,对这个社区的义务就越重。
履行义务的方式很多。带人,讲课,写书,参加社团,帮助开源都算。
必不可少的是,好好学习,天天向上。读一读论文,工作的时候多翻书参考。
年轻人,无知而无畏,不以为耻反以为荣,在历史悠久的中文是贬义词,我用英文给你港一遍。Not knowing the history of iota() should not be something to be proud of, but an embarrassment。
肖恩是说,得有荣誉感,干一行要爱一行,通过提高自己的来提高行业平均值。
写代码的人永远不能把握谁在用,人家怎么用。他自己的代码,就被广泛应用到从来没有预见过的场合,所以对 goal 肖恩下了个自己的定义:
A goal for a programmer has to be to look beyond the product they are shipping and recognize their obligation to create correct and efficient solutions and understand that their code may well endure, for good or bad(一个程序员的眼光应该超越实现当前产品的需求,认识到他们的义务是做出正确和高效的解决方案,他们的代码能久经考验)
ISO C++标准委员会不是一个一般意义上权力机构,基本上愿意交会费,愿意自己出时间,出酒店机票,出提案,每年全世界参加会议被专家巨细靡遗地评头论足,就可以申请加入。
所以参加标准委员会背景各异,有人以语言培训为生去了解最新进展,有人去代表公司利益,还有人去刷学术资历。包含公司代表在内(微软就多年不甩标准委员会搞一套自己的VC++, Herb进去后才扭转风气,积极参与),多少有些为了满足马斯洛模型顶层需求,通过为广大人民服务实现自我价值。
被影射成高高在上,何不食肉糜的官僚机构。肖恩说,里面的人除了一个人,那个发明了C++语言的Bjarne,有可能会有这个想法, 他不知道哪一个是为了收集别人的意见加入标准委员会的。如果想对语言的未来发展方向有发言权,那就带张凳子坐桌子边上。
(完)
- 相关回复 上下关系8
🙂老铁的机器人回来了 桥上 字0 2019-10-20 00:34:31
🙂你也变成新兵了?退步了啊。 夜如何其 字0 2019-10-19 12:13:54
🙂非常好的系列,花一个 3 niuph 字180 2019-01-26 21:28:29
🙂随便说说c++的这次吵架(5)
🙂C++应该被看成是个语言集合 11 笑不拾 字268 2019-01-17 17:31:40