来自当知百科
跳转到: 导航搜索

编程语言

  Go是谷歌2009年发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言。

  谷歌资深软件工程师罗布·派克(RobPike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”

  2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%,投入在该项目上。除了派克外,该项目的成员还其它一些谷歌工程师。

  派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言。

  现有编程语言均未专门对多核处理器进行优化。派克表示,Go就是谷歌工程师为这类程序编写的一种语言。它不是针对编程初学者设计的,但学习使用它也不是非常困难。Go支持面向对象,而且具有真正的封装(closures)和反射(reflection)等功能。

  在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会Go。

  之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如EclipseIDE中的插件。目前还没有支持Go的IDE。

  在目前谷歌公开发布的所有网络应用中,均没有使用Go。但是谷歌已经使用该语言开发了几个内部项目。

  派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,现在还言之尚早,不过Go的确可以和NativeClient配合使用。他表示,“Go可以让应用完美的运行在浏览器内。”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台。

gene ontology

  GO(gene ontology)但是它已经成为生物信息领域中一个极为重要的方法和工具,并正在逐步改变着我们对biologicaldata的组织和理解方式,它的存在已经大大加快了我们对所拥有的生物数据的整合和利用,我们应该逐步学会理解和掌握这种思想和工具。

  众所周知,sequence basedbiology中的核心内容即是对序列的Annotation(注释),其中主要包含structuralannotation和functionalannotation,前者涉及分析sequence在genome中的locus以及exon,intron,promoter等的location,而后者则是推断序列编码产物的功能,也正是我们在六月论题中所着重探讨的。应该说,这二者是相互关联的。

  随着多种生物genome的相继解码,同时大量ESTs以及gene expression profiledate的积累,使得annotation的工作量和复杂度大大增加。然而另一方面,大多数基因在不同真核生物中拥有共同的主要生物功能,通过在某些物种中获得的基因或者蛋白质(sharedprotein)的生物学信息,可以用以解释其他物种中对应的基因或蛋白(especially in comparativegenomics)。由于这些繁复的功能信息主要是包含在积累的文献之中,如何有效的提取和综合这些信息就是我们面临的核心困难,这也是GO所要着力解决的问题。通过建立一套具有动态形式的控制字集(controlledvocabulary),来解释真核基因及蛋白在细胞内所扮演的角色,并随着生命科学研究的进步,不断积累和更新。一个ontology会被一个控制字集来描述并给予一定的名称,通过制定“本体”ontologies并运用统计学方法及自然语言处理技术,可以实现知识管理的专家系统控制。

  到目前为止,Gene OntologyConsortium(GO的发起组织)的数据库中有3大独立的ontology被建立起来:biological process生物过程,molecular function分子功能及cellularcomponent细胞组分。而这三个ontology下面又可以独立出不同的亚层次,层层向下构成一个ontologies的树型分支结构。可以说,GO是生物学的统一化工具

个人工具
名字空间

变换
查看
操作
导航
工具箱