半路出家,怎么才能学好编程,比如linux和C语言?

2024-11-20 08:38:31
推荐回答(1个)
回答1:

1、一般来说,想快速的找到一份工作的话,学JAVA。
——————————————分割线————————————————
2、如果有大把时间来学习的话,学C语言、数据结构、算法,在这个过程中自己积累个上万行的代码量(最开始可以抄书上的代码,然后自己写的代码上万行,尤其学数据结构和算法的时候更要多写,可能的话,自己完成一个几百行、上千行代码的小型项目,比如俄罗斯方块、贪吃蛇等之类的游戏,用纯C语言写),然后学C++(学C++的时候注意面向对象思想的学习,学C++时,包括学C++模板、容器等),如果可能,最好把汇编语言也学一下。

至于书的话,C语言的,高校一般用谭浩强的《C语言程序设计》、高校一般用严蔚敏的《数据结构》、算法推荐《零基础学算法》。

这一步学完,最好能有5、7万行自己写的代码,有10多20多个小型或中型的项目。

3、其次,知识体系的形成。我觉得要进入更高层领域,应该有个完整的知识体系,所以,操作系统、计算机网络、计算机组成原理 这些基础课程,也应该学习一下,可以帮助更好的理解计算机程序的运行过程,包括与操作系统的交互、驱动的控制、硬件的操作等。

这里,算法设计对数学知识要求蛮高,如果可以,最好把《高等数学》认真学好。

4、建议到这一步之后,转到linux系统下学习编程。可能的话,把linux内核源代码看一遍,理解清楚linux内核是如何控制计算机硬件的。最好自己能对linux内核进行修改,把它改造成自己独有的linux系统。

5、学会linux下的gcc、gdb、make这些编程工具的使用,最好一并学会写shell程序。

至此,达到个10万到20万的代码量。
……
感觉上面这些认真扎实的学完,至少基本上3、5年时间就过去了。
学完这些,我想,你应该可以称为一个中级软件工程师了吧。。。

作家格拉德威尔在《异数》一书中指出:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。“
他将此称为“一万小时定律”。要成为某个领域的专家,需要10000小时,按比例计算就是:如果每天工作八个小时,一周工作五天,那么成为一个领域的专家至少需要五年。这就是一万小时定律。”