关于编程语言的6个预测
科技趋势变化很快不是什么秘密——创造这些技术的工具和方法也在不断变化。如果你不经常太齐头来看看明年的前景,你可能在编程的时候把坑越挖越深。
为了帮助你做好未来的准备,或是至少开始盘算未来,这未来正以比我们能预见的更快的速度咆哮着划过天空。我们列举了一系列有关未来五年编程趋势的预测。我们的水晶球是非常主观的,下面的这些预测可能并不完全正确。其中一些不会在五年中完全实现,其他一些可能已经实现但是还没有达到它们应该达到的高度和受众度,有些可能不会完全实现因为一些程序员的因素可能并不会像我们预测的一样,有些可能甚至是错的。
不管这些警告,下面就是这些预测。赶快读,因为未来比我们想象的变化的快。
未来编程预测No. 1:GPU将会成为下一个CPU
想想那些人们吹嘘自己CPU的日子,现在即使最好的CPU也很少超过$200,但是厉害的显卡却可以达到$500、$600甚至更多。玩家喜欢攀比自己显卡的性能,而不是他们的CPU,这驱动了这个市场。
剩下的世界正在缓慢追赶。越来越多的软件正在使用GPU。没错,其中一些早期的进展包括原本的图像处理,就像一些浏览器中做的那样,我们看到越来越多的应用虽然没有绘制精美图像的需求但还是被重写以利用GPU的并行架构。物理学家用GPU研究物质;化学家用他们研究化学反应;天文学家用显卡模拟银河;生物学家在热门研究中用GPU处理统计数据。今年开始,我也开始用GPU来挖矿了。
像这样的例子只会变得更多。很快,更好地编译器将会可以检测代码中可以有效地在GPU上运行的部分。学术成果已经可以有限地做到这一点,但是如果任何人都可以简单地做到它将变得更加流行。
存好你的比特币,在这个预想正在变成现实的现在。
未来编程预测No.2:数据库逐渐可以完成复杂的分析
程序员一旦把对数据的控制权让给一个叫“数据库”的东西,那么,他们就不再是“程序员”,而是“数据库用户”。这也不是一件坏事。毕竟,数据库在处理数据上被设计成比一般的程序员更高效的,尤其是在时间紧急的情况下。他们也(通常)非常有效地使用RAM和处理复杂的分级存储器体系。把数据导到数据库,让数据库做自己的事,这往往不是最聪明的处理数据的解决方案,而是要让数据库在时间方面变得更智能才是聪明的做法。
这是因为未来的数据库一定不仅仅是存储数据。许多数据库系统已经内置了成熟的报表引擎(又称“商业智能”),能够运行更加复杂多变的算法,能够分析数据、在数据模式下更有效地搜索数据,以及做更多目前被吹捧的“大数据”相关工作。
这个的能力和复杂度将由移动数据的成本所驱动。单纯地从数据库中提取信息,并将其移交给一个独立的“大数据”包将变得越来越耗时,而且需要更多的编码。把数据库中的数据交给它引擎来处理分析将会快很多,因为它不但会限制通信的开销,而且还减少了程序需要从数据存储中提取数值的总数。
未来编程预测No.3:JavaScript是一切
JavaScript在未来的编程语言世界当然不会是唯一的语言,特别是考虑到Cobol程序员的招聘广告还在热招中,但它必定会这样的苗头。JavaScript是浏览器中必不可少的,现在几乎所有的客户端计算机中都占有主导地位。在服务器端则使用像Node.js的工具。
JavaScript无疑也将会在其他领域上更具有优势。要进军智能手机的领域唯一的方式就是使用制造商所要求的本地语言来编写代码:iPhone的是Objective-C,Android的是Java,微软的是C#。现在大多数的手机程序员可以把HTML5的应用程序通过类似浏览器窗口表现出来。这样的效果或许没有本地代码那么敏捷方便,但是对于Web来说,JavaScript也是不错的,很轻便的语言。
浏览器不只是植入手机内,它是在吞噬整个平台。Chrome OS和Chromebooks会定期对废弃的操作系统做处理。当JavaScript和浏览器能做任何事情的时候,又何必担心那些事情呢?
大型机将主要用Cobol,生物学家们将可能继续做Python,Linux仍用C,但是几乎所有的一切都是一场公平的游戏,如同JavaScript吞噬整个世界。
未来编程预测4:多平台安卓化
如果没有浏览器的支撑,安卓将不再是现在的安卓。相机的设计者们,通过优秀的镜头来威胁手机的地位,他们计划在相机上移植安卓系统,也就是说你可以在一台尼康相机上运行Instagram(一款图片分享软件)。这会使尼康公司变成一家计算机公司吗?它真的那么重要吗?
未来将会出现安卓冰箱,安卓汽车音响,安卓手表,安卓电视甚至安卓耳机等等诸如此类的产品。因为安卓所能做的是太多,也许有人会抱怨它的界面设计会变的复杂。但是不要忘了,UI层总是可以被简化的。如果安卓可以运行的更底层,它将会主导世界。
事情变得越来越复杂。PC生产商渐渐从传统电脑市场注意目光,寻求新兴的平板电脑市场。他们的解决方案是在Windows上运行Android,让人们在其桌面上使用他们的Android应用程序。它们有的只是运行在有程序员使用的普通安卓模拟器上,但是有的已经在寻求突破甚至创造出类似“PC+”的品牌。一旦安卓掌控PC端,将甚至可以做到通过与浏览器相结合,将推动windows本地应用作为第三方来支持传立媒体。
编程语言未来的预测5:因特网中的对象--比以往更多的平台。
Android和(Linux)的一个负面作用是它使得越来越多的对象加入到Internet中。你家冰箱中的Android系统意味着你可以为冰箱写一些代码,无论是用于显示一些开玩笑话语的应用:食物的卡路里含量,还是关于冰箱中所剩食品的食谱建议。谁知道呢?
在出现的所有新平台中,最重要的将会是汽车。导航和购物才刚刚开始。随着智能化汽车的出现,开发者会有更多的机会可以从汽车定位等信息中获利。
关键的事情是要弄明白什么特征是新的领域所必需的。Android这类操作系统提供了统一的内核,每个平台都需要定制化的特征。例如机器人玩具可能需要提供与年龄相适应的内容。温度调节装置需要与天气预报相交互。设计实现具备恰当的特征的API将会是管理Internet中对象的关键。
编程语言未来预测6:开源将会用新的方式与我们紧密相关。
对于诸多已经成功的像Android,Ubuntu,MySQL等开源软件,棘手的问题是需要找到经费来支持开发。开源的代码如何帮助到黑客的例子举不胜举,但是公司创建了相对稳定的生态环境,为开发人员提购买保险或食品,这样的例子却为数不多。
绝大多数的开源软件公司会在开源许可证下发布一个被称为演示版的应用。这类秘籍被藏起来使得开发者有了讨价还价的机会。世界就是这样,如果你可以得到免费的牛奶那为什么要买奶牛呢?最佳的开源项目需要找到一种途径:这种方法可以在不吓跑客户的前提下以合适的方式增加压力。
最新内容
热点内容
- QQ群
-
微信
- 返回首页
- 返回顶部