Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >每行字符数(CPL)的起源

每行字符数(CPL)的起源

作者头像
ruanyf
发布于 2018-04-12 09:27:10
发布于 2018-04-12 09:27:10
1.2K0
举报

前几天,我收到网友小龙的Email。

他想与我讨论一个问题:

"各种计算机语言的编码风格,有的建议源码每行的字符数(characters per line)不超过72个,还有的建议不超过80个,这是为什么?区别在哪里?怎么来的?"

我一下子就被问住了。

命令行状态下,终端窗口的显示宽度,默认是80个字符,这个我早就知道,但是并不清楚原因;至于72个字符,更是从未注意过。

幸好,世界上还有Wikipedia,我在里面找到了答案

每行72个字符的限制,来源于打字机。上图是20世纪60年代初,非常流行的IBM公司生产的Selectric电动打字机。

当时,美国最通用的信笺大小是8.5英寸x11英寸(215.9 mm × 279.4 mm),叫做US Letter。打字的时候,左右两边至少要留出1英寸的页边距,因此每行的长度实际为6英寸。打字机使用等宽字体(monospaced)的情况下,每英寸可以打12个字符,就相当于一行72个字符。

早期,源码必须用打字机打出来阅读,所以有些语言就规定,每行不得超过72个字符。直到今天,RFC文档依然采用这个规定,因为它从诞生起就采用打字稿的形式。

20世纪70年代,显示器出现了。它的主要用途之一,是将打孔卡(punched card)的输入显示出来。当时,最流行的打孔卡是IBM公司生产的80栏打孔卡,每栏为一个字符,80栏就是80个字符。

上图是一张Fortran语言的源码填写单,一共有80栏,程序员在每一栏选择想要输入的字符,最多为80个字符。

然后,用机器自动生成打孔卡,在每栏选定的位置打一个孔。

计算机读取打孔卡以后,把每个孔转换为相应的字符。如果显示器每行显示80个字符,就正好与打孔卡一一对应,终端窗口的每行字符数(CPL)就这样确定下来了。

(完)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011年10月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据存储(1):从数据存储看人类文明-数据存储器发展历程
传统的考古学家和历史学家认为,楔形文字起源于美索不达米亚特殊的渔猎生活方式。这是较为通行的看法,西方的各种百科全书大都持这一观点。约在公元前3400年左右,楔形文字雏形产生,多为图像。到公元前 500 年左右, 这种文字甚至成了西亚大部分地区通用的商业交往媒介。楔形文字一直被使用到公元元年前后,使用情景如同现今的拉丁文。
周陆军
2020/07/27
1.4K0
1979年的电子打字机
上周五,《大西洋》月刊的记者James Fallows,在Blog上回忆28年前(1982年)的一篇旧文。 那个时候,他刚入行不久,每周有大量的写稿任务,天天都是在打字机旁度过。 这种生活让他痛苦不堪,因为打字机实在太不方便了。如果他写一篇6000个单词的长篇报道,用A4纸印刷出来需要8页,但是用双倍行距在打字机上打出来,需要100页!其中任何一个单词打错了,整页都要重新打。他的文章通常需要修改5遍以上,并且最终定稿时需要多个副本。因此,打字工作量可想而知。 此时,James Fallows想起了,他在杂志
ruanyf
2018/04/19
8170
1979年的电子打字机
【香菇带你学数据库番外篇】1978年前国外数据库发展和中国数据存储启蒙
这些突破为中国后续的数据存储技术发展奠定了坚实的基础,并在1978年以后继续推动了中国在数据存储领域的进步。
炒香菇的书呆子
2024/07/29
340
世界算力简史(上)
1946年2月14日,在美国宾夕法尼亚州东南部的费城,人们正在像以往一样正常工作和生活。
鲜枣课堂
2023/08/21
3490
世界算力简史(上)
沃森和特朗普:一家伟大美国企业的兴与衰
---- 新智元编译 来源:cacm.acm.org 作者:Thomas Haigh 编译:Shawn、May 【新智元导读】Thomas Haigh是威斯康星大学密尔沃基分校历史系副教授,主要关注信息技术史以及商业史。最近,经常有关于美国之伟大、美国为何不再伟大以及如何让美国再次伟大的讨论,但是伟大这件事十分复杂,我们对伟大的定义已经随着时间发生了改变。在本文中,Thomas Haigh将从IBM的历史中寻找答案,探讨这家伟大的美国企业的兴与衰。 数十年以来,IBM一直都是世界上最大、最赚钱、最受
新智元
2018/05/29
7220
算力简史(完整版)
引言:今天这篇文章,我将给大家详细介绍一下人类算力的演进过程。这是一段波澜壮阔的历史,值得我们驻足与回忆。
鲜枣课堂
2023/11/17
5410
算力简史(完整版)
存储技术发展史
信息是人类认知外界的方式,最初的信息都会对应到现实世界的一个客体或者相关描述。人类是通过不断增加、完善信息来接触、认知并改变世界的。
存储小白
2021/10/28
1.1K0
[oeasy]python0125_汉字打印机_点阵式打字机_汉字字形码
汉字字形码 回忆上次内容 IBM 将 ASCII 扩展之后 规定了 一个字节的字符集并制作了 相应的字形库​添加图片注释,不超过 140 字(可选)这种显示模式和字符大小之下 中文该如何进入计算机世界呢?🤔从打印机开始 原来的打印头 字型定死​添加图片注释,不超过 140 字(可选)中文印刷 落后于英文中文打字机 就是一个梦中文打字机 ​添加图片注释,不超过 140 字(可选) 中文打字员 ​添加图片注释,不超过 140 字(可选) 针式打印机 通过字库数据来驱动针头​添加图片注
oeasy
2023/04/04
6580
[oeasy]python0125_汉字打印机_点阵式打字机_汉字字形码
存储技术发展史:从磁带到硬件液化
信息是人类认知外界的方式,最初的信息都会对应到现实世界的一个客体或者相关描述。人类是通过不断增加、完善信息来接触、认知并改变世界的。
存储小白
2022/01/06
5780
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
编码进化 回忆上次内容 上次 研究了 视频终端的 演化 从VT05 到 VT100 从 黑底绿字 到 RGB 24位真彩色 形成了 VT100选项 从而 将颜色 数字化 了 生活中我们更常用
oeasy
2023/02/14
3330
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
她是世界第一台个人计算机的创造者,84 岁生日快乐!
2021年 9 月 25 日是 Mary Allen Wilkes 的84 生日,她以LINC 项目闻名,被认为是世界上第一台个人计算机的发明者。
新智元
2021/10/12
7930
[资源分享]计算机科学速成课
推荐 程序员的你一定要看,不是程序员的也可以看看,我已经安利刚中考完的我妹妹看了(培养程序媛...)
爬虫
2018/07/25
9640
[资源分享]计算机科学速成课
100年前的Kindle阅读机长啥样?
早在电子阅读器出现前,人们就早想给书压缩成更方便携带的形式了,毕竟书多的人都知道搬家有多痛苦。
大数据文摘
2020/08/03
5600
从算盘到云计算:计算机发展的壮丽历程
在计算机发展史上,早期的计算器起到了重要的作用。而其中最早的计算器便是算盘。算盘是古代中国人使用的一种计算工具,它由一根木棍和一些珠子组成。通过将珠子在木棍上移动,人们可以进行简单的加减乘除运算。虽然算盘的计算速度较慢,但它的使用简单易懂,成为了古代计算的主要工具。
努力的小雨
2023/11/30
6410
重学计算机组成原理(4)-还记得纸带编程吗?
以前写程序用“打孔卡(Punched Card),没法像今天,掏出键盘就能打字,而是要先在脑海/纸写出程序,然后在纸带/卡片上打洞。这样,要写的程序、要处理的数据,就变成一条条纸带或者一张张卡片,之后再交给当时的计算机去处理。
JavaEdge
2022/11/30
6910
重学计算机组成原理(4)-还记得纸带编程吗?
基于Ceph对象存储构建实践
直接附加存储(Directed Attached Storage,DAS)作为一种最简单的外接存储方式,通过数据线直接连接在各种服务器或客户端扩展接口上。它本身是硬件的堆叠,不带有任何存储操作系统,因而也不能独立于服务器对外提供存储服务。DAS常见的形式是外置磁盘阵列,通常的配置就是RAID控制器+一堆磁盘。DAS安装方便、成本较低的特性使其特别适合于对存储容量要求不高、服务器数量较少的中小型数据中心。
宜信技术学院
2020/05/22
1.1K0
基于Ceph对象存储构建实践
重学计算机组成原理(四)- 玩玩纸带编程
当年写程序,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)”
JavaEdge
2019/08/13
1.4K0
重学计算机组成原理(四)- 玩玩纸带编程
【全网首发】存储技术的前世今生(上篇)
微观上来说,它就是指的数据存储、计算机存储、硬盘存储。而宏观上呢,所有物品、信息的保管和保存,皆可称为存储。
鲜枣课堂
2022/10/05
6290
【全网首发】存储技术的前世今生(上篇)
Hacker曾经知晓的那些事
笔者想到现在年轻的Hacker们对ASCII表和那些奇怪的控制字符越来越陌生,不禁感慨万千。 这些知识原本是年轻Hacker们初出茅庐的第一课。然而世事变迁无常,转眼间这些硬件终端都已经被淘汰,RS-232协议也即将寿终正寝。工具产生文化;当工具过时之后,一些文化共性也随之烟消云散,而我们很难察觉到。 这篇文章是笔者收集的一些关于ASCII以及相关技术的介绍,特别是硬件串口终端、RS-232和调制解调器等技术。昔日,这是些人尽皆知的概念,而如今知者甚少。现在已经很少有人直接使用这些技术了,只有在老古董设备中
CSDN技术头条
2018/02/12
1.1K0
Hacker曾经知晓的那些事
计算机科学概论复习笔记(1)
前面的分层都属于内部层,重点在于使计算机系统运转,而应用层的重点则是用计算机解决真实世界的问题。
灯珑LoGin
2022/10/31
5060
计算机科学概论复习笔记(1)
推荐阅读
相关推荐
数据存储(1):从数据存储看人类文明-数据存储器发展历程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文