Linux程序员前1年应该如何学习和积累呢
发布网友
发布时间:2022-04-21 20:01
我来回答
共4个回答
热心网友
时间:2022-06-05 16:27
展开1全部我感觉她说的很好,对于一个计算机专业的学生,有必要深入学习内核,对于我现在的C语言和汇编,我感觉自己难以提高了,学习了数据结构和计算机组成原理,操作系统,直到看了操作系统之哲学原理 后,我的心情一直是激动的.
直到阅读了内核 V0.12版本的,我才找到了为什么难以提高的答案,那是以为我没有深入操作系统内核,没有深入理解这门语言,用的也只是表面的语法而已.
我才感觉自己没有入门,只是一只菜鸟而已,正如我的网名一样.
我应该对自己以前傲慢的行为负责,所以我的网名意义很深... ...
当初大一的时候,想出了C语言的难题的时候,同学会说,原来这么简单,我当时很傲慢和狂妄自大,在心里想:"简单,简单你自己想,看到了答案才说简单."
直到现在学习内核,一直付出的艰辛,没有同学能体会.在慢慢的成长中,我的心也收敛了许多,去除了年少轻狂和傲慢,自大.尤其学习了易经的哲学后,我才深深的体会人生.
学的越多,越感觉自己是一直菜鸟,更感觉自己懂的更少.
学习内核推介的书籍 :
汇编入门 <<汇编语言>> 王爽 ,不知道为什么没有答案,不过王爽一定有他的用心.
<<Intel 汇编>> 我感觉值得了解一下,虽然AT&T和intel 汇编的语法很大程度上不同,但是CPU体系的概念是一样的 .<<汇编语言程序设计>> 外国人写的,我有这本书籍,IA-32也详细介绍了,关于IA-32只有 IA-32 Intel 体系结构软件开发者手册 上才有,可以慢慢的体会.
C语言和数据结构:
入门实在不费力气,但是提高真的很费力气,数据结构深入真的很难,尤其是图论,够你研究一辈子,想要深入研究数据结构,一定要有扎实的数学功底,我非常喜欢线性代数这本课程,对于数据结构需要的数学,就是离散数学.我感觉作为计算机专业的学生,多学点数学是没有坏处的.统计学和概率学也不错哦~!
C语言强烈推介一本 <<C语言缺陷与陷阱>>,太好看了,作为C语言的使用者,必看.
作为内核学习者,没必要学习C++,我感觉入门就行了,没必要深入,不然你会混乱在语法的怪圈中,你要是说C语言实现的数据结构不好,C语言也不是设计出操作系统了吗?而且内核中也有 OOP的思想.一门精通了,学习另一门是很简单的哦.
( Dev c++ ,支持AT&T格式汇编格式,支持内联函数,我太喜欢这个编译器了),
我从内核哪里学到好多东西, strcmp这个函数,原来在Linux中,.h用了 inline 和 extern 的组合,在 .c( 库文件) 中没有这两个组合.strcmp 在Linux中用AT&T汇编格式写的.
计算机组成原理,原理,最少以每天30页的速度看... ...
操作系统有必要弄清楚 一些让人烦恼的概念问题,死锁,进程,线程,内存管理,文件系统等一些东西需要去理解.
有了这些基础,看内核就没有那么辛苦,说的简单,做的难,没有坚强的意志力和超乎常人的决心是办不到的... ...
你认为没有付出努力就能成为别人眼中的高手的话,我看你还是死了这条心吧.
如果你感觉一个黑客或者编程高手,只是简单的使用一个傻瓜工具的话,那你大错特错了.
热心网友
时间:2022-06-05 16:27
不知道你是想把书上的东西看懂呢,还是想能够做出东西来。你看看你的胃口挺大的,要搞内核、驱动、TCP,我只想问问你,你工作要求做什么?如果没什么必要,内核只需稍微了解就可以。
如果你是搞驱动开发,怎么都不觉得就看本书就能搞定的。如果是新手,我劝君还是重点看看SHELL、makefile、GCC、私房菜。。。之后工作需求什么,你再深入学习什么。之前搞过VB跟现在几乎没什么关系了,在LINUX下开发,一般用C,或者C++。有时间看看这方面的吧。最后祝君好运...
热心网友
时间:2022-06-05 16:28
在linux下作开发,请先确认贵单位软件开发的深度。
如果你只是应用层开发
那么请熟悉linux下基本命令的使用,权限管理。
然后熟悉linux下的C开发过程(以C为例哈),包括编译的方式方法即GCCGDB得使用。至于shell的话,是锦上添花的过程,可以在工作的过程中逐渐熟悉。
最后,涉及到网络编程的话,就是你自己提到的《Unix网络编程 卷1 英文版》
《Unix网络编程 卷2 英文版》,多数应该都是socket编程。
如果你们还涉及到内核编程,那你就需要攻坚了,看到你也涉及到内核方面的内容了,应该问题不大。
把握好主次就行了。多实践是最重要的,即便是书也有错的时候,光看肯定是不行的。
热心网友
时间:2022-06-05 16:28
个人比较喜欢RedHat的书籍,RedHat的认证比较好,还有就是技术比较全面,不过就像楼上说的,你的胃口太大了,《Linux设备驱动程序》这本书我看了一年也没有熟悉,劝你还是不要贪多。。。