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

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

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

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

这事儿还得从 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》

(广告)

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章