level 9
读人Readman
楼主
我一向不喜欢把事情弄得复杂化,写的这个系列文章一方面是对我自己学习经验的总结,另一方面也是希望能尽可能多的让外行人也能以很平常的心态来看待编程这件事。
所谓无知者无畏,一般来说外行人容易走两个极端,一是畏惧,人们总是会对自己不了解的东西产生恐惧,这是正常的,但也正是这一点扼杀了不计其数的可能成为优秀程序员的苗子;二是极度蔑视,觉得编程虽然我不懂但一定没什么了不起的,一个很有名的段子就是说一个不会技术的老板,对别人说我们创意策划营销……几乎什么都有了,就差个程序员了,仿佛只要有一个程序员挥一挥手,天马行空的幻想马上就可以变成无bug的现实产品,他根本不知道他的想法需要多少万行代码才能实现,一个程序员一天八小时又能够写出多少行代码?调试,测试什么的仿佛根本不需要,团队什么的也不需要,只要一个程序员从零开始就可以写出一个完整的程序,那些上千人的软件工程公司都应该早早。倒闭,根本不需要。
这两种态度都是正常的,然而是对于外行人的正常,所以我尽力想实现的一个目的就是,打消初学者的恐惧心理,打击无知者的嚣张气焰。
编程并不可怕,跟你学习任何新鲜事物的过程是一样的,带着平常心去接触它就好,但编程也不轻松,绝不是白脖子产品经理动动嘴皮子就能指望下班之前能实现的东西。
编程就像请客吃饭,就像绣花,就像做文章,是非常雅致,非常沉静,需要耐心和细致的事情,急不得,也燥不得。
我们也该说说代码的基本结构了,放心,绝对基本的专业人士都不屑于吐槽。
打开任何一个C语言的源代码,不论长短,我们都能看到首先根据程序实现的目的不同而引用了相应的函数库,这一点我们之前已经讲过了就不再重复解释。
然后就是一些自己编写的函数,因为尽管积累到现在C语言的函数库简直浩如烟海,但仍无法满足所有的实际工作需要,有句话怎么说的来着,你永远无法让所有人满意,不管你怎么做,总会有人对你不满意的,那些过度追求完美的人也许能风光一时,最终都会把自己逼疯。
所以你一定会需要自己编写一些函数。
然后就是一个main,一般我们在教材上看到的都是int main()怎么怎么样,然后在它所属的大括号里开始写代码。
这个main其实就是一个函数,我们一般把它叫做主函数,看到没,所谓程序,所谓代码,本质上就是一个大函数。
只不过这个大函数是通过你的设计,调用其他小函数来实现目的的,更进一步,你一个小函数都不调用,把所有命令一句都写在这个大函数里都行,只是工作量太大,几乎没人愿意这么干罢了。
2017年04月23日 13点04分
1
所谓无知者无畏,一般来说外行人容易走两个极端,一是畏惧,人们总是会对自己不了解的东西产生恐惧,这是正常的,但也正是这一点扼杀了不计其数的可能成为优秀程序员的苗子;二是极度蔑视,觉得编程虽然我不懂但一定没什么了不起的,一个很有名的段子就是说一个不会技术的老板,对别人说我们创意策划营销……几乎什么都有了,就差个程序员了,仿佛只要有一个程序员挥一挥手,天马行空的幻想马上就可以变成无bug的现实产品,他根本不知道他的想法需要多少万行代码才能实现,一个程序员一天八小时又能够写出多少行代码?调试,测试什么的仿佛根本不需要,团队什么的也不需要,只要一个程序员从零开始就可以写出一个完整的程序,那些上千人的软件工程公司都应该早早。倒闭,根本不需要。
这两种态度都是正常的,然而是对于外行人的正常,所以我尽力想实现的一个目的就是,打消初学者的恐惧心理,打击无知者的嚣张气焰。
编程并不可怕,跟你学习任何新鲜事物的过程是一样的,带着平常心去接触它就好,但编程也不轻松,绝不是白脖子产品经理动动嘴皮子就能指望下班之前能实现的东西。
编程就像请客吃饭,就像绣花,就像做文章,是非常雅致,非常沉静,需要耐心和细致的事情,急不得,也燥不得。
我们也该说说代码的基本结构了,放心,绝对基本的专业人士都不屑于吐槽。
打开任何一个C语言的源代码,不论长短,我们都能看到首先根据程序实现的目的不同而引用了相应的函数库,这一点我们之前已经讲过了就不再重复解释。
然后就是一些自己编写的函数,因为尽管积累到现在C语言的函数库简直浩如烟海,但仍无法满足所有的实际工作需要,有句话怎么说的来着,你永远无法让所有人满意,不管你怎么做,总会有人对你不满意的,那些过度追求完美的人也许能风光一时,最终都会把自己逼疯。
所以你一定会需要自己编写一些函数。
然后就是一个main,一般我们在教材上看到的都是int main()怎么怎么样,然后在它所属的大括号里开始写代码。
这个main其实就是一个函数,我们一般把它叫做主函数,看到没,所谓程序,所谓代码,本质上就是一个大函数。
只不过这个大函数是通过你的设计,调用其他小函数来实现目的的,更进一步,你一个小函数都不调用,把所有命令一句都写在这个大函数里都行,只是工作量太大,几乎没人愿意这么干罢了。