c语言初学疑惑

谢邀。这个问题我回答不专业。可以邀请一下@钢的琴先生,如果他有时间的话!哦!对了,直接看他个人资料有统一回复。。。
■网友
谢邀,也谢谢@zewei liu 替我打广告。我只能讲我个人经历,题主参考吧*初学者阶段。语法基本掌握,按照书上习题做过几个简单的小程序。我大概用了3个月时间。*入门阶段。能独立用c写成一个相对完整的小型非商用项目。比如文本浏览器。重点是可以独立完成,可以参考文档,但代码基本是自己想的。大概也用了3个月*普通程序员阶段。参与过商业项目的少数几个模块的维护和开发。程序开发很少出现低级的bug,代码能做到有条理。我用了差不多2年时间*高级程序员阶段。能够独立完成中小型商业项目的设计和开发。模块划分合理,代码有条理且一致性好,极少出现低级bug,有一点设计方法论基础。我用了差不多3年。*系统工程师阶段。能主持大型项目设计开发。这个阶段基本不会再做大量编码工作了,主攻的是设计,以及重点问题的攻关。虽然已经编程20年了,我觉得我现在仍然处于这个阶段。我确信自己可以把普通的大型项目做出来,但做的有多优秀,还是不敢保证。*更高的阶段?我想应该是有,就是通过大量项目经验总结发明方法论的那些大牛。比如kent back。无论多棘手的项目都能有条不紊的做出来,而且保持很高的质量。能做到这样,我觉得已经是软件工程领域的极限了。以上。
■网友
C语言语法学了就可以去学面向对象语言了。 写个通讯录并没有什么用,很low。 C要学好,数据结构与算法,计组,操作系统,编译原理这些你总要懂吧。做嵌入式开发,linux,arm和单片机你要懂吧。
■网友
语言是对机器的抽象.
【c语言初学疑惑】 硬件提供什么功能,用一套符号定义出来,就是C语言.
抽象不可避免地会忽略(丢失)一些细节.C语言在尽可能保持与机器域的映射关系 和 对人类程序员友好 这两点上找到了一个平衡点.
所以一方面程序员要懂得底层在做什么,可以不求甚解但一定要知其大略.
另一方面要理解业务,比如你说的 通讯录.
面对业务,你必须用语言表达出业务规则,当然表达方法不止一种.面对计算机,你要选择一种对机器来说最有效的表达方式.
要表达业务你必须熟悉语言,包括形式上的规则和定义,而语言的本质又是对底层功能的抽象,所以归根结底你要懂得计算机组成结构,工作原理.境界什么的终究是内在的.
Java是更抽象的语言,屏蔽了更多细节,所以你让一个Java程序员换写C,他很有可能会手足无措.


    推荐阅读