林奇现在学的只是其中的很小一部分,只是学了其中的一门编程语言,c语言。
如今的人们决定学习任何一门语言之前,都要先考察这个语言有什么成功项目。
唯独c语言没有必要问,因为世界上太多的重要系统中,都有c语言的身影。比如操作系统内核、高级语言底层,还有流行的数据库软件等等。
这是一门时间悠久,但是一直到现在也还是在编程语言排行榜排前三名的一个语言。
林奇从网上买了一本《crirs第6版中文版》,仔细研读。
从打开记事本,写下第一行代码之时,不对,应该说是从下单买这本书的时候,林奇就走向了一条不归之路。
编程里面有些术语很奇怪,比如“x8”,这个东西,如果没有学过编程的人,看了这个第一印象肯定是,x等于8,x是一个未知数。
但是在编程学过编程的人眼里,这个其实是一个赋值语句把8这个t类型的数据赋值给变量x。
入门程序第一个难点就是,知道这个是赋值,而不是一个方程式。
林奇写出了第一个程序“helloorld!”心情无比的激动,就像自己上小学的时候会写第一个汉字“一”一样。
然后就是if、else、hile、for、sitch、case这些常见的判断循环语句,能熟练地应用这些语句,再加上内置的很多的函数,还有一些别人写好的公共的库的函数,见识的多了,知道他们是怎么和判断、循环、赋值语句配合之后,就能写出来简单的程序。
不过在学习c语言的过程中,林奇发现了一个规律。
在写了很多简单的程序后,就能慢慢的写一些比较中等的,在之后就是比较大的项目了。
通读完全书,林奇感觉到c语言的设计肯定也是一个懂艺术的人。
越研究,林奇越觉得编程是一门艺术,编程是美的。
学完了书上的知识,也研究了一些github上的开源项目,林奇觉得已经算是入行了。
提高自己的编程水平有很多方法,最有效的就是又从github(全球最大的开源的代码站,里面世界各地的人上传的各种各样的程序),找到一些非常有名的开源项目来学习研究,比如ngx。
后来林奇还上网看还能怎么继续提高自己,无意中看到一个帖子,里面介绍说,写程序不管是任何的语言,都要会算法。
于是林奇又买了一本《算法导论》英文原版,之所以买英文的原版,是因为听说翻译后的有的东西不好理解,还是看英文原版的更好一些,主要是林奇的英文水平高,要不然即使翻译的再不好也比看不懂要好很多。
学习这本书的时候,林奇的感觉是,苦中有乐,乐中有苦,时而被里面的精彩算法迷的不行不行的,时而被里面的算法搞的半死不活的。
算法重不重要,有一个例子,网上有人说的写程序就像开一辆车,当你不懂太多数据结构跟算法的时候,凭借丰富的实践经验你也可以将这辆车开好;但是,当有一天这辆车出问题跑不起来的时候,你不懂它内部的运行机制,你要怎么排除和解决问题?
其实现在已经不需要争辩算法重不重要了,你打开boss直聘直接搜算法工程师,看看现在的待遇,看看企业的要求,就知道这个东西到底有没有用了。
人工智能的兴起,也带动了算法工程师(主要是人工智能的算法,不过和普通的算法还是有些关联的)变得炙手可热。
林奇学完了《算法导论》,准备找些东西练练手,于是就上网找资料,在一个讨论算法的论坛里面发现了一个算法大赛,林奇兴致勃勃的报了名。