linux 下 C 编程和make的方法 (一、综述:为什么学这些)

一、综述 
    这里回答几个问题。如下: 
    为什么在linux下,为什么针对C,为什么要用make? 
    本文主要针对谁? 
    建议阅读本文的方法? 
    为什么说是弱智版? 
    
为什么在linux下,我的态度是,linux更干净,更“标准”。这两个特点可以保证学习者所投入时间精力所学习到的东西,能保持的更久。经典的虽然不够吸引人,但流行的来也匆匆去也匆匆,留下的除了可以证明自己衰老的记忆,还能有什么呢? 
为什么要用C。 
在没有彻底改变计算机组成原理的情况下(非图灵机模式),我很难想象需要让C语言消失的理由。 
我没见过那个软可编程的硬件平台不支持C。 (FPGA,CPLD算硬可编程) 
从开发的角度,不是所有任务使用C是高效的“实现”(实现本身C未必高效),但从程序的运行效率而言,C实现的模块仍然是最高效的模块。 
C的标准存在多年,逐步稳定,相对其他新兴语言的标准而言,更简单,更容易掌握,当然掌握的质量需要时间来消化。但这个不能成为批评C的理由。例如有些 
高级语言,有垃圾回收器,而C语言一个指针错误可能导致程序崩溃,这不是C不安全,只是其他高级语言欺骗你,“HI,你已经很棒了”。实际你仍然不具备控 制代码逻辑的能力。如果你会骑两轮的自行车,工作中公司在后轮多配两个安全小轮,和你安稳的骑着4个轮子的自行车而自认为很牛,是两个概念。 
为什么要学make. 

话说两头,首先,C的标准约束,任何一个编译动作的对象是文件。当你出现多个C文件时,你就必然会出现组织多个文件协同形成目标程序的事务。没有 make,你一样可以实现目标,写出一个可以运行的程序,或者可以被别的程序使用的模块,但make可以让你更好的工作。准确讲,make只是个工具。方 便于你组织一些比较复杂的工作。并保障你的效率。

其次,工程能力,包括工具能力,组织能力,维护能力等。如果只落到具体IT手段上,编程语言只是工具,make相当于组织,版本控制等相当于维护。 可能你任何一个函数,设计的质量并不比你的同学高明,但是你却可以高明的组织很多质量一般的代码来实现一个你同学不可实现的复杂任务。这点足够你有欲望学 习make。不建议使用IDE,因为他和微软的东西一个特性,类似鸦片的东西,我先让你爽,当你烦躁现状时,让你发现尝试戒除它是很恐怖的事情,随后,你 又安逸的继续“爽”且不会烦躁现状的不足。

本文主要针对谁? 
首先是针对中国人。与其说我是在挑战自己的知识面,不如说我在挑战自己的语言组织能力。我的英语并不好,但也能判断出国内国外的教材的差异度。很多技术前 辈建议大家多看英文原版,是有道理的。不是英文原版就有更多的知识,而是国内的教材的内容组织有问题。我希望我能尽可能有效的利用中文,组织好一些我所理 解的知识,以提高新手学习知识的能力。同时也希望看得懂中文的专家能指出我的错误。至少我保持了一个皮厚的心态,你的指正对我不是打击,相反,我的进步仅 来源于发现我的不足,没有各位专家的指正,我自身也会裹足不前。 
其次,是新学者。新学者很痛苦。因为很多概念,知识之间有交互,最终形成一个知识网,而新学者无论是广度优先,还是深度优先,均会出现时刻迷茫的过程。我希望我对这篇资料的整理,能有效的帮助新学者,达到使用,了解,熟练应用的入门阶段。 
另一个人群,在校的老师。老师传道授业解惑,但信息爆炸,知识泛滥,老师很难聚焦自己的精力于某个面,如果本资料对从师的教学有所帮助,那么资料中所有的案例,文字,均可以免费使用作为教学的一部分内容。 
建议的阅读方法: 
这里,没有一二三,只有一条,实践。如果说两条,就是实践再实践。实践的目的是通过电脑的反馈,记住一些原理性的东西。文字的堆砌对阅读者并没有帮助,实践过程本身,才能留在记忆里,并有效的给予日后你的创新性工作提供素材。 

为什么说是“弱智”版? 
第一,不是给“弱智”人看的。 
第二,讨论的问题并不“弱智”。 

第三,只是讨论的方式手段,比较“弱智”,同时针对一些“弱智提问”本身。


转自:http://my.oschina.net/luckystar/blog/67070

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值