子贡问政。子曰:“工欲善其事,必先利其器。居是邦也,事其大夫之贤者,友其士之仁者”。——《论语》
在本篇中,主要从自己的经历来讲在程序设计入门中需要注意到的一些地方。我不能帮你规划如何去学习,但是你可以从中找到一些方法,再结合自己的实际情况去寻找一条合适自己的路径。
我以为,入门最基本的方法就是从c语言入手。如果你以前接触过一些语言,如Python,Java等,则学习c语言不会有太大的难度。现在c语言本身就包含了嵌入汇编,使学习汇编的时候更加方便了。你可以忽略掉纯汇编里面的很多操作。也许有人觉得这个方法太慢了,但要知道工欲善其事,必先利其器 ,想要成功,没有一个辛苦的过程是不可能的,所以一开始就要有耐心。如果你准备话5年时间成为一个高手,那我敢说,你跟本不用5年,你只要有这个耐心就足够了,你可能2年~3年内就能达到目标。但如果你想在一年时间内就成为高手,即使5年后,你还是成不了高手。总之,想要入门,我认为c语言才是正确的方法。
入门和积累是很重要的。事实上,到达高手的境界后,不管什么语言不语言的,其实都根本不用去学,只要拿过来看两天,就全部精通。如果你没有入门,即使去书店找n本书,天天背它,你也不会成为高手。
所有的语言只是很花哨的表面的东西。高手马上就能透过它的表象而看到它的本质。这样才是真正的高手。它不需要再去学习什么Java,或者其他什么语言,当他真正需要写个Java程序的时候,只要把Java程序拿过来看一看,瞄一瞄书,就全部都清楚了。如果这是他学习Python就更容易了,我想他不用一天的时间,就能学会。到达高手的境界后,所有的事物都是触类旁通的。
学习还有一个好处就是:当你成为c语言的高手时,那么你就很容易进入到操作系统的平台里面去;当你进入到操作系统的平台去实际做程序时,就会懂得进行调试;当你懂得调试的时候,就会发现能轻而易举地了解整个平台的架构。这时候,计算机基本上一切都在你的掌握之中了,没有什么东西能够逃得出你的手掌心。
最后,送大家一首诗,它教会了我学习一切知识的正确方法:
To follow the path:(沿着这样一条道路:)
look to the master,(寻找大师,)
follow the master,(跟随大师,)
walk with the master,(与大师通行,)
see through the master,(洞察大师,)
become the master.(成为大师。)