第一篇博客——编码规范与《数学之美》
一、编码规范———华为C&C++语言安全编程规范:(基于此课程的部分总结)
1、变量声明应该赋予初值
2、谨慎使用全局变量
3、禁用功能复杂、易用错的函数
4、不要改变操作系统的运行环境(创建临时文件、修改环境变量、创建进程等)
5、严格的错误处理
6、小心处理资源访问过程
7、合理使用调试断言(ASSERT)
二、《数学之美》———文字和语言 vs 数字和信息
1、信息
早期的人类就开始使用和传递信息(发出某些声音)了,这些信息的产生、传播、接受和反馈与今天的通信在原理上完全相同。随着要表达的信息越来越多,语言就此产生。
2、文字和数字
文字满足了人们高效记录信息的需求,且人们依靠上下文来弄清一个多义字在特定情况下的含义,人们的注释工作就是消除歧义性。由罗塞塔石碑的破译,我们得到两点指导意义:信息的冗余是信息安全的保障;语料(语言的数据)是我们从事机器翻译研究的基础。
需要记录的物件超过三时,计数系统产生了,数字是计数系统的基础。早期数字和文字一样,只是承载信息的工具,不具有任何抽象的含义。进位制的产生,标志着人类开始对数量进行【编码】(中国人和罗马人用单位表示数字的不同量级;罗马人用I表示1,V代表5...)——用不同符号代表不同的数字概念;分别制定了解码规则。阿拉伯数字标志着数字和文字的分离。
3、文字和语言背后的数字
从象形文字到拼音文字(古巴比伦楔形文字)的转变,体现了人类描述物体方式由物体外表到抽象的转变,同时采用了对信息的编码。祖先对文字的编码非常合理(常用字短,生僻字长),符合信息论中的最短编码原理。从字母到词的构词法是词的编码规则,语法是语言的编码和解码规则。前者(词)是有限而且封闭的集合,所以有完备的编解码规则;后者(语言)是无限和开放的集合,任何语言都有语法规则覆盖不到的地方——在语言学研究方法中,语言对,而不是语法对。
浙公网安备 33010602011771号