C语言精神

国际标准化组织与1990年发布了第一个ANSI/ISO C标准

在该委员会制定的指导原则中,最有趣的可能是:保持C的精神。委员会在表达这一精神时列出了一下几点:

信任程序员;

不要妨碍程序员做需要做的事;

保持语言精练简单;

只提供一种方法执行一项操作;

让程序运行更快,即使不能保证其可移植性。

在最后一点上,标准委员会的用意是:作为实现,应该针对目标计算机来定义最合适的特定操作,而不是强加

一个抽象、统一的定义。在学习C语言的过程中,许多方面都反映了这一哲学思想。

时间: 2024-11-05 07:26:35

C语言精神的相关文章

设计模式是什么鬼(解释器)

原文链接:https://www.javazhiyin.com/24976.html 解释,一定是针对某种语言的拆解.释意,并按照文法翻译.转换成另一种表达形式以达到目标能够理解的目的.比如我们都知道Java编程语言是人类可以理解的语言,程序写好后要先进行编译生成字节码(class文件),然后对此文件解释成机器码,最终机器才可以理解并执行,这就是解释器存在的意义. 就拿我们人类的自然语言来举例,比如我们要进行英文翻译工作,首先要对一句话(表达式)进行拆解,而拆开后的单词就成了不可再分的终极表达式

编程的真正奥义在于,把人类的思维、设计、语言、逻辑和精神创造以一种计算机可以识别和储存的方式记录下来。

英文原文:The Case for Slow Programming在电脑前噼里啪啦.弹指挥间的感觉确实很爽,这种键盘上啪啪啪的快感却很容易让人忘记编程是一项脑力活动,而不是体力劳动.编程的真正奥义在于,把人类的思维.设计.语言.逻辑和精神创造以一种计算机可以识别和储存的方式记录下来.我妻子有时会跑到院子里问我,你在编程吗?我说,对,我在编程.事实上我可能正拿着钳子修剪花盆里的花草,或者做做施化肥之类的事情. 植物.土壤.钳子,这些都是编程的好工具,正如键盘.鼠标和双屏幕一样. 目前,我们正在经

如何学好C语言

我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定的时候,发现能力到了瓶颈,既不深,也不扎实,半吊子.比如:你长期地使用Java和.NET ,这些有虚拟机的语言对于开发便利是便利,但是对于程序员来说可能并不太好,原因有两个: 虚拟机屏蔽了操作系统的系统调用,以及很多底层机制. 大量的封装好的类库也屏蔽了很多实现细节. 一段时间后,你会发现你知其然,不知所以然..我以前在CSDN上写过一篇<Java NIO类库Selector机制解析(上,下,续)>,在那篇文章中我说提到过(有讥

Swift 语言的设计错误有哪些?

其实 Swift 1.0 刚出来的时候,我就发现它的 array 可变性设计存在严重的错误.Swift 2.0 修正了这个问题,然而他们的修正方法却没有击中要害,所以导致了其它的问题.这个错误一直延续到今天. Swift 1.0 试图利用 var 和 let 的区别来指定 array 成员的可变性,然而其实 var 和 let 只能指定 array reference 的可变性,而不能指定 array 成员的可变性.举个例子,Swift 1.0 试图实现这样的语义: var shoppingLi

[歪谈]物质激励如果不管用了,不妨试一试精神管理

[申明]本文是“歪谈”风格,仅用于和大家探讨观点,提高大家的思维性.错误之处在所难免,欢迎大家的批评指正. 今天我们简单探讨一个话题:团队的精神管理. 前几天和一些创业者在一起聚会,大家讨论的话题无外乎生意难做.钱难收.创新难.用户口味太难捉摸外,不过类似这些问题似乎都比较容易找到答案或者你和我互相借鉴的方案.譬如: 1.A创业者说钱难收,B创业者说正好认识该客户,他去说道说道,A创业者当即表示只要把尾款结了立马给B创业者提成. B创业者捂着嘴说:不要.不要,太客气了. 接着又问:提成多少捏?!

C语言--第0次作业--林永隆

1.你认为大学的学习生活.同学关系.师生应该是怎样? 学习生活:我认为大学的学习生活应该是充实而不繁重,紧凑而不匆忙的.只要每天坚持完成好每天的学习任务就能有效率的掌握相关的专业知识.当然,如果遇到一些比较困难的问题,还是需要有牺牲一点休息时间的钻研精神,才能有所进步.所谓:不积跬步无以至千里,不积小流无以成江河.只要循序渐进的做好每天的事,一定会从量变达到质变.    同学关系:我认为其实大学的同学其实和高中的同学的关系是没什么本质上的区别的.只要就是学习上互相督促和帮助:生活上互相照顾和包容

AppCan如何用“工匠精神”打造中国移动技术的领导品牌

今年,"工匠精神"第一次被写入政府工作报告,而对于AppCan,"工匠精神"并不陌生.创立6年,AppCan始终是近乎低调的深研技术,自主研发出面向移动端的Hybrid混合开发技术,精心打磨产品,为技术人提供极致开发体验,是AppCan一直推崇和坚守的工匠精神. 中国第一个吃螃蟹的人,专注移动开发技术六年 2008年前后,Andriod.iOS.塞班等操作系统竞相角逐,王国春凭借敏锐的市场战略眼光,开始着手于研发跨平台的移动应用开发系统.王国春回忆道,"除

A*算法详解 BZOJ 1085骑士精神

转载1:A*算法入门 http://www.cppblog.com/mythit/archive/2009/04/19/80492.aspx 在看下面这篇文章之前,先介绍几个理论知识,有助于理解A*算法. 启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标.这样可以省略大量无畏的搜索路径,提到了效率.在启发式搜索中,对位置的估价是十分重要的.采用了不同的估价可以有不同的效果. 估价函数:从当前节点移动到目标节点的预估费用:这个估计

动手打造自己的跨语言异构模块通信解决方案

目前主流的跨语言异构模块通信方案有很多种,比如: 1.跨语言的RPC调用(Apache Thrift):它是Facebook贡献给Apache基金会的开源项目,旨在构建跨语言平台的通信方案.目前它支持非常多种语言,其中当然包括C/C++和Java.Thrift内置一个语言编译器,可以根据Thrift的语法规范,编译生成指定语言的RPC调用模块,功能也是非常的强大.Thrift的语法规范里面定义了数据类型.数据模块结构,有点类似WebService里面的WSDL文件.通过Thrift,我们就可以实