8个程序猿必看冷门小知识

想要成为一名成功的程序员

我们除了了解不同编程语言的设计思路

也应当了解编程的发展历史

从而判断未来的编程技术将走向何方

下面就为大家普及下

计算机发展历程中的8个冷门小知识!

1.

第一台电脑为蒸汽驱动

作为公认的编程之父

Charles Babbage发明了世界上首批计算机之一

他将这台新设备称为分析引擎

其体积超过一栋房屋

由六台蒸汽机驱动并使用打孔卡进行编程

分析引擎有四大主要组成部分:

1.转盘——相当于现代计算机中的CPU;

2.存储——相当于现代计算机中的内存与存储介质;

3.读取器——相当于输入机制

4.打印机——用于实现信息输出

2.

电脑病毒的设计初衷并非是造成损害

史上第一款电脑病毒

竟然是由防御技术专家

Fred Cohen亲手设计出来的

目的仅仅是为了证明程序对电脑感染的可行性

从未希望借此对电脑造成任何危害

但这款程序却能够对电脑进行感染

并且能通过软盘等移动介质

在不同计算机之间进行传播

因而命名为病毒

后来,他又创造出一种主动式电脑病毒

主要目的是帮助电脑用户找到未受感染可执行文件

3.

史上第一位程序员为女性

她的名字是Ada Lovelace

在1843年,翻译了意大利工程师Luigi Menabreaw

撰写的分析引擎文章

她把自己的理解都批注到每篇文章下

而这举动加快了计算机编程技术的发展

在这之后她又设计出了

第一种能够利用分析引擎计算伯努利数的算法

这也是第一个用电脑编写的算法

4.

第一款数字化电脑游戏从未带来任何利润回报

第一个电脑游戏出现于1962年

由麻省理工学院的计算机程序员Steve Russell

与其团队一同编写

这款名为《太空大战》的游戏耗费了他们近200个小时

虽然Russell和他的团队从未在这个游戏所得任何收益

但如果没有这一突破

我们可能永远不会拥有如今蓬勃发展的视频游戏产业

5.

图像处理算法中使用最广的一幅图片来自《花花公子》杂志

40年来

这幅被应用为图像处理方案中的泛用性标准测试素材

还被程序员们亲切称为Lena的图片

但大多数人都不知道

它是来自《花花公子》杂志1972年11月刊的插页

6.

GIT中保证文件完整性的SHA-1值

Linux kernel开创者和Git的开发者——Linus说

Git使用了SHA-1并非是为了安全性

而是为了数据的完整性

它可以保证,在很多年后

你重新checkout某个commit时

一定是它多年前的当时的状态

完全一摸一样,完全值得信任

7.

程序中bug的名称源自“虫子”

这一术语最初由爱迪生在1878年提出的

但当时并没有流行起来

在这的几年之后

美国上将Grace Hopper在她的日志本中

写下了她在Mark II电脑上发现的一项bug

不过实际上,她说的真的是“虫子”问题

因为一只蛾子被困在电脑的继电器中

导致电脑的操作无法正常运行

如图片所见

她写道“这是我在电脑上发现的第一个bug”。

8.

丰富多彩的计算机编程世界

如果将计算机编程世界看作一个国家

那么其中涉及的语言种类必然冠绝群伦

目前已知的编程语言共有698种

远远超过任何以语言多样性著称的国家

原文发布于微信公众号 - 老九学堂(xuetang9)

原文发表时间:2017-11-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

LEVAN:首款全自动视觉概念的机器学习程序

1348
来自专栏企鹅号快讯

机器学习人工学weekly-12/24/2017

1. DeepMind发布2017年的回顾blog,总结今年在多个方面取得的进展,比如AlphaGo Zero,Parallel WaveNet(比最早的Wav...

1785
来自专栏华章科技

经验贴:如何进行大数据入门级学习

虽然题主问的是大数据的入门,但在我看来“大数据”就是数据科学的一个高阶状态。以下内容中除个别情况,我基本上都会使用“数据科学”这个概念。数据科学并没有一个独立的...

791
来自专栏玉树芝兰

如何高效完成本科毕业论文?

(由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。如有需要,请点击文末的“阅读原文”按钮,访问可以正常显示外链的版本。)

793
来自专栏数据科学与人工智能

【数据科学】怎样进行大数据的入门级学习?

数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。但从狭义上来看,我认为数据科学就是解...

26210
来自专栏Keegan小钢

001 | 如何高效学习

就像建一栋大厦一样,需要先打地基,地基打得好,大厦才够稳。在进阶全栈的路上,同样也需要先打好地基,所以我会将基础软技能板块排在专栏提纲的最前面。先帮你们打好基础...

813
来自专栏PPV课数据科学社区

【干货】怎样进行大数据的入门级学习?

数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。但从狭义上来看,我认为数据科学就是解...

2493
来自专栏鸿的学习笔记

The Quora Topic Network(上)

主题在Quora的知识生态系统中扮演着几个关键角色。例如,人们按照主题来表示他们的兴趣,这有助于我们向他们展示他们会发现有价值和吸引力的内容。同时,当人们添加问...

771
来自专栏大数据挖掘DT机器学习

机器学习与数据挖掘网上资源搜罗——良心推荐

作者: 左飞 著有《算法之美——隐匿在数据结构背后的原理(C++版)》 原文 http://blog.csdn.net/baimafujinji/articl...

3488
来自专栏顾宇的研习笔记

[翻译]混沌工程的原则

本文已存放在 https://github.com/wizardbyron/principlesofchaos_zh-cn 上,欢迎来 PR

843

扫码关注云+社区