两种编程-兼论生物背景研究生物信息学的优势
Sep 25, 2008好吧,这真是个awkward的标题。。
刚才看了一篇blog,讲的是给理科学生单独开设编程课的必要性。作者最重要的观点是:
计算机系学生编程关注的是程序的结构和运行速度(是不是面向对象啦,算法是不是最佳啦),但是理科学生最看重的是编程能够解决他们心目中真正的问题,换句话说,编程只是解决问题的方法而不是目的。因此理科学生学习编程,只要能得到想要的结果,肯定不会考虑太多提高速度优化结构的问题(作者半开玩笑说,如果你真的无比关注算法效率软件工程等等,那你还是转行搞计算机吧)。
比如生物信息学研究中,大部分编程只是把读写文件、格式转换或是调用其他程序的工作进行自动化,作者称之为”script programming”(脚本编程)。在脚本编程中,你几乎不用考虑数据结构、算法优化、面向对象,因为你根本不用写多少行代码,而且几乎不涉及复杂的算法。而传统意义上的编程课极少会包含这方面内容。
于是这就说明了生物背景(或其他基础科学背景)的学生研究生物信息学的优势,理科学生对科学问题本身更感兴趣而且相对于计算机系学生对科学问题可能有更深的理解,这样利用编程工具来研究生物学问题可能更得心应手,因为生物信息学涉及的编程不需要多少高深的理论,又因为脚本编程在正统的计算机科学教育中也很少涉及,可以说生物和计算机背景的学生在这方面是同样起点的。
语无伦次的说这么多,是希望那些对生物信息学感兴趣的生物专业学生勇往直前,不要被编程吓倒,(唱~~)这里的编程很简单;更不必被那些计算机术语吓倒,也许你一辈子都用不到它们,或者只需要调用一下某位计算机大牛早已写好的函数就OK了。