0x01-C语言序言
倒是觉得写代码首先不是语法,而是格式,任何时候任何地点,要是自己的代码难以理解,要么你是故意的,要么你就是菜菜
一个难以被人理解的代码在我看来是没有太多的潜力的,但不排除故意为之的情况,也许很多人说这是强迫症,但是无论打开哪一个开源代码,你看到的都将是一个拥有规范的代码文件
也许有人说人不应该被限制,不应该拘泥于小节,但是当一个工程超过一千行,也许不用只需要不到五百行,就能完全暴露出代码规范的重要性,包括缩进,变量命名,接口存放,接口参数的规范之类,听起来似乎很虚:各语言代码规范合集
在我看来C语言的内建语法真是无比简洁,几乎存在既有道理,简洁不代表着不强大,强大的某些地方在近来渐渐复苏的Lisp身上也有体现。
if, for, while, switch
组成了每个C程序的半壁江山 “ + “ “ - “ “ * “ “ / “ “ % “ “ = “
组成了各式各样的算法计数“>>” “<<” “|” “&” “^” “~” “!”
让C语言有了更高效的算法以及更奇妙的思路struct enum union #define return
而这些则让C语言在这乱世纷争中站稳了脚跟,并且一枝独秀“{}” “()”
让代码不再无序混乱“type * “ “&” “()” “->”
让C语言在这个世界无处不在“ . “ “[ ]” “ < “ “ > “ “ == “
还记得他们吗?我想这一辈子都忘不了了
0x02-编程带给我的
是快乐而不是痛苦,如果你觉得编程痛苦,请放下你手头的工作,找找自己真正想要的,无论从什么角度来看,你都应该放弃令你痛苦的事情,花上三杯茶的时间,看看自己的心到底喜欢什么。
C语言可谓是让一个程序员最难以感受到自己进步的编程语言,一个黑窗口就让无数程序员再也走不出来。或者迷失,或者停滞不前,或者放弃,一个人最恐惧无助,甚至彷徨的时候,就是在努力之后却感受不到自己在进步,努力的白费是所有人不愿意看到的,但是太多人就着所谓前途而奋不顾身的投入这个事业,他们也许对计算机完全没有喜爱之心,埋头苦干,世人皆称爱读书的好孩子,但是这意义又在何处?即使最后你领着你觉得高的工资,站在了同学,朋友的前方,依然发现自己并没有得到满足,在我看来,让自己开心的才是最好的,不适合你的永远是最差的,即便能带来利益?何不花三杯茶的时间,想想自己到底适合何处。
在C语言的道路上,囊括了许多道天堑,并不是说这门语言比其他语言难,相反它十分符合人类的思维逻辑,但就是因为它存在的时间太久远,普通的使用于它于世界已经无甚大用,在现在这个高级语言遍地走的时代里,有用的只是那些将C语言发挥到极限的工程,不再是小窗口中写一个数据结构,一个算法,也许你觉得徒手写出一棵红黑树很了不起了?那也就是做成一个字典树,在一个浩大的工程中,一个虽重要却不起眼的小部分罢了,学完所有语法,却不知所措接下去该怎么做?有心人在无尽的探索之后发觉,啊!标准库!啊算法!嗯对了,还有各种各样的第三方扩展,以后呢?啊!操作系统!然而自学的路上充满着坎坷,艰辛,无助,烦恼,那又如何?喜欢就好。
所谓师傅领进门,修行在个人,这句话在我看来有两个重要点,却是现在大学生几乎缺失的。师傅一词告诉我们,要不耻下问,要善于询问,而不是伸手即来思想,”提问的智慧”在我看来是一门很重要的课程,特别是在当今信息时代。而更重要的是,先入为主的思想是极其可怕的,在这两年的自学历程里,见过太多后来者居上的事迹,当你一直认为自己一定比后辈强时,你就注定输了,所以不耻下问才是最重要的。但是如果师傅是那么容易找到的,那就不会有学校了,个人指的并不是孤军奋战,而是要善于自己发现问题,努力解决问题,这个过程可能少不了请教他人
编程可以是一种信仰,至少在我认为是这样的,把它当作信仰的人,它就能给你快乐,给你充实,当然也不要忘了现实,虽然现实中总是少不了加班的羁绊,但是如果是真心喜爱编程,又怎么会被这些困难所打败?但是C语言真的不是一门容易精通的语言。