加载中 ...
首页 > 新闻资讯 > 经验心得 正文

程序员谈学习:我为什么要学习Linux?

2019-03-23 07:30:19 来源:沈阳软件公司 作者:沈阳软件开发

  扯了这么多,似乎和问题没什么关系。现在扯点和问题相关的。作为一个搞Android应用开发的,我为什么要学Linux呢?我事情中又不会写Linux程序,再说Linux内核博大精湛,代码海量,关系错综庞大,学习Linux内核一定要泯灭大量的时间和精神,那我为什么还要学呢?在说这个问题之前,先谈谈我对学习的看法。

  在学习一个工具之前,出于保险起见,我们总是会询问别人的意见,而在这些意见中,总是会有人说学这个干什么,事情中又用不到。若是谁给了你这样的建议,那么你一定要小心,由于基本上可以断定他是一个不爱学习的人。有许多工具,不是由于你“感受”有用才学它,而是学了之后才气知道它有用。我的一位朋侪是做C#的,他在业余时间学了Perl,其时学的时间总是有人以为没有用,可是当他学会之后,可以使用Perl强盛的文本处置惩罚能力,去整理花样杂乱的源码文件,可以写个程序自动的给向导发邮件。另有我大学的一位先生,年轻时由于英语比力好,被单元派去美国,获得了深造的时机,回来后做了我们学校的物理系主任,许多人也以为英语没有用,呵呵。我进入公司实习的时间,看了设计模式,在我翻看《Head First设计模式》时,被一个有履历的同事瞥见了,他告诉我看设计模式没有用,由于我们的项目是不会用到设计模式的。我不知道这是什么逻辑。横竖当我看完设计模式之后,真的被这些设计巧妙而又极具适用性的模式所震撼,在以后的项目中,我大量使用了这些模式或者设计原则。以是若是一个事情了两三年或者更长时间的程序员还没有学习过设计模式,我会深深的藐视他,以为他不是一个真正的程序员。

  我上大学时学习了Java语言,其时还费了不少劲。基本的语法比力熟悉了之后,照旧感受到有些工具总是糊里糊涂,不够清晰,好比说不知道反射是怎样事情的。以是找了《深入Java虚拟机》来看,当我看了两遍这本书之后,感受到原来不清晰的地方都显得自然而然,知道了class文件结构是怎样的,类是怎样被加载的,指令是怎么样被执行的,要领是怎样被动态绑定的。这些知识对我有很大的资助,如果我不学习Java虚拟机,只是单纯的写Java程序,纵然写上10年,也不见的比我现在对Java的明白更透彻。

  说了这么多,只是想说学习是有用的,大大的有用。一个履历用5年并不即是有5年的事情履历,一个不学习的程序员是不会有什么生长时机的。以是,对于一个Java程序员,还分不清工具和工具的引用,对于一个iOS程序员,还分不清ViewController到底是MVC中的视图照旧控制器,那么没错,你该学习了,该静下心来好好牢固一下基础了。

  最后,来到正题。我为什么学习Linux内核?首先,我对Linux有很深的兴趣和洽奇心,我喜欢专研一下。从适用性出发,我可能一辈子都没有时机编写Linux内核,也可能一辈子都不会从事Linux驱动开发相关的事情,可是我知道它对我是有用的。能进一步加深对操作系统中观点和实现的明白,对底层的深入明白,能让我打下扎实的基础。一些新手艺实在都是架构在基础的工具之上的。基础牢靠,以后再学习什么新手艺都市水到渠成。有人可能会反驳,说学习底层的工具没用,优异的程序员应该专注于设计,项目治理或架构等上层的知识,我的看法是,设计、项目治理或架构等上层的知识和底层的知识一点都不冲突,不懂底层的人,基础不扎实,在上层也不会走的顺畅,设想一下,若是没有深挚的基础知识,你怎么能知道自己架构出来的工具能不能实现呢?

  写到这里文章就写完了,由于比力困,可能写的有些散乱,在最后总结一下这篇文章的主要看法。

  总结:

  1. 我们要做优异的程序员,不要做“不优异”的程序员;

  2. 学习是有用的,若是有人给你的建议是学XXX没用,那么你可要当心;

  3. 底层的知识和高层的知识不是不能相容的,真正优异的程序员应该两者兼顾。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。