学第一门编程语言时,都会觉得很新鲜。
比如第一次见到c语言里,也有变量,有表达式。
就会想,c语言能不能直接解二元一次方程组,直接输入x+y=3x-y=1
那编程语言能直接解出x与y的值吗?
编程语言究竟能做什么?
通过编程指挥电脑下棋,赢了世界冠军上边这个方程,c语言直接解不出来,通过编程可以解出来。
计算机硬件平台提供了自动计算的功能
操作系统提供了方便调用计算机资源的接口
而用编程语言编程来描述计算的流程和步骤,计算机运行编出来的程序解决实际问题。
象上边这个方程组,如何解,需要利用c语言再编程来解出答案。
可以把这个方程组的系数组成矩阵,调用c语言的矩阵库算出答案。
解这个方程组所需要的方法,流程,步骤,蕴含在c语言的矩阵库里,不在c语言本身里。
编程主要就是分析实际问题,找出解决问题的方法,流程,步骤,然后用编程语言实现出来。
一些朋友在学习c语言时,感觉所举例子和习题都是做一些简单的数学计算,很少有解决实际问题的例子。
确实好多编程教材都这样,
类似于我们学习语文,对课文中的人物形象印象很深刻,多年以后还记得。
而学习英语,课文中所叙述的内容都是简单的日常事务,或者我们已经知道的信息,很少有信息的令人难忘的材料。
主要是因为母语,我们已经从实际的交流需求中掌握了语法,所以课文提供了更丰富的内容。而英语,需要通过例子练习来熟练语法,所以课文大都是我们熟知的内容。
确实,如何提供新鲜的材料,让人们充满乐趣,在不经意间掌握编程语言,也是教材编写者的重要任务。
这方面,游戏编写者有丰富的经验,可以让玩家沉迷于其中,从来没有感到熟悉游戏不爽。
西游故事被做成游戏玩家乐此不疲至于想通过c语言,编写出有实用功能的程序来,熟悉了语言之后,每个领域都有好多c语言实现的库和开源程序,在这些库的基础上,可以搞出功能复杂的程序来。
任何细分学科领域的知识都有很多,一个人不可能把这些知识全部记牢,现在搜索引擎提供了很多方便,有技术问题,百度,bing一下,就出来结果了,可以节约好多时间。
对c语言来说,确实好多函数都可以通过搜索,没有必要记忆。
对搜索不友好的是编程语言中的特殊符号。
比如c语言中的,,?,等,搜索这些特殊符,很少能得到有意义的内容。
如果输入c语言,运算符,,搜出来的内容就比较有价值了。所以熟悉c语言基本的关键字,运算符,特殊符号,以后,再继续提升,就比较顺手了。
最后到开发阶段,每个细分领域的资料,基本都是英文的,最新的开发工具,开源库,也基本上是英文的,所以英文对开发能力也重要。