2KB项目,专业的源码交易网站 帮助 收藏 每日签到

编程的未来

  • 时间:2019-01-23 18:41 编辑:2KB 来源:2KB.COM 阅读:326
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:The
英文原文:The future of programming 编程正在变化着。PC时代即将结束,软件开发者现在使用每天都更新换代的设备及工作方法,遇到与这单机时代不同的问题。在信息爆炸的时代,具备一些编程的能力是对每样工作越来越重要,编程不再是工程的特有工作。

你的下一个程序是这样的吗?

图片来源: Steve Lodefink/Flickr

在接下来几个月的过程中,我试图描绘出编程进化的方向,这是影响它的因素。本文抓取了这样一些因素,我欢迎收到你对事情变化的看法的评论和反馈。

我应该从哪里开始呢?我们的目标是能够描述程序员在未来十年 需要的基本技能、他们应该关注学习的地方和短期趋势和长期之间的区别。

分布式计算

今天编程中遇到的“正常”环境和十年前截然不同。对于给定的任务如web应用,移动和大数据,只涉及到一台电脑的概念已经消失了。对程序员来说,这意味着我们要应对例如并发,阻塞,同步性,网络通信与协议等问题。就连基本的网络编程都会让你熟悉例如缓存的概念。

由于这些压力,我们看到了在计算栈的不同层的一些现象。在高层,云计算设法缓和维持多台机器运转和网络通信所遇到的困难;在开发应用层,框架则体现通晓的模式并抽象出乏味的细节;在语言层,并发和网络计算在不同的语言中变得更简单,如Go,Scala.

设备计算

看看你的家里,处理器和程序存在与大多数你所拥有的电子设备,他们都包含电脑的一小部分。不是每个人都会从事嵌入式编程,但许多开发者要学手机开发是什么,以及不远将来的汽车飞机眼镜智能尘埃等。

即使更传统的计算,GPU阵列作为非传统编程的先进的数据运算辅助处理器正在兴起兴起。不同的形式因素需要不同的编程方法。业余爱好者的样品需求使得Arduino和Processing被带入生活

语言和程序员需要应对的以前专家领域问题,如低内存和CPU的速度,功耗,无线通信,硬件的实时要求。

其它翻译版本 (1) 加载中

数据计算

面向对象作为当今编程的主要形式,总体来说对数据是不够友好的。它着眼于访问方法中的封装数据的行为,以及用更紧凑的方式来封装数据集合。在数学的世界中,数据确实是没有行为,但C++ 或 Java的严格性要求开发者去操心数据是如何被访问的。

由于数据和数据分析越来越重要,把数据作为一等公民来对待的编程语言将会更多的被使用并流行起来。很明显,类似于R语言的静态语言将会在这股潮流中崛起。但在通用编程中会出现对Python或Clojure语言的偏好,因为他们使得数据更容易被操纵。

大众式计算

现在有比以往任何时候都更多的人在编程。这些聪明,数不过来的,偶然的开发者们为Excel的宏,精制JavaScript和通过如IFTTTZapier这样的web服务把应用胶合在一起等的技巧而吵嘴。这很合理,他们并不熟悉软件开发,而且也不感兴趣(译者附:最糟的是他们认为这样就已经可以应付工作混日子了)。

然而,只有当真正想要把事情做好时,许多这些随意的程序员才会发现很容易产生混乱和陷入困境。在最好的情况下,这只是恼人的,在最坏的情况下,这就是雇主的责任了。而且要知道,这不是程序员的错误。

如何对这些“意外的开发者”更好地提供可编程环境的服务呢?我们需要新的更多语言,或者基于现有各种语言的更好的框架吗?它关系到教育吗?甚至这是一个问题吗,或者只是生活吗?

Bret Victor 的工作, 和诸如 ScratchLight Table 这样的项目中有迹象表明通往一个不同的未来。

危险的计算

最后,这一屋子卡片是值得研究的,而这些卡片都是使用软件发展的现行方法构建的。问题很简单:我们的大脑里面只能容纳这么多东西。要成为一名符合是时代的程序员,你就要能够在你的脑子里面运行你写的程序。

当问题空间太过庞大时,我们的反应是写一个让这个问题空间变小的框架出来。因此,我们有了基于CPU的操作系统,在操作系统之上的各类库,用户接口,以及运行在这些库之上的应用框架。而网页浏览器基于所有这些之上,JavaScript又运行在浏览器之上,javaScript库运行在javaScript之上。我们都不知道是不是到此为止。

我们就像是一位野心勃勃的服务员,想要在其他堆叠的杯子之上再放一只茶杯。现在,它看起来如此摇摆不定。我们制造的CPU更快,更强大,但是得到的主观应用性能却和十年前一样。正是框架中出现的安全漏洞使得大量系统处于危险之中。

我们为什么要这样使用电脑,同时建立一屋子的卡片,并把计算能力限制在程序员可以放入他们的脑袋的地步呢。有办法对这种对待软件的观点按下复位键吗?

结论

当我展望未来的编程时我将会考虑这些趋势和更多因素。如果你有经验或者观点,或正在研究从根本上不同的做事方法,我想听到来自你的声音。请给这篇文章留下一个评论,或邮箱联系

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部