C++20周年大庆摘记
一周忙下来,又赶着去龙王山户外游玩,这篇日志便拖到了今天才放上来
应dudu的邀请去参加了C++ 20周年大庆,来上海快一年半了,也参加过几次讲座,几次会议,我是那种什么会议都参加的人,所以java也听,C#也听,C++也听,微软的讲座也去,sun的也不拒绝,这几次讲座下来,明显感觉到这些领域不同的精神面貌和社群力量:java给我的感觉是气势,dotnet给我的感觉是劲头,C++给我的感觉则是精神,具体讲来,就是java气势如虹,有点一览众山小的气派,而dotnet是劲头十足,初生牛犊不怕虎;C++给我的印象最深刻,那是一种精神力量,游侠的精神,心无旁骛的精神,执着的精神,就这次会议来说,还真有点武林大会的味道
当然有点遗憾,因为羞于道行太浅,我只能做一个忠实的观众,说说这次会议给我的几个亮点:
1.陈榕老师的声音
我想这次会议声音最大的应该就是陈榕老师了,风趣幽默,犀利又带些调皮,微软出来的人总是一副自信满满惟我独尊的样子,陈老师则更是超越微软;声音大自然应者众,印象也深,共鸣应该也不在少数;陈老师从计算机历史的角度,以一个长者的姿态,和预言家的精神,给我们生动的上了一课
a.操作系统一定要存在本地硬盘上吗?
存储方式一:C:\WINDOWS\system32\user32.dll
存储方式二:http://www.microsoft.com/windows/system32/user32.dll(陈老师举的例子是//www.elastos.com/car/drivers/tcpip.dll)如果以后的操作系统都这样存放,又有何不可呢
这让我联想很多东西:windows vista, www.live.com ,网络游戏,还有就是网络发展的一个有趣的现象:操作系统的发展有点像单机游戏往网络游戏变化……
b.C++也可以写WebService
陈老师很喜欢举例子,用简单的例子解释复杂的概念:他举例说他本来是说中文的,但是他会说英文,所以在第一天的会议上他用英文和Bjarne交流,这个时候他自己就是一个webservice,什么意思呢,本来说什么和会说什么是不冲突的,用C++写dll和用xml格式的soap协议传输是不冲突的,在本机的时候和内部交流可以用C++直接交流,当外部通过soap来调用这个写好的dll的时候,通信语言变成了xml,这也是webserbice,C++也可以做WebService,而且C++做的更好,处理速度更快.(理解得不对请大家指正)这让我马上想到把Blogweather的WebService公开,可是看到我们公司那台服务器被一个WebService拖死,就犯难了,WebService可不是条小虫啊。
c.对微软的一些认识
陈老师很喜欢将典故,讲道家,讲历史,所以动不动就会抛出一些"内幕"性质的东西,让我觉得好奇的是:
MIT是不学C/C++的,据说有他自己的理念
微软的工程师们调试是不用IDE的,而且都有很强的汇编基础
微软最挣钱的是挣国家的钱,挣超大项目的钱
微软的全局优化工具(Global Optimizations):就是最后发布之前,会对每个函数调用的频率和深度,来路去路进行详细统计,然后调整位置,打乱源码嵌入很多类似goto的优化语句进行速度优化(粗略理解)
当然,陈老师还东拉西扯发散地讲了很多,其中对Windows消息模型骂声颇大,这让我现在看到自己代码里面有case语句就怕怕;还扯到Xml与Lisp的关系,甚至还说到了我们现在所有的编程语言的关键字都来自《范畴学》,听得我一愣一愣的。
2.对C++的认识
孟岩老师的《什么是高级C++》,讲到了C++发展历史中一些被摒弃和发扬的特性,也讲到了C++社群的特殊性,还是很有说服力的,C++确实是一个独特的社群,崇拜高手,崇尚高效简洁,但是各为其主,缺乏协作精神,泛滥着无谓的批评之声.
3.对编程、工作的认识
这次会议上讲到的大部分知识其实都是介绍性质的,反而是对什么是计算,什么是编程,怎么样做计算做编程讨论了很多.有很多概念上的理解,有很多认识上的纠正和更新,我比较喜欢听到不同的声音,每每听到就会觉得收获颇多,这次则是收获满满趋势科技的鲍老师,网易的云风大师,陈榕老师,孟岩老师,张仁魁老师先后发表了自己对编程之道的一些认识,我权且记录如下:
这几天正在和一位朋友聊到工作中的拓荒期怎样度过的问题,基本上讲到两个态度,一是做肯定对自己发展有利的一些准备,比如学习英语和一些基础知识的,二是集中精力做自己感兴趣的事情
正好会上孟岩老师讲到了这点,一是一定时候要闭关,要专注于某一点深入再深入,一定时候再开关,关注外面的世界;二是要找到一个兴趣点和工作内容的平衡,尽量找一个自己感兴趣的工作,这样才有一个良性循环.孟老师还讲到“功夫在功夫外”的观点,哎,我想要是有一天我也坐到台上了,我能讲些什么呢,汗啊!
趋势科技的鲍老师也讲到了一些要注意的事项,比如学习English,保持工作的热情,不过我最感兴趣的还是《路径依赖》,火车轨道的宽度取决于两匹马屁股之间的距离,虽荒谬却真实,不禁让人深省。
云风大侠讲了讲自己的编程历史,从5岁那么小就开始编程,就年份都够吓人的了,他主要讲到两点:一是虚心,二是要怀疑;看他讲话总是不紧不慢的,呵呵,他还讲到一个程序有效性的问题,就是网络游戏这种程序对时间要求很严谨,也就是时间轴的问题,必须在某个固定的时间段内完成某个任务,比如A开了一枪,B不能一个小时还没倒下,这让我想到了Flash奇特的编程模式,总之,云风颇有大侠风范,真够羡慕的。
张银奎老师则讲到了一个坚持编程为一生职业的信念和编程人员的汇编基础问题,都很有代表性,确实学过的基础知识这么久不用都快忘记了,没有这些基础哪里来的融会贯通呢。
小插曲1:
丁磊出现在会议上:这是第二次和他面对面了,大学毕业时投了网易的网页设计师,不过真正过去上班的时候却放弃了这份工作,一是有原来在华中大在线的朋友和我竞争,二是自己确实不想做这个工作,所以匆匆来也匆匆走了,挺感谢丁磊给我这个机会的,总之,希望下次碰到他的时候我比现在要进步更多。
小插曲2:
孟岩老师赶飞机:虽然没有胆量提一个像样的问题来和孟老师进行面对面的交流,不过顺路告诉孟老师怎么去机场快这样的小事还是做得来的,聊了聊才知道孟老师是武汉人,说起来武汉也是我的第二故乡,毕业后就一直没回去过,也挺想那边的兄弟们的。地铁很快就到中山公园了,张老师送孟老师搭上了去虹桥机场的的士,我便也回到了熟悉的兆丰Plaza。
附上照片一张:
从左到右为:贺星河(hxhbluestar),候永丰(montaque),马士杰(Teddy)