生物信息学编程语言选择

我们应该选择什么样的编程语言呢,因为要投入很多,所以这个选择显得很慎重,又因为是刚刚开始,掌握的信息有极其有限,面对选择就很茫然,如何选择呢?看看身边的人用什么编程语言,看看相关的招聘广告中要求什么语言,看看什么语言的书买得多,当然只看这些因素不同时间,不同地点,不同的环境,带着许多偶然性,下面就让我们跟随Paul Graham, 看看黑客们是如何选择编程语言的:

         这种语言干练整洁,具有最高层次的抽象与互动性,而且很容易装备,可以只用很少的代码就可以解决常见的问题。不管是什么样的程序,你真正要写的代码几乎都与你自己的特定设置有关,其他具有普遍性的问题都有现成的函数库可以调用。这种语言的抽象程度很高,使得你可以快速的写出一个程序的原型。然后,等到你开始优化的时候,他还提供一个真正出色的性能分析器,告诉你重点应该关注什么地方。你能让多重循环快得难以置信,并且在需要的地方还能直接嵌入字节码。
这种语言有大量优秀的范例可供学习,而且非常符合直觉,你只要花几分钟阅读范例就能领会应该如何使用此种语言。你偶尔才需要查阅操作手册,这个操作手册本身又很薄,里面关于限定条件和例外情况的警告寥寥无几。
这种语言的内核很小,但很强大,各个函数库高度独立,而且和内核一样经过精心设计,他们都能很好的协同工作,语言的每一部分就像精密照相机的各种零部件一样完美契合,不要为兼容性问题放弃或者保留某些功能,所有函数库的源代码都狠容易得到,这种语言能够很轻松的与操作系统和用其他语言开发的应用程序对话。
这种语言以层的方式构建,较高的抽象层透明的构建在较低的抽象层之上,如果需要的话,你可以直接使用较低的抽象层。
除了一些绝对必要隐藏的东西,这种语言的所有细节对于使用者都是透明的,他提供的抽象能力只是为了方便你的开发,而不是为了强迫你按照他得方式行事。事实上,他鼓励你参与它的设计,给你提供与语言创造者平等的权力。你能对他的任何部分加以改变,甚至包括他的语法。他尽可能让你自己定义的部分与它本身定义的部分处于同等地位。这种梦幻般的编程语言不仅开放源码,更开放自身的设计。

————摘录之《黑客与画家》

从中我们看出几个因素,免费,容易安装,有一个好的实现,有丰富的书籍与在线文档,整洁,具有较高的抽象层次,及容易上手,有很强的交互性,最为关键的就是有丰富的函数库,帮助我们很容易的完成各种应用。明白这些因素,再回头看看我们选择的语言,或许你也和我一样,有种豁然,安然的感觉,为什么要选择perl,是因为perl是linux的脚步语言,是免费得,很容易安装,其容易上手,有很强的交互性,有丰富的书籍与在线文档,而最为关键的时有丰富的函数库- BioPerl,可以调用bioperl很容易的完成基本的序列处理任务。当然python,R也是这几方面的原因,使用的人也是越来越多。python同样有丰富的函数库,其抽象层次、简洁性、易用性要好于perl,R也是同样,对于集合数据处理的抽象以及丰富的统计函数。

当然,如果你要做的时某个算法的实现,可以选择C,做web系统开发可以选择PHP,想成为公司的程序员可以选择Java,想成为黑客,你可以选择lisp。不同的编程语言,确实差异很大。你要做好你的选择。

最近的语言使用统计排行:

编程语言排行榜

图片来自:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

《完》

新书推荐

 » 转载文章请注明,转载自:博耘生物 » 《生物信息学编程语言选择》
 » 原文链接:http://boyun.sh.cn/bio/?p=1730

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请启用Javascript,以完成验证!