开阔视野的技术盛宴
—— 参加2012中国软件开发者大会有感
作者:朱金灿
来源:http://blog.csdn.net/clever101
承蒙CSDN的邀请,于9月9日和9月10日两天参加了2012中国软件开发者大会。就这两日的所见所闻所感写下本文,聊作纪念。
9月8日是全体大会。这天的技术演讲的议题主要集中数据挖掘、推荐算法、Web应用平台、开放平台和云端架构。可能是议题有点阳春白雪,有个同学忍不住在微博上吐槽:今天唯一的干货是金山网络CEO傅总的演讲《简单唯美》。其实怎么说呢?在我看来,傅总的演讲《简单唯美》确实精彩,将苹果的简单化设计的精妙之处剖析得很清楚,还以美国的航天飞机和中俄的宇宙飞船做对比说明设计简单如何降低成本。可是傅总的演讲临近午饭时间,傅总为了对得起大家的肚子,只好牺牲自己的演讲中的唯美的一部分。阳春白雪的演讲其实也不能以自己能否听懂为评判标准,毕竟因为少部分人接触这个领域,从而难以和演讲者产生共鸣,出现曲高和寡的情况也就在所难免了。
9月10日是主题论坛(也就是今天)。这天的技术演讲感觉亲切多了,这个主要是因为主讲人大多是一线的开发者。我上午去听了编程语言分场。首先是蔡学镛先生对googleDart语言的精彩介绍。蔡学镛先生给我的印象是对技术充满激情,对编程语言的特性有着精辟见解,比如他说google 推出Dart语言主要是为了提供安卓环境的Web程序的开发工具,现在安卓的主流开发语言Java是oracle压制google的一个手段,前不久oracle就java方面的专利对google提起诉讼(结果是法院不支持oracle的诉讼请求,但类似的事是否还会发生还未可知)。蔡学镛先生自嘲自己已过了技术为王的时期,承认商业对技术的影响,他说:另一门脚本语言CoffeeScript相对Dart语言毫不逊色,在浏览器兼容性方面还占有优势,只因Dart语言是google出品,因而更流行。不过这个会场后来一个同学在提问环节介绍:CoffeeScript之所以不流行的原因是因为在调试CoffeeScript编写的程序时,CoffeeScript代码会解释为JavaScript,从而无法定位至CoffeeScript代码的出错处,不便于排错(我对脚本语言不熟,如有错误请指正)。至于何时学习Dart语言,蔡学镛先生说现在学习为时尚早,何时学习取决于两大因素,其中一个是安卓何时支持Dart。
上午还有三个技术演讲:淘宝的田永强介绍node.js,39健康网的刑兴介绍go语言在PHP Web开发中实践以及Oracle的JVM团队的莫枢介绍如何在JVM上实现一门新语言,感觉都很不错。三位主讲人给我的共同印象是:对多门的Web前端开发语言的特性有着深刻理解,研发经验丰富。莫枢在他的演讲开头多次强调:如果不是对开发一门新语言感兴趣的同学可以离开去听其它专场。开始我不是很理解这种提醒,后来我明白了:今天的程序员更关心的是如何尽可能快、尽可能简单地用软件解决实际问题,创造实际价值,在一个既定的秩序中寻找自己的生存空间,诸如创造新语言的“闲事”关心者自然寥寥。但正是这种不计功利的探索精神,或许更接近科学的本质,在这个浮躁的环境也显得稀少而珍贵。
下午我去参加了异构计算专场。随着显卡的性能越来越强大,显卡上的GPU其作用已不限于图形渲染,研究如何将GPU和CPU的结合起来获取更强大的计算能力的异构计算将深刻改变整个IT业。这个专场的演讲都很不错,ARM公司的蔡武男介绍了ARM架构是如何在硬件层面支持异构计算的,Adobe的马鉴通过很炫的网页游戏视频向我们展示Flash Stage3D对网页游戏的强大的支持能力;谋智火狐的张云龙工程师介绍了html5的新特性,看完他的介绍,我相信html5将大大改变html仅仅是静态页面描述语言的印象;360的王志刚向我们剖析了主流浏览器的多进程结构;AMD的谢海波介绍了CPU和GPU混合编程的特点以及其未来发展趋势,以前的印象是在软件方面Intel比AMD强大,但是随着ARM和AMD展开合作,发展异构计算的新模式,未来的处理器市场或许将呈现新的竞争格局;最后一个演讲者中科院软件所的龙国平助理研究员介绍了基于OpenCL(OpenCL是异构计算的业界标准,类似于OpenGL)的OpenCV扩展库的研发实践及其收获、经验教训等。OpenCV是著名的机器视觉库,中科院软件所在AMD公司的大力支持下,在使用异构计算新方法对OpenCV算法进行改造,做了大量工作,并将源码贡献给开源社区,这也在一定程度上改变了中国IT界对开源代码只知索取不愿回报的形象。目前这个开源库已被合并进OpenCV开源项目,计划今年10月推出新版本,有兴趣的同学关注下。龙研究员给我的印象是对技术充满激情,也乐于和业界人士进行交流。我也是搞图像处理的,在会后和龙研究员做了交流。我向他请教一个问题:一般在计算机机器视觉算法是把整幅图像读进内存进行处理的,据我所知OpenCV就是这么干的。图像处理算法一般分为两类,基于单个像素进行处理和基于整幅图像(如图像分类和目标识别等)进行处理,遥感图像比较大,有些是一个g或者几个g的,少则也有几百兆,基于单个像素进行处理的可以通过分块处理的办法来解决,,基于整幅图像进行处理的只有把它都读进内存,但把这么大的图像都读进内存并不现实。请问基于OpenCL改造的OpenCV库对大图像的读取有没有改进了。龙研究员说:“把这么大的图像读进去是不现实,估计只有分块处理了。”我说:“分块处理会影响准确度的。”他说:“这个你可以衡量下可以接受的准确度,还有一个解决办法是你们试试能否将数据读到GPU和CPU的数据共享区,然后将计算任务交给CPU。”
下午18::00,大会结束。离开国家会议中心,走在北辰西路上,思绪万千:这次大会真的体会到中国IT人对技术的热情,之前有程序员能否干到30岁之类的讨论,这个问题或许能在今天大会上的那些对技术充满激情的技术演讲者身上找到答案;参加这次大会的意义何在呢?我想最大的意义在于开阔视野,增长见识,看看别人的实践、别人的思路、别人的成果和别人的研究能否给自己的工作带来新的思路和方法,从这方面来说,这次是收获颇大的。
最后秀秀这次大会的纪念品(手机拍摄,大家凑合看吧):
赠送的异构计算书籍:
腾讯的开放平台广告,本不想为腾讯做广告,但不得不说这个广告太有才了:
如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动投我一票:
http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)
参与投票有机会获奖:
最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。