大半年折腾,好久没参加啥公共场合的活动了。这期的Beta技术沙龙是Googol Lee讲Go语言,所以一定要去参加。
Googol Lee讲得很清晰,我就不重复具体内容了,视频和ppt会很快放出来。与并发编程有关的goroutine和channel部分最吸引我,听到兴奋处,不禁抓耳挠腮胡思乱想,居然比较起goroutine和CUDA block的异同来了。
Q&A环节,我问了个关于多语言粘合的问题。Go语言支持C的粘合,也就意味着支持与大多数语言相互调用。实际想问的是,有没有混合编程的成熟案例,不过Go推出不长。有个外国工程师(普通话真流利)问Go语言自带的Web app framework如何,Googol Lee认为架构和风格上很接近django。
参加沙龙的lvscar用Go语言和HTML5 websocket开发了一个实时web的demo。他拿上来show了一把。果然很酷。以前对HTML5没深入玩过,websocket果然比AJAX顺眼多了。lvscar认为随着HTML5的推广,实时交互的web应用成为主流,Go语言非常适合开发这种维护对话上下文的重负载Http Server端。
现在看来,相对D语言,Go更有希望继承C/C++的衣钵,成为下一代主流“硬核”(系统级语言)。从设计哲学上来说,D语言很像“更好的C++”,而Go的负责人是Ken Thompson,风格简洁明快,有很多C的痕迹,例如OO with struct。
搜索了一下,GNU刚宣布允许gccgo增加到gcc主分支,计划在GCC4.5之后的版本中体现。也就是说将来Go语言将是Linux和MinGW的标配。
八卦1:看到霍炬,嗯,听说在上海呀。ppt听完就走了。朱朱还怪他不主动和大家多交流呢。
八卦2:Ken Thompson老爷子是少数几个获得图灵奖的软件工程师(而不是计算机科学家)之一,原因是创造了C语言和UNIX。他投奔Google以后,一举一动都是技术社区的八卦话题。例如最初他没通过Google内部的编程考试,所以无权向源码库提交补丁。再如,有粉丝从google code里搜索到了他提交的补丁,给CREAT加了一个E,弥补了几十年前的遗憾(终于知道很多代码写错这个拼写的源头了)。