回复内容:
泻药。首先我个人的主张是:python !
3年的生物信息应用开发和数据分析实践经历表明,我选择Python并在期间推荐周围的同事和朋友也尝试和选择python,是非常有益效率的,至少明显克服了以前perl的部分弊端。
空洞的语言之争在程序猿本是一个有违职业操守的行为,但放到某一个特殊场景也许有益新手也引发他人思考。 对生物信息而言,语言其实是一个次要问题,最重要的是建模和求解,而非工具选择;何况有些时候在使用别人的程序时是无法选择语言的。
谈点具体的:python代码本身比perl更易学易读易懂,这点基本没太大争议;而对于非一次性程序,尤其是pipeline类的,对“易改”有更高的要求,我们很不希望一个冗长的perl脚本在三个月后就看不懂。。。还有那些怪异符号对人的震慑感 >=< 另一个方面,因为历史原因,以前积累的生物信息学数据库和开源程序/公开程序(因为某些原因,大家只是共享自己的程序,没有任何开源许可)大部分是perl构建,而后人为了学习和重现也继续学习perl;但实际上这不是必要的,不需要为此而让自己也使用perl,可实践中人们精力有限,学一门语言总比学两门轻松。
对于 bioXXX方面,其实大同小异,只是社区活跃度有所不同。至少我所见过和使用过的很多程序以及分析流程中,perl主要用于小脚本,python经常用于pipeline串联和某些分析方法实现等,R主要是统计和结果可视化(有 bioconductor),至于SVG的输出,则基本是语言无关的,看各自的喜好了。另一些web类的工具,或者workb