之前因为一些原因,意识到自己虽然学习某门编程语言一段时间了,但是却只停留在一个初级的阶段,没有项目开发的经验,没有一个软件开发的概念。在我脑海里,有的只是在命令提提示符下运行的程序。

    在意识到这个问题之后,我开始积极的寻找关于C语言项目开发的资料以及书籍(之前一直在了解Windows SDK编程),还有就是通过阅读别人的回复来加深自己对C项目开发的概念。那时无非纠结于C语言能用来干什么,它的优势在哪?我是否在原有的基础上继续C语言的学习。

    从4/29到现在5/8,逐渐对C语言开发有了一个初步概念,也想在此来进行的分享。


1、C语言能用来干什么

  • 假如在Windows平台下,比较强大莫过于使用Windows SDK来写一些程序了,SDK也是C语言进行项目开发的一个不错方向!一开始接触的项目,通过视频来学习项目开发的思想以及过程。其实与其说是项目,不如说是怎样为自己命令行的程序披上一层衣裳,使其在易用性上得到提高。

    不过在实际开发的过程中,通过怎样编程响应控件的消息,了解系统在初始化对话框的时候我们需要做些什么,以及怎样利用资源等等。其中的收获是不言而喻,通过SDK编程可以更好地了解Windows系统的消息机制,这样也很符合C语言的特点,对系统的底层有很好的操控能力。


    同时在初期使用对话框程序框架的时候,会发现它有很多的局限性!因为会有一种动手写属于自己的程序框架的想法,这不就是C语言又一特点“灵活性”,体现在自己编写符合自己需求的函数。而不是过多依赖于标准库

  • 假如在linux平台下,依靠的便是标准库的函数。依靠强大的编译器以及对标准库高度兼容!可以写出很多很强大的程序。有机会一定要读一下Linux内核的源码


2、优势这个,给出在项目开发的一些感受

【1】一个是对可以对位,内存,栈进行操作,也就是以为着你有更大自由,自由意味着“风险与创造”

【2】在调试的时候,我们可以监测到内存对应的数据,这对于我们理解一个程序的运行以及增强调试能力都是莫大的增益

【3】对于变量的生存时间以及作用域的了解会加深

【4】对于一个函数的处理往往可以根据返回值,输入参数,容错处理这几个点来定性分析。

【5】也就说假如你不是往系统底层方向走的话,那么在了解怎样用C来写一些小项目之后你可以学着看其它的编程语言


3、对于最后一个,其实是最难回答的,除非你清楚你想要做什么

  • 处在本科阶段的学生,在校接受的编程学习达到只是一个引导的目的。它在告诉你,有些重复事其实是可以通过一些巧妙的方法处理,就比如交给计算机。而我们需要做的是明白我们想要计算机做哪些事!

  • 因为与其问是否继续在原有的基础上学习,不如问我想开发什么功能的程序,有需求出发,结合语言的优势,才能逐渐明白编程的意义在于解决问题,而不是其它!一种近乎单纯的目的!

  • 下次可能会分享一下Python和C之间的各自之间的优缺点。记得关注哟!

原文地址:========》》Click