原创: hxj7
上次谈到生信人员需要熟练掌握一些编程语言,还讲了Perl和Python的选择问题。那么,如果已经选定了一门编程语言,到底该如何学习它呢?今天的我们可以通过MOOC跟着名师学习或者上知乎提问,幸运的话还能得到大牛指点。不过,在我刚接触编程的时候,MOOC和知乎都还未兴起,所以我都是找资料自学。在经历了一些挫折后,我越来越接受和认可learnxxx the hard way这种学习方式(下文会提到)。这次我将自己使用过的学习资料分享给大家。如果您是一个新手,可以参考之;如果您是一个有经验的人,这次篇幅也不大,您就姑妄看之吧。
Linux Shell
《鸟哥的Linux私房菜 基础学习篇》
如果您是一个Linux新手,那么这本书是我极力推荐的。作者是一个台湾人,他写的这本书读起来就像是他和你坐在一起对话,将自己多年来的Linux实操经验深入浅出地娓娓道来,内容详实,文字还略带幽默诙谐,生怕那些晦涩的专业名词“吓”到你。相信你读完后也会和我一样喜欢上这本书的。 image
《Linux命令行与shell脚本编程大全》
读完上一本鸟哥的私房菜,就可以看一看这本进阶书了。这本书介绍了Linux shell命令行环境以及编程基础。其中sed以及awk的部分更是亮点,学完这两个工具,你会为其小而美而着迷,一行命令就可以完成许多文本处理任务,多神奇呀!总的来说,该书可当做一本工具书放在案头常翻翻。
《UNIX环境高级编程》
本书是一部备受程序员推崇的杰作,作者Richard Stevens是一位大牛,《TCP/IP详解》(三卷本)就出自他手。该书详细介绍了Unix系统编程接口,讲解了Unix文件和目录、I/O、进程、线程等众多概念的实现原理。这本书专业性很强,我读第一遍完全是硬着头皮上的(多少次烦躁得扯头发...),直到第二遍才琢磨出点味来。不得不说,读完这本书,我对Linux(Unix的亲戚)系统的理解加深了许多。不过,如果您实在读不下去也没关系,“君子读书,十年不晚”,咱过两年再读也不迟,您说是不是!
Python
《笨方法学 Python》
该书英文名叫《Learn Python the Hard Way》,这本书区别于我以往看过的所有教材。一般的教材会先给你讲概念,讲原理,然后再让你去练习写代码解决问题。而这本书却是先把解决问题的代码放出来,让你依样画葫芦抄一遍,运行一遍,确定没问题了再回过头来给你讲概念,讲原理。你说怪不怪!就是这样一个怪方法却广受好评,为啥,因为它有用啊。很多新手都靠此入门了。我现在越来越认可此道,有时候我们的确会受困于那些光怪陆离的名词概念,却忘记了自己要解决问题的初衷。而笨方法先让你学着解决问题,然后再欣欣然去理解那些名词概念。也不失为另辟蹊径!
image
《Python核心编程》
这本书可以当做Python的一本工具书。内容详实,比起上一本入门书来说,这本书额外讲了python在多个领域的应用:比如网络编程、web编程、数据库编程、图形用户界面编程等等。读完这本书,你可以自己写一些爬虫脚本,图形界面的应用程序等等,完成的时候应该还是挺自豪的,不错呦~
image
The Python Challenge
学python到这个地步,你可以稍微歇一歇脚了,玩点游戏放松放松。有这么一个好玩的闯关游戏网站,The Python Challenge,你可以用你掌握的python技能去试试看。这可是一个绝好的寓教于乐的机会呀!
image
最后
python的入门和进阶书籍就介绍到这了,后面就是要在日常工作中多使用,遇到问题多google,在实战中进步。要想成为一个python高手(也是我的目标),就需要花时间和精力修炼内功了,多看源码,多看数据结构和算法。怕什么真理无穷,进一寸有一寸的欢喜。让我们共勉!
至于R语言的学习资料,我将另写一文详细罗列。
(公众号:生信了)
image
网友评论