8th August 2010
Go语言是Google公司的实验性语言,以BSD协议开放源代码。Go语言在Inferno操作系统相关的研究工作基础上开发,最初由Rob Pike等Google工程师在2007年9月启动设计工作,在2009年11月正式对外发布。
Go将动态语言易于编写的特性和静态语言的高效性相结合,具备良好的易用性和极佳的执行效率。Go语言最初定位于网络服务器、存储系统和数据库的程序设计,同时在语言中包含并发构造体,以方便的帮助开发者创建并行任务。Go语言具有效率极高的编译器,目前Go编译器能在Linux、FreeBSD以及Mac OS X平台下运行,但暂时没有对Windows环境提供编译支持。Go开发团队曾在博客中表示,编译完成的Go程序运行速度接近C语言实现的程序。
在今年五月份举办的Google I/O大会上,Go语言背后的工程师Rob Pike和Russ Cox两人一同为开发者带来了Go语言编程讲座,解释Go语言的灵活设计和独到之处。Go语言的主要设计者Rob Pike是Google公司的资深工程师,在分布式系统、程序语言设计以及软件开发工具方面有着多年的经验。此前在贝尔实验室工作期间,Rob曾是网络操作系统Plan 9的设计者,同时也是Inferno 操作系统的设计者,Rob还曾与AWK 和AMPL编程语言的设计者Brian Kernighan一起合著有两本Unix环境下编程语言的书籍。同时,Rob Pike还给出一份可供参考的Go语言教程。
针对Google I/O大会上收集到开发者的提问,在Go开发团队博客上给出了常见问题的FAQ。在Android平台支持方面,Go编译器支持面向ARM处理器的代码生成,所以在Android平台上运行Go程序是可行的,Go语言开发团队也将积极推进Android平台上的开发工作。由于Go具备简洁的语法和语言本身的一致性,已有大学执教的老师表示将会在自己教授的编程语言课程中为学生开设Go语言选修项目。
目前在Google内部已有部分应用使用Go语言来实现,同时开发团队表示,Go已相对成熟,完全能够用于最终系统的开发和交付,甚至可以使用Go来开发Web应用。在后续工作中,Go开发团队将不断对语言进行改进提升,并随时欢迎开发者在社区中反馈Go语言开发时遇到的问题。目前在国内使用Go语言进行实际开发的公司还为数很少,尝试使用Go语言的开发者大多源自个人兴趣或技术预研,随着Go语言类库和成功案例的增多,将会有越来越多国内开发者在实际开发中尝试Go语言带来的效率和便捷。
Posted in 诸子百家 | 3 Comments »
12th June 2010
在今年QCon北京大会上,来自支付宝的架构师蔡学镛为参会者分享了REBOL编程语言相关的主题讲座。对大多数开发者来说,在实际开发项目中选用REBOL语言目前并不算多,但REBOL语言却有着与生俱来的优势,能够帮助程序员得心应手的完成特定应用场景的开发工作。
REBOL是Lisp语言的替代品,由业界知名的操作系统和编程语言架构师Carl Sassenrath设计,是为分布式计算和通信量身打造的轻量级开发语言。REBOL完全能够胜任Lisp语言的应用场景,同时REBOL又打破了Lisp的局限。REBOL更类似于一般编程语言的表达方法,允许使用中缀运算符,且不需使用Lisp语言那样一对对嵌套的小括号来表示递归。REBOL语言具有统一的库函数,如REBOL/Core、REBOL/View、REBOL/Command、REBOL/SDK、REBOL/IOS等库函数,在图形界面、编程辅助、网络处理等方面提供丰富的支持。
REBOL的图形界面设计能力十分强大,通过简单的图形界面编程语句就可以完成图形界面的创建,并且图形界面的展示美观漂亮。同时REBOL内置了View Draw Dialect方言,帮助开发者以最简便的方式完成图形界面中元素的定制,同时可以根据开发者的需求进行方言的拓展,定义开发者需要的子语言。作为网络编程语言,REBOL在网络处理方面具备很强的能力,对于文件下载、网页抓取、邮件接收等操作,在REBOL中仅需几条语句即可完成操作。
对比REBOL语言,在动态语言中应用非常广泛的Python语言,具有完整的面向对像特性,语言简便易用,编写的程序非常优雅。从加快开发速度的角度考虑,能够代替C和Java语言完成工作任务,同时与C语言的沟通能力非常好,任何为C编写的接口能够很容易转化为Python接口。而REBOL是基于相关表达式的对象语言,REBOL被称作最接近人类语言的编程语言,有着自身的独特之处,能够方便的表示数据和元数据。REBOL的设计理念之一就是始终保持小巧,即便REBOL已内置了几十种数据类型和数百条函数,以及多种Internet协议、错误处理等内容,REBOL解释器仅有几百K大小,REBOL程序编写方便,在代码编写时程序不需要对库和包含做声明即可使用,帮助开发者以最精炼的语句实现应用。同时REBOL代码可以跨越几十种系统平台,在不同平台之间移植代码不需做任何改动。
需要强调的是,REBOL是商业公司产品,可以提供给开发者免费使用,但源代码并不开放,使用部分REBOL函数库如数据库连接库,需要支付额外的费用。但从另一个角度看,由公司维护的语言能够在最大程度上保证类库的统一,减少开发者额外的负担。
目前REBOL语言的解释器最新版本为R3 Alpha,在REBOL语言中文参考文档方面,蔡学镛和蔡民奎先生已经在网络整理了REBOL语言的中文参考文档,其中包含REBOL 3.0指南,REBOL内建函数,REBOL数据类型等不同的内容,感兴趣的开发者甚至可以加入其中,一同更新维护REBOL语言的中文资料。
Posted in 诸子百家 | No Comments »
4th June 2010
DITA(
达尔文信息分类体系结构,Darwin Information Typing Architecture)是一种面向主题的文档类型定义(Document Type Definitions,DTD)系统,用于定义编写和交付内容信息的规则。DITA通过XML架构来描述、管理和发布内容信息,并用于内容信息的编写、生成和交付。
DITA最初由IBM开发,目前交由结构化信息标准组织OASIS维护,DITA通过将文档组织为可重用的模块(Topics主题)并将模块进行组织来表示信息的内容,DITA提供了主题的元数据注释,用户可以便捷的搜索、过滤和处理内容。同时DITA的结构化编写方式,支持内容的重用。
DITA开放工具箱是OASIS的DITA标准的DTD和Schema的Java实现,能够将DITA文档的Maps和Topics转换为最终的交付文档(HTML、PDF、RTF)。DITA开放工具箱包含Ant构建模板、DITA词汇表DTD定义,DITA词汇表的XML Schema定义以及Java文档处理类库等内容。对于DITA文档,源文件和映射文件中的标记项由DTD和Schema定义,借助XSLT和CSS文档,经处理渲染后得到最终交互文档。
在商业产品方面,提供软件产品生命周期管理的PTC公司开发的XML文档处理器Arbortext,支持DITA的编辑与转换工作。Syntext公司开发的开源的XML编辑器Serna Free支持DITA、Docbook、XHTML等XML文件类型,能够实现可视化的编辑工作。
之前在IBM DW撰写Django文章使用的投稿模板,应该就是基于DITA的思想进行的排版实现。对于初次接触DITA文档格式的使用者,DITA开放工具箱提供的Ant编译方式不太直观,可以先从所见即所得的编辑器开始入手使用DITA,建立一个感性的认识。
Posted in 诸子百家 | No Comments »
4th May 2010
第二届中国云计算大会将于5月21、22日在北京召开,大会日程安排已经确定。会议演讲者以高管和领导为主,涉及云计算技术细节的内容不会特别多,但有些演讲人很吸引我,到时我也会过去大会现场听一些感兴趣的报告。
在本次大会的众多演讲专家名单中,来自南加州大学(USC)的黄铠教授(主页)是我最期待见到的一位。黄老师是南加州计算机系终身教授,同时也是IEEE Computer Society的理事,黄老师一直从事计算机体系结构和并行处理的研究与教学工作,研究生时读的那本厚厚的E文计算机体系结构便由黄老师撰写。目前黄铠老师致力于可扩展多处理机系统、并行程序设计工具和超级计算应用等方面的研究。在本次大会黄老师除参与圆桌论坛外,还将做一场题为”受信任云计算的安全、隐私、和数据保护”的讲座。
09年夏天到武汉,在海鸥的引领下参观了华中科技大学计算机学院的几个实验室,当时的第一感觉就是人多力量大,项目也都是国家级的,”十二五”期间计算机系统虚拟化973项目(主页)也是由计算机学院牵头,在虚拟化技术方面有较深的积累。本次大会上,华科计算机学院金海院长的讲座也值得一听,内容应该包含华科在服务计算、虚拟化技术方面的研究进展。
人民大学孟小峰教授在数据库技术、云数据管理等研究方向有独到之处,他的演讲主题”云数据管理技术”值得一听。此外,微软张亚勤博士”云计算发展方向与技术趋势”的主题讲座以及解放军理工大学刘鹏教授主持的Track我也比较关注,到时会准时去听。
在国家”十二五”规划中,中国云将作为一个大的研究项目投入开发建设,期待承担项目的各个高校或研究单位能够多从实用角度出发,集中力量做好真正能转化为产业化生产力的技术。希望本次云计算大会,能为IT业界和学界研究提供更多有益的引导和借鉴。
Posted in 诸子百家 | 3 Comments »
3rd May 2010
第二次参加QCon企业开发大会,听了不多的几场技术报告,见到不少InfoQ中文站的编辑朋友,遇上很多出没在会场各角落的技术牛人。相比较去年在清华科技园举办的QCon大会,今年会议的组织和内容有了很多新的亮点,当然也有一些需要继续改进之处。
这次的QCon大会,我主要选择参加了一些国内开发者的讲座,一是希望更多的了解国内的开发社区发展情况,二是在国内开发者讲座中发现值得借鉴之处,易于深入沟通,有机会能够进一步求教与合作。在大会讲座间隙,向邓草原和洪强宁两位演讲者请教了些感兴趣的技术问题。
邓草原是NetBeans的Scala插件开发者,同时对Scala有着较深入的研究,并且与核心开发团队之间也一直保持沟通。Scala语言我没有在实际应用过,但对语言的并发处理能力和适用场景很感兴趣。邓草原曾是NetBeans Dream Team成员,我也一直关注NetBeans的Platform开发,在采访室旁听了邓草原谈Scala和Erlang的内容,便与他聊起NetBeans插件开发的话题,同时也交换了一些对NetBeans中文社区发展的想法。
在去年QCon大会上,洪强宁带来的豆瓣架构变迁的讲座很吸引人,今年Python语言的演讲主题同样包含丰富的内容。由于要帮InfoQ做洪强宁的新闻(详见InfoQ)和视频采访,所以我提前根据Keynote幻灯片内容准备了些Python与Web 2.0开发的问题。但我对豆瓣的BeansDB开源项目很感兴趣,采访之后便向@hongqn请教了不少BeansDB在豆瓣内部应用的情况。由于BeansDB类似P2P的去中心化设计,且适用于图像和BLOB内容存储,存储对象比较适合GIS数据特点,感觉BeansDB可能会在地理信息数据组织方面有用武之地,以后使用过程中有问题还需向BeansDB开发者 Davies Liu多请教。
在国外演讲者中,一个感兴趣的内容是Twitter系统工程师Nick Kallen带来的Twitter可伸缩性数据架构讲座,虽然以后很少能遇到Twitter这样的高并发应用场景,但对于维护这样一个有庞大用户群和海量数据的应用,其复杂程度绝不仅仅是凭想象就能完全了解的。
记得去年QCon第一天晚宴时,泰稳用小车推出来一个InfoQ庆生蛋糕,在今年QCon的大会晚餐前,还与几个InfoQ编辑猜是否生日蛋糕每年都会有,一年时间过得很快,看见蜡烛荧荧的火苗,耳边响起生日歌时的场景令人怀念。希望QCon能够再接再厉,在演讲者选择、会议服务、互动环节等方面继续改进,体贴开发者们的口味。
明年QCon见!
Posted in 诸子百家 | No Comments »
4th March 2010
由InfoQ中文站承办的QCon北京2010开发大会将于4月23至25日在北京京仪大酒店举行,届时将由30多位国内外知名讲师分享他们的经验心得,包括《设计模式》作者Erich Gamma、《Release It》作者Michael Nygard、ThoughtWorks首席架构师Jim Webber、以及Facebook和Twitter的资深架构师将在大会做主题演讲。当然,演讲嘉宾还包括来自豆瓣、支付宝、去那儿等不少国内知名IT企业的资深架构师和项目管理者。
QCon北京大会2010将包含设计优良的架构、语言的艺术、更好地敏捷、实战SOA、基于浏览器的应用开发、知名网站案例分析六个大的主题,在保持会议期间特色栏目QClub论坛和交流酒会的同时,还增加了”最佳解决方案”模块,为与会者提供来自各个领域的最佳实践。期望今年的QCon北京大会,在泰稳和InfoQ中文站团队的组织下能够再创佳绩。
QCon北京2010的更多细节,请关注本次大会官方站点:http://www.qconbeijing.com/
Posted in 诸子百家 | No Comments »
9th September 2009
OSGeo(开源地理空间基金会)致力于开源GIS和自由软件在科研单位和学校的推广,并以普及开源地理信息以及最新科学技术进展及为宗旨。OSGeo论坛每月举办一次,采取开放式主题选择,每次活动包含两场讲座,将邀请开源GIS、自由软件和开源社区参与者以及乐于分享的老师和学生主讲,内容包含但不限于开源GIS、科学计算、天文、生物等相关科技进展,以及Linux/Unix操作系统、数据库技术、动态语言等自由软件。
09年9月份OSGeo讲座与世界自由软件日同期举办,讲座时间安排如下:
2009-9-17号,周四,晚19:00-21:00
19:00-20:00:讲座1:《Python语言与空间信息处理》
(中科院研究生院 宋现锋)
20:00-21:00:讲座2:《Sun Spot无线传感器网络及Unix-Center发展介绍》
(Sun中国工程研究院 蒋清野)
地点:中国科学院地理科学与资源研究所,5楼,2521大会议室
朝阳区安外大屯路甲11号(北沙滩桥向东1公里枫林绿洲对面,路北,奥林匹克公园西邻)
参加讲座在线报名登记地址:
https://spreadsheets.google.com/viewform?formkey=dE9GM2NjcXFxQ2lSdkt0d1hsSVhLMnc6MA
演讲人介绍:
宋现锋,博士,现任中国科学院研究生院副教授,2000-2005年曾任日本京都大学JSPS研究员、助理教授。从事GIS方法与技术研究,熟悉OSGeo GIS软件。目前,主要负责国家科技重大专项专题《煤层气田集输网络数据库结构研究》、自然科学基金项目《WEBGIS空间数据处理标记语言》、京都大学国际合作项目等研究工作。
蒋清野,1999年获得清华大学学士学位,2000年获得美国伊里诺大学香槟分校硕士学位,目前是 Sun中国技术社区的高级经理,同时任北京交通大学软件学院的客座讲师。在此之前蒋清野就职于美国导航与控制公司,负责惯性导航、人工智能和无线传感器网络等多方面的研发。蒋清野的个人博客地址为:http://www.qyjohn.net/
本次讲座详细信息请查阅:http://osgeo.org.cn/
详细地图请参阅:http://osgeo.org.cn/?q=node/3
贡献OSGeo讲座主题请联系:高昂(tomgaoang (AT) gmail.com)
Posted in 诸子百家 | No Comments »
19th August 2009
一本关于大学、梦想和独立之路的书籍,汇聚了21位准IT人或IT人的故事。书中的人物都很普通,但因为信仰和努力,而让各自的故事变得不平凡。博尔赫斯全集的卷首语中有这样的话:我想写下一段自白,这自白既是我个人的,也具有普遍意义,因为一个人经历过的事情所有的人都可以经历。希望这本书中所讲述的故事,为那些致力于伴着IT之路成长的年轻人带来借鉴的价值,也希望书中人曾走过的弯路,将成为后来者跨越障碍的桥梁。
本书由武汉博文视点策划出版,由北京大学几位年轻的准IT人主编,收录了很多我曾经在网络上熟悉但大多未能谋面的年轻人的成长经历,书中为读者准备的内容,可以在已发布的样张中提前品尝:刘未鹏–《我在南大的七年》、徐宥–《我的大学》、庄表伟–《我的野蛮成长》、蒋宇东–《梦断计院》。
书籍将于2009年9月,伴着开学时喧闹的气氛上架。在本书中,我也执笔了一个短小的章节(我的章节扉页),欢迎感兴趣的朋友们关注更新在豆瓣和China-Pub的书籍最新信息。
Posted in 诸子百家 | 4 Comments »