在现有的计算机体系中C语言可谓是编程的鼻祖,使得人们从晦涩难懂的机器汇编语言过渡到更接近平常正常人思维的高级语言。C语言的出现也直接促使了编程之树的蓬勃发展,使得更为复杂的程序成为可能,也大大提高了程序跨平台的兼容性。
学C语言刚入门的时候都会觉得它只适合用来解数学题毫无用处的这种感觉。对于之前没有编程经验的人来说,学了一个学期C语言,还不能算得上入门了,仅仅只是对C语言有一个概念性的理解,很多专有名词都还有可能理解不透彻,更别提它要如何去使用。
实际上任何一门变成语言,当你会用它来做一些简单的数学题,就已经打开了编程的这扇大门,后面还有更多的概念和应用等着去挖掘、实践,这绝对不是一朝一夕就能完成的,需要一个长期学习、运用从量变到质变的过程。
编程离不开数学、算法、数据结构,这是循序渐进的一个过程。这就好比小学要花5~6年去学习加减乘除、小数、分数等等一些基础的数学概念和算法,到了初中才会去学习如何通过数学去解决实际生活中遇到的一些问题,到了高中已经能够建立数学的模型去解决更为复杂的问题,有了这些铺垫上大学才能对于晦涩难懂的数学理论进行学习和应用。
大道至简同样适用于编程,程序的UI界面只是表皮,真正支撑程序的是算法和结构逻辑。再复杂的程序最终都会变成机器才能懂的一串0和1。
但同样是乐高积木,却有人能用50万块乐高积木搭建搭建惟妙惟肖、鬼斧神工、令人叹为观止的“故宫三大殿”模型,这里面包含了决心、创意、坚持。过去的人还在羡慕鸟儿能自由在空中翱翔的时候,如今的人却能坐上精密的飞机在空中穿梭,甚至借助载人火箭飞船翱翔宇宙,学习并没有止境,编程这条路同样没有。
学习编程需要更多的是自学和敲代码实际应用
很多人对于C语言的第一印象就是谭式C语言,更贴切来讲是程序设计基础,书本上并没有很高深的程序,教授的老师也并没有指望你学完程序设计基础去做一些多么厉害的东西,只是希望你学会什么是C语言,程序设计是什么样的。这也进一步的印证了“师傅领进门,修行在个人”这句话。
不管现在的何种编程语言都遵循发展C语言的古法常量、变量、类、结构体、函数、循环、判断分支等等。一门编程语言足够吸引人的地方在于它拥有一个庞大的生态系统,让开发者开发时引用到很多优质的库,这样就会大大的缩短开发的时间,比如Python、JavaScript、GO、Java等等就拥有这样的特性。编程语言的更新和迭代往往会带来更好的应用,会推出更多的应用库同时修正以往不好的设计。
学习编程是需要付出代价
衡量一门编程语言好不好也取决于对于初学者的友好程度,容易上手也不需要花费几年的时间去掌握它。可是编程语言仅仅只是给你一个平台,至于你是搭建一个茅草屋还是搭建一个座高楼大厦完全取决于你自己,而这个过程是要付出代价。