概述
这是一篇关于文字的历史以及文字在程序员开发工作中应用的非正经介绍
好了装逼开始, 文章有点长(啰嗦), 第一次装, 有点紧张,大家理解下(爱看不看)
文字的历史
在人类文明早期文字就已经出现, 早期的文字不像现在人类使用的文字这么标准规范;最早的文字大都是一些象形图案,这些图案描述某些事物或者某种生产活动, 随着时间的推移之前图案慢慢简化成了一些原始的象形符号,这种符号就是早期的象形文字, 比如埃及象形文字, 中国的甲骨文;
上图是中外文字的演变历史, 中国文字历经商朝甲骨文,周朝和春秋的金文,战国大篆,秦朝小篆,汉朝隶书等演变为现在的方块汉字. 欧洲的希腊文, 拉丁文, 英文等都可向上溯源到腓尼基文字, 而其他印欧文字的演变也都受楔形文字和腓尼基文字影响.
文字的结构演变
一般说到文字,就不得不提及语言,文字是语言书面记载形式的表现, 而且语言先于文字发的发生, 语言的主要功能是人类之间可以用嘴发出声音进行交流, 然而语言出现的时候人类无法记录声音, 只能口口相传, 如果想长久的记录某个事件或者活动, 人类没有办法靠语言来保证记录的长久性, 口口相传能起到传播作用和记录作用, 但是在传播的过程中信息肯定越来越失真, 而且没有办法保证长久, 人类的记忆持续时间太短, 而且人类肉身持续的时间的也不长,所以基于人类希望记录的冲动(来都来了, 总得留下来一点不一样的东西给后来的人看看我屌不屌).
人类迫切需要一种能长久记录生产和生活活动的东西, 于是全球人类开始头脑风暴, 3w年前他们就开始在自己居住的洞窟大别野画画了,记录他们生活情况(我和我的家人到此一游) , 随着慢慢的实践,人类发现使用画画进行记录这个技能难度太高了, 而大家都有想去记录的欲望, 可能有人想写首诗, 可能有人想写篇日记等等, 但是画画这个技能无法满足大多数人的需求, 于是乎有人鼓捣出来一批简化符:象形文字, 于是大家发现这个东西好,比画画好学易用, 纷纷开始进行文艺创作, 他们在石头上刻写:这个人死了, 在龟壳上记录:老夫昨夜观星象,今天有大风.人们因为象形文字的出现高兴了好大一阵子, 但是他们没有解决一个重要的问题, 那就是象形文字的发音, 但是这并不影响大家的使用象形文字热情, 纷纷夸赞象形文字: 猴赛雷, 好厉害, 死阔以......
但是总有人会看到问题而且闲不住, 腓尼基人说我们要改变这个世界, 出于他们要与地中海周边国家经商的交流(讲价还价)的需要, 他们发明了一种文字, 史称腓尼基文字, 这种文字由22个基础符号(现在的26个英文字母就是由这个演变过来的)组成. 腓尼基文字除了有字形外而且每个字母都对应人类嘴巴能发出声音(额,哦,啊啊啊啊啊啊啊,就是这个感觉,好棒), 然后他们就能根据自己语言的发音进行组词了, 非常方便有么有, 画画是不可能画画的, 我要去田野歌唱, 去菜市场和卖菜大妈进行辩论赛, 晚上我还要把歌词记下来, 还有今天买菜省下了5毛钱, 再省出来100w, 我就能买套房了,真是幸福的一天.
汉字的历史
中国的汉字最早可以追溯到商代的甲骨文, 属于象形文字的一种, 当然我们的老祖先在甲骨文象形文字之前也有用图案进行记录的习惯, 现址甘肃沿黄河流域到河南的仰韶文化和现址浙江余姚河姆渡文化中的陶器上的鱼纹,人面,猪等图案.
汉字的演变:商朝在占卜用的龟甲和兽骨上纹刻的甲骨文,西周到东周的春秋时代在青铜器具镌刻的金文,东周的战国时代凿刻在石头上的石鼓文,西周的春秋战国,秦朝,西东汉,三国,魏晋普遍使用篆体和隶书在竹简和缣帛,纸上用笔和墨进行书写记录,蔡伦的造纸术开始于东汉, 后来的隋,唐,宋,元,明,清以及现在都普遍使用纸和笔进行书写.
随着时间和实践应用汉字也变的越来越规范和标准, 上个世纪60年代周有光老前辈给汉字添加了简单易学的拼音系统辅助汉字的发音,有助于大家口语交流中统一发音讲出piao准的普通话方便沟通.现在普遍使用的简体字, 也是发展了很长一段时间, 从太平天国时期一直持续到现在. 汉字的简化以及拼音系统的添加方便了人们的学习和交流, 扩大了认字读书人群的数量, 提高了国民的文化水平, 中国人走出国门也能更好传播和宣扬自己的祖国文化.
对了原来的汉字书写的文章是很少有统一的标点符号的,标点符号也是清末以后从西方引进来的, 标点符号也方便了读者的阅读和作者的创作,不然一篇没有标点符号的文章, 我估计作者写完后, 他自己都看不下去.还有汉字是现在全球使用人数最多的简化象形文字, 不过在甲金文时期汉字一个字描述就详细描述了一件事物或者活动, 但是现在的汉字已经失去了这种效果, 受西方的语言系统和现代教育以用为先的影响, 汉字这部分以形载义的功能越来越弱化, 反而以用为先的以音语义白话功能增强. 不过这也无可厚非, 语言本来就是用来交流的, 用的人越多, 碰撞出思想的火花的机会才会越多.
题外话,现在文字和语言的创新速度和应用的速度因为信息技术的变革, 出现了各种让人意向不到的文字创新, 初期的╰啡主瑬魡火曐文灬, 段子手的梗话, 以及现在老少皆宜的斗图包
计算机语言
世界上有很多中不同类型语言, 手语, 口语, 逻辑系统的数学符号语言, 计算机语言. 当然计算机语言也分很多种, 朋友曾经吹牛要用10键盘写一个操作系统的机器语言, 汇编语言(寄存器,寄存器......), 七天可以学会的高级编程语言,
开发中的文本
好了,终于到了标题, 本文完.
...
...
...
骗你们的, 没有完, 上面铺(啰)垫(嗦)一大堆, 终于到了今天的主角登场了
文本无时不刻出现在我们的程序员的工作中,需求里,代码里,注释里,日志里,bug里,测试报告里,哩哩哩......
是不是感觉很烦,全是字,真够了,心里此时是不是在想我要看jpg,我要看gif,我要看avi......
冷静,冷静, 都说书中自有黄金屋,书中自有颜如玉, 文字用的好, 老婆娶的早, 为了正义还是委屈一下吧
实际的开发中文本的用处很多例如:
1. coding代码
给类们,方法们,变量们,表们,起个好名字, 这个大家肯定都懂, 就不多说sh*t
2. 代码注释
这个得看自觉和需要了, 我们在需要时总是抱怨前人,我们不做却没有考虑过后人, 也许这就是命了吧
3. 日志打印
这个用处多多, bug排查打印关键的信息定位bug原因; 阅读别人代码看不懂时打印下输入输出也许就很容易理解了;线上未知错误捕捉后打印可以有效记录现场信息, 为后续修正错误提供了很多方便;
4. 和文本相关的工具
- 搜索引擎
baidu,google 这个太有用了, 一定要培养自己解决不了的非紧急问题时可以先问下搜索引擎,然后是身边的人, 一定要有这个意识; - 文本编辑和查看工具
notepad++,vscode,vim,tail,less,grep,sed,这些工具很常用, 在日常开发时做一些简单的相似代码生成和文本简单的预处理, 这个时候文本编辑器就能很轻松的胜任,当然还有一些令人匪夷所思的不可见字符总是会干扰我们的代码逻辑, 这个时候把文本放到编辑器里面,然后就真相了;还有文本查看工具在我们对日志进行查看和提取时能很效的帮助我们. - 正则表达式
这个太实用了,建议必学,无论是代码中的文本格式校验,还是日志中的固定格式文本的查找,还是做文本匹配替换, 我在工作中经常用正则生成一些简单的代码, 还有提取文本中固定格式的信息;这个工具在我做体力活时帮我节约了不少时间.以后会写一篇关于正则表达式的文章. - 关于文本的其他基础知识
字符集:acsii,gb2312,unicode, 字符集描述的是包含文字符号范围, 但是早期的字符处理系统直接把字符集和编码工作耦合到一块了,例如ascii和gb2312, 后期出现的unicode解决了这个耦合问题,把字符范围和编码工作分开处理.
字符编码:就是把字符映射为可存储字节的规则,怎么合理怎么来, 要看场景了, 例如utf-8,utf16就是unicode字符集下的不同的编码格式.
字体:字体显示的样子, 例如黑体,加粗,方正体等等如此.
总结
总结就是没有总结,看完就忘了吧
一些外部资源:
http://vividict.com/Default.aspx
象形文字搜索,介绍汉字的演变历史, 对于喜欢文字历史的童鞋, 你们福音
http://www.sohu.com/a/295980579_670627
关于周有光先生的拼音介绍
https://baike.baidu.com/item/%E7%AE%80%E5%8C%96%E5%AD%97/585127?fromtitle=%E7%AE%80%E4%BD%93%E5%AD%97&fromid=1051578&fr=aladdin
关于简体字的介绍,百度就是不一样,地址长的很