展望2017年

对编程未来的11个预测

我们的编码水晶球提示您进入曲折的您的编程生涯可能在未来几年

唯一比时间飞得快的是科技的进步。午饭后,一位芯片设计的朋友很快为自己找了个借口,巧妙地解释说,摩尔定律意味着他必须让自己的芯片速度每周提高0.67%,即使是在度假的时候。如果他不这样做,芯片的速度就不会每两年翻一番。

现在2017年已经到来,是时候盘点一下未来的技术变化了,如果只是为了帮助你知道在培养未来的编程技能方面应该把赌注放在哪里。

从物联网日益增长的安全问题到无处不在的机器学习,编程的未来越来越难以预测。

云将战胜摩尔定律

有反对者声称芯片公司已经碰壁。他们不再像80年代和90年代那样,每两年就将芯片速度提高一倍。也许吧——但这已经不重要了,因为芯片之间的界限比以前更模糊了。

在过去,你桌子上盒子里的CPU的速度很重要,因为你只能以里面的硅仓鼠旋转轮子的速度来运行。每隔几年买一只更大、更快的仓鼠,你的生产率也会提高一倍。

但是现在你桌上的CPU几乎不能在屏幕上显示信息。大部分工作都是在云上完成的,不清楚有多少仓鼠在工作。当你搜索谷歌时,它们庞大的云可以让10只、20只甚至1000只仓鼠为你找到正确答案。

程序员面临的挑战是找到一种聪明的方法,将足够的计算能力灵活地部署到每个用户的问题上,这样解决方案就会很快出现,而用户也不会感到厌烦,并转向竞争对手的站点。有足够的电力可用。云计算公司会让你处理大量用户,但你必须找到容易并行运行的算法,然后安排服务器同步运行。

物联网安全只会变得更加可怕

Mirai僵尸网络在过去的这个秋天展开对那些正在创造下一代物联网的程序员来说,这是一记警钟。这些聪明的小设备可以像任何其他电脑一样被感染,它们可以利用自己的互联网连接进行破坏,让战争的狗溜走。大家都知道,狗狗可以在网上冒充任何人

问题在于,目前的电子产品供应链没有任何修复软件的机制。一个小工具的生命周期通常始于从制造工厂到仓库最后到用户的漫长旅程。通常在组装和首次使用之间需要10个月的时间。在这漫长的几个月里,这些设备被运往半个地球。他们坐在集装箱里等待装运。然后他们坐在大盒子商店或仓库里的货盘上。当他们打开行李的时候,任何事情都可能发生在他们身上。

现在的挑战是如何跟踪这些数据。每次时钟改变时,都很难更新烟雾探测器的电池。但是现在我们不得不考虑我们的烤面包机、干衣机和家里几乎所有的东西。软件是最新的吗?所有安全修补程式都已应用吗?设备的数量使得智能监控家庭网络变得更加困难。有超过30个IP地址连接到我的无线路由器,而我只知道其中24个的身份。如果我想要维护一个智能防火墙,我会发疯似的为正确的智能事物打开正确的端口。

给这些设备运行任意代码的机会既是福也是祸。如果程序员想要执行聪明的任务并让用户拥有最大的灵活性,那么平台应该是开放的。这就是创客革命和开源创新蓬勃发展的原因。但这也给了病毒作者比以往更多的机会。他们所需要做的就是找到一个没有更新特定驱动程序的小部件品牌——瞧,他们找到了数百万个为主机机器人准备的小部件。

视频将以新的方式主导网络

当HTML标准委员会开始在HTML中嵌入视频标签时,他们可能并没有重塑娱乐的宏伟计划。他们可能只是想解决插件的小故障。但是基本的视频标签可以响应JavaScript命令,这使得它们基本上是可编程的。

这是一个巨大的变化。在过去,大多数视频都是被动消费的。你坐在沙发上,按下播放键,看看视频的编辑认为你应该看什么。每个看猫视频的人看到的猫的顺序都是由猫视频的创作者决定的。当然,一些快进的视频会像瑞士火车一样有规律地得出结论。

JavaScript对视频的控制是有限的,但最聪明的web设计师正在寻找巧妙的方法,将视频与web页面的其余部分集成到一个无缝的画布中。这为用户提供了一种可能性,可以控制叙事的展开方式,并与视频进行互动。没有人能确定作家、艺术家和编辑们会想象出什么,但他们需要编程天才才能实现。

许多最时髦的网站已经在一些巧妙的地方安装了紧密运行的视频。很快他们都想搬东西了。放一个a是不够的IMG带有JPEG文件的标记。你需要抓取视频,并处理分散了浏览器世界的标准问题。

游戏机将继续取代个人电脑

人们很难对游戏机感到疯狂。游戏很棒,画面也很棒。他们制作了很棒的视频卡和相对稳定的软件平台,让我们在客厅里放松,梦想着射杀坏人或扔足球。

起居室的控制台只是一个开始。家居用品的制造商也在走同样的道路。他们本可以选择一个开源的生态系统,但是制造商们正在构建他们自己的封闭平台。

这使得市场变得支离破碎,也使得程序员很难保持一切正常。在一个电灯开关上运行的东西在另一个电灯开关上不会运行。电吹风可能和烤面包机说着同样的礼节,但它可能不会。程序员需要做更多的工作来提高速度,而重用我们的工作的机会更少。

数据仍将是王道

2016年美国总统大选后,喜欢吐词的专家们取笑那些喜欢吐数据的专家们,称他们所有的统计分析都是一种愚蠢的做法。预测严重错误,大数据的人看起来很糟糕。

他们是怎样得出这个结论的?通过比较一组数字(预测)和另一组数字(选举结果)。他们仍然需要数据。

数据是我们在互联网上看到的方式。光带给我们关于真实世界的信息,但数字告诉我们关于网上的一切。有些人可能会根据不完全的数字做出错误的预测,但这并不意味着我们应该停止收集和解释这些数字。

数据收集、整理、管理和解析将继续是企业最重要的工作之一。决策者需要这些数字,而程序员将继续以一种更容易理解的方式交付数据。这并不意味着答案将是完美的。背景和直觉仍将发挥作用,但争论数据的必要性不会因为一些人预测唐纳德•特朗普(Donald Trump)不会当选而消失。这意味着程序员需要做更多的工作,因为我们需要构建更大、更快、数据更密集的软件,这种需求看不到尽头。

机器学习将成为新的标准特性

当孩子们在大学里学习一门叫做“数据结构”的课程时,他们开始了解当他们的祖父母写代码时的生活是什么样子的,他们不能依赖于一个叫做“数据库”的层的存在。真正的程序员必须在没有Oracle、MySQL或MongoDB帮助的情况下存储、排序和连接充满数据的表。

机器学习算法距离实现这一飞跃只有短短几年的时间。现在,程序员和数据科学家需要编写大量自己的代码来执行复杂的分析。很快,像R这样的语言和一些最聪明的商业智能工具将不再是特殊的,而开始成为大多数软件栈中的常规特性。它们将从PowerPoint销售平台上的四五张特殊幻灯片变成建筑图纸上的一个小矩形,这是理所当然的。

它不会在一夜之间发生,也不清楚它会是什么样子,但很明显,越来越多的商业计划依赖于机器学习算法来寻找最佳解决方案。

随着个人电脑的不断衰退,UI设计将变得更加复杂

每一天,你似乎都少了一个使用电脑的理由。随着智能手机、客厅控制台和平板电脑的兴起,似乎只有办公室工作人员和学生还在坚持使用电脑,他们需要上交作业。

这对程序员来说是一个挑战。过去很容易假设软件或网站用户会有键盘和鼠标。现在很多用户都没有。智能手机用户的手指在玻璃屏幕上碰来碰去,屏幕上几乎放不下26个字母。控制台用户正在按遥控器上的箭头键。

设计网站越来越棘手,因为触摸事件与点击事件略有不同。用户有不同数量的精度和屏幕的大小差异很大。保持一切正常并不容易,而且在未来几年只会变得更糟。

开放的终结

个人电脑的消亡不仅仅是一个特定形式因素的缓慢消亡。这是一个特别开放和受欢迎的市场的消亡。个人电脑的死亡将意味着可能性的终结。

当个人电脑第一次发货时,程序员可以编译代码,将其复制到磁盘上,将这些磁盘装入自封袋,全世界都可以买到它。没有中间人,没有看门人,没有严厉的中央力量要求我们说:“妈妈,我可以吗?”

控制台被紧紧地锁上了。没有资本投资,就没有人能进入这个市场。应用程序商店更开放一些,但它们仍然是有围墙的花园,限制了我们所能做的。当然,它们仍然对那些跳过正确步骤的程序员开放,但是任何走错一步的人都可以被扔出去。(不知何故,当恶意软件溜进来时,他们总是在拖延我们的应用程序。去图。)

这一区别对于开源来说很重要。这不仅仅是关于袋装软盘的销售。我们正在失去共享代码的能力,因为我们正在失去编译和运行代码的能力。个人电脑的终结是开放性终结的重要组成部分。目前,大多数阅读本文的人可能都有一个不错的可以编译和运行代码的桌面,但这种情况正在慢慢改变。

很少有人有机会编写代码并共享代码。尽管人们一直在谈论教授下一代编程的必要性,但可供发布的开放代码的实用载体却越来越少。

自动交通工具将继续存在

不仅仅是汽车。一些公司希望制造不受道路需求限制的自动驾驶飞机。另一些人想要为非常轻量的旅行创造自动滑板。如果它移动,一些黑客梦想告诉它去哪里。

程序员不会控制人们在屏幕上看到的东西。他们将控制人们去哪里,以及他们如何与世界互动。而人只是游戏的一部分。我们所有的东西都会自动移动。

如果你想从市中心的著名厨师那里得到一顿晚餐,一个带加热室的自动滑板可以把它送到你家。如果你想要修剪草坪,一台自动割草机将取代邻居家的小孩。

程序员可以使用他们在第一次互联网革命中所有的酷主意。如果你认为弹出式广告在互联网上不好,那就等着程序员付钱让你的自动旱冰鞋通过一家新餐馆的厨房通风口吧。饿了吗?

法律将发现新的限制

《权利法案》上的墨迹还未干,就开始了一场关于“合理搜索我们的文件意味着什么”的辩论。200多年后的今天,我们仍在讨论细节问题。

相关:
12 第1页
第1页共2页
工资调查:结果在