当前位置: 首页 > 科技 > 人工智能 > 人类第一个可编程的产品,居然是1801年的一台织布机!_腾

人类第一个可编程的产品,居然是1801年的一台织布机!_腾

天乐
2020-03-28 12:06:22 第一视角

估计老差友们都知道,“ 纸带 ” 这个词儿在差评不是什么褒义词。

做新媒体,最重要的是啥?当然是消息灵通啊!只有能拿出一手消息的人才会赢得大家的尊重,这是心照不宣的对局。被大家冠以“ 纸带 ” 的人,在差评是没有地位的。

可能这时候,有些差友会奇怪,为啥 “ 纸带 ” 成了我们评价一个人是不是消息闭塞的代名词了呢?

这事儿还得从 1801 年说起。。。

那时候工业革命初兴,机器浪潮席卷欧洲大陆,人们总是在想办法让生产效率提高。

为了能让纺织机器能够自动编制出复杂花纹的图案,法国发明家Joseph-Marie Jacquard 在 1799 年发明出了雅卡尔织布机,这种机器能通过判断卡片上是否有孔洞来操纵线团的高低位置。

只要根据图案设计好每条线的走线,做好对应的打孔,纸卡连成长条,形成连续指令,便能不用人工调整不同颜色的线团的走线了。

此机器一经推出,立刻风靡欧洲,极大提高了生产力水平。可以说,它是人类最早的可编程系统。

再之后,纸带再次大放光彩,就是有电子计算机之后的事情了。

大家都知道,计算机运行时使用的是二进制。纸带上如果有孔,可以对应二进制的 1,若没有孔,则对应二进制的 0。

所以,人们把编写好的程序制作成相应的纸带,通过读纸带机来将相应的 0|1 码传达给计算机,这样计算机就能知道我们的指令是啥了。

然而,这种打孔纸带实在是效率太低了。20 世纪 50 年代,美国制造了最先进的空军 SAGE 防空系统,雇佣了当时美国一半多的程序猿,用62500 卷穿孔纸带写了 5M 的数据,花费了将近 10 年时间才完善。

所以,在我们差评,“ 纸带 ” 妥妥是滞后的代名词。

好在,后来 ACSII 码出现了,人们终于可以用 0|1 来代表英文字母和数字。工程师们给当时出现的小型计算机加上了 “ 电传打印机 ”,只需要用键盘敲击指令,计算机就会把相应的结果打印出来,人们终于摆脱了打孔纸带。

有了 “ 电传打印机 ” 之后,人类才在编程的道路上开始发足狂奔。

1964 年,Dartmouth BASIC ( BASIC 语言的前身)成为第一个拥有 IDE 的编程语言。

IDE 的中文是 “ 集成开发环境 ”,可以理解为一种方便程序员进行开发的工具集合。

Dartmouth BASIC 的 IDE 非常简单,程序员输入一段指令,电脑就会返回相应的结果,它可是现在命令行编辑器的鼻祖。

这个 IDE 集成了编辑、文件管理、编译、调试、运行等功能,让人们开发效率迅速增加。

后来,因为屏幕的出现,开发程序的环境有了一点人机交互的样子。。。

再后来,图形化界面开始兴起,高级编程语言兴起,IDE 也在创新发展,这些都让编程的门槛一再降低。

1998 年微软公司开发了真正的程序员必备利器 —— “ Microsoft Visual C++ 6.0 ” 。

提起 VC++6.0,估计不少人要会心一笑了。大学时期的 C 语言设计,多少人第一次在屏幕敲打下 “ Hello World! ”,从此走上了程序开发强(tu)者(tou)之路。

此时的 IDE 已经可以支持编译多种程序语言,通过插件可以实时查看变量的数值。

后来,各种各样的 IDE 推陈出新,支持的功能也越来越多:关键字高亮、自动补全、代码框架生成、版本控制、甚至是自动重构等等,程序员的工作效率和便捷度像乘了火箭一样上升。

但是,功能越多,IDE 也就更繁杂。越来越臃肿的 IDE 却没有讨好程序员,高阶程序员们甚至宁愿在 Linux 的编辑器里用最简单的 vim 编程。

后来微软推出了 VS Code,轻量化,按需装插件,才终于挽回了颓势。

最近两年在开发界,提的多的就是 “ 上云 ”,服务器部署云端,数据存储在云端,于是,大家就在试探,是不是开发也能在云端完成呢?

不懂的差友不要误解,这里的 “ 云 ” 并不是指在天上,而是 “ 远程 ” 的意思。就像有的人会将文件保存在本地电脑,有的人会将文件备份到网上 —— 这个就叫 “ 云端备份 ”。

以前人们开发程序必须要在一台性能比较好的电脑上,所以大家应该会经常看到程序员去哪儿都要背着一个电脑,这就是 “ 本地开发 ”。

而 “ 云端开发 ” 则可以让人们摆脱对电脑的硬性需求,程序在云上,开发环境也在云上,你只要一个能连上网络的屏幕就可以了。

华为云今天在华为开发者大会 2020(Cloud)上介绍的 CloudIDE 就是这么一个工具,你可以随时随地,用任何终端(电脑、手机、平板、甚至某些电视 )都可以查看编写代码。。。

虽然 CloudIDE 部署在云端,但它使用起来该有的功能一个不少(自动补全、版本控制等),同样,其他定制化需求可以通过插件来解决。

而且,如果你使用 CloudIDE 来开发代码,它还会贴心为你准备各种模板,不仅有主流的各种编程语言,还包括小众的量子计算开发和区块链开发。

而且,使用CloudIDE 开发,可以根据自己的需求来决定云端性能。最厉害的是它还支持在华为的鲲鹏架构下进行开发。。。

据统计,现在世界上的云端算力由 ARM 构架提供的占比已经超过了 80%,而鲲鹏正是基于 ARM 来运作的。

以前程序员经常会遇到在 X86 平台上编译 ARM 程序的情况,总是出现各种各样的问题。如果用 CloudIDE 的话,用鲲鹏的 ARM 环境编译 ARM 程序,问题将迎刃而解。

而且,CloudIDE 还提供了一键验证的功能,直接将实例对接云端资源,瞬时搭起整个服务框架,在容器中随意调试,是一个真正面向未来开发的工具。

在今天华为开发者大会 2020(Cloud)上,华为 DevCloud 研发技术总监王亚伟现场给大家演示,在 CloudIDE 上用 10 分钟进行一个小游戏的开发与验证,编程时自动生成框架,强大毫无迟滞的自动联想,都让编程事半功倍。

从 GitHub 上直接拉代码仓▼

自动联想▼

如果差友们还是不过瘾,还可以到华为开发者大会 2020(Cloud)的 Codelabs 上去瞅瞅,那里有各种示例公开给大家。

有利用华为云一站式 AI 开发与管理平台 ModelArts 智能识别手势的例子,也有将 X86 代码迁移到鲲鹏平台的示范。。。

无论是你想尝试大数据的魅力,还是想体验 loT 的魅力,都可以在 Codelabs 找到相应的项目。

大家可以通过 CloudIDE 来看相应的代码,直接看解题思路,也可以自己试着动手修修改改,享受开发的乐趣。

像我就比较好奇之前 CloudIDE 中的量子计算,在 Codelabs 里就正好有相应的编程教程和详细代码,于是。。。

满足好奇心了▼

假如你是个学生或者开发者,没准儿会有大收获。只可惜,明天是 Codelabs 华为开发者畅玩周免费开放的最后一天,想尝试的人一定不要错过这个机会!

不过还是有个好消息的,华为云公布,如果开发者使用 CloudIDE ,并选用鲲鹏平台的话,整个 2020 年都将免费使用。

现在一条龙服务都准备好了,感兴趣的差友们赶紧戳“ 阅读原文 ”去体验一下吧。

图片、资料来源:

wikipdia,Dartmouth BASIC、Command-line interface

《Crash Course Computer Science》

(广告)

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部