当前位置: 首页 > news >正文

关于未来编程语言的预测

科技趋势变化很快不是什么秘密——创造这些技术的工具和方法也在不断变化。如果你不经常太齐头来看看明年的前景,你可能在编程的时候把坑越挖越深。

不管这些警告,下面就是这些预测。赶快读,因为未来比我们想象的变化的快。

No. 1:GPU将会成为下一个CPU

想想那些人们吹嘘自己CPU的日子,现在即使最好的CPU也很少超过$200,但是厉害的显卡却可以达到$500、$600甚至更多。玩家喜欢攀比自己显卡的性能,而不是他们的CPU,这驱动了这个市场。

剩下的世界正在缓慢追赶。越来越多的软件正在使用GPU。没错,其中一些早期的进展包括原本的图像处理,就像一些浏览器中做的那样,我们看到越来越多的 应用虽然没有绘制精美图像的需求但还是被重写以利用GPU的并行架构。

No.2:数据库逐渐可以完成复杂的分析

程序员一旦把对数据的控制权让给一个叫“数据库”的东西,那么,他们就不再是“程序员”,而是“数据库用户”。这也不是一件坏事。毕竟,数据库在处理数 据上被设计成比一般的程序员更高效的,尤其是在时间紧急的情况下。他们也(通常)非常有效地使用RAM和处理复杂的分级存储器体系。把数据导到数据库,让 数据库做自己的事,这往往不是最聪明的处理数据的解决方案,而是要让数据库在时间方面变得更智能才是聪明的做法。

No.3:JavaScript是一切

JavaScript 在未来的编程语言世界当然不会是唯一的语言,特别是考虑到Cobol程序员的招聘广告还在热招中,但它必定会这样的苗头。JavaScript是浏览器中 必不可少的,现在几乎所有的客户端计算机中都占有主导地位。在服务器端则使用像Node.js的工具。相关尚硅谷JavaScript DOM视频教程

JavaScript无疑也将会在其他领域上更具有优势。要进军智能手机的 领域唯一的方式就是使用制造商所要求的本地语言来编写代码:iPhone的是Objective-C,Android的是Java,微软的是C#。现在大 多数的手机程序员可以把HTML5的应用程序通过类似浏览器窗口表现出来。这样的效果或许没有本地代码那么敏捷方便,但是对于Web来说,JavaScript也是不错的,很轻便的语言。


 

No.4:多平台安卓化

如果没有浏览器的支撑,安卓将不再是现在的安卓。相机的设计者们,通过优秀的镜头来威胁手机的地位,他们计划在相机上移植安卓系统,也就是说你可以在一台尼康相机上运行Instagram(一款图片分享软件)。这会使尼康公司变成一家计算机公司吗?它真的那么重要吗?

未来将会出现安卓冰箱,安卓汽车音响,安卓手表,安卓电视甚至安卓耳机等等诸如此类的产品。因为安卓所能做的是太多,也许有人会抱怨它的界面设计会变的复杂。但是不要忘了,UI层总是可以被简化的。如果安卓可以运行的更底层,它将会主导世界。

事情变得越来越复杂。PC生产商渐渐从传统电脑市场注意目光,寻求新兴的平板电脑市场。他们的解决方案是在Windows上运行Android,让人们 在其桌面上使用他们的Android应用程序。它们有的只是运行在有程序员使用的普通安卓模拟器上,但是有的已经在寻求突破甚至创造出类似“PC+”的品 牌。一旦安卓掌控PC端,将甚至可以做到通过与浏览器相结合,将推动windows本地应用作为第三方来支持传立媒体。

No.5:因特网中的对象--比以往更多的平台

Android和(Linux)的一个负面作用是它使得越来越多的对象加入到Internet中。你家冰箱中的Android系统意味着你可以为冰箱写一些代码,无论是用于显示一些开玩笑话语的应用:食物的卡路里含量,还是关于冰箱中所剩食品的食谱建议。谁知道呢?

在出现的所有新平台中,最重要的将会是汽车。导航和购物才刚刚开始。随着智能化汽车的出现,开发者会有更多的机会可以从汽车定位等信息中获利。

关 键的事情是要弄明白什么特征是新的领域所必需的。Android这类操作系统提供了统一的内核,每个平台都需要定制化的特征。例如机器人玩具可能需要提供 与年龄相适应的内容。温度调节装置需要与天气预报相交互。设计实现具备恰当的特征的API将会是管理Internet中对象的关键。

No.6:开源将会用新的方式与我们紧密相关

对于诸多已经成功的像Android,Ubuntu,MySQL等开源软件,棘手的问题是需要找到经费来支持开发。开源的代码如何帮助到黑客的例子举不胜举,但是公司创建了相对稳定的生态环境,为开发人员提购买保险或食品,这样的例子却为数不多。

绝大多数的开源软件公司会在开源许可证下发布一个被称为演示版的应用。这类秘籍被藏起来使得开发者有了讨价还价的机会。世界就是这样,如果你可以得到免 费的牛奶那为什么要买奶牛呢?最佳的开源项目需要找到一种途径:这种方法可以在不吓跑客户的前提下以合适的方式增加压力。

No.7:WordPress的Web应用将无处不在

最大的错误是奥巴马政府试图从头构建其保险交易所的网站。再也没有人会做这事了。当你添加一个插件到WordPress怎么会感到麻烦呢?如果你真的很 吹毛求疵,你可以使用Joomla或者Drupal。这问题的关键已不再是哪个平台,而是说明一个事实,已经越来越少要自己来创建Web应用的理由了,因 为主流框架已经内置了很多功能可以满足需求。


 

No.8:插件将取代完备的程序

基础的网络应用将不只是可以嵌入到大型的架构中的那些代码段的那些应用。Phontoshop作为对图片进行再处理的重要的工具,一定程度上是因为丰富 的插件。现在类似MagicHour这样新的应用使得插件更加的简便。例如MagicHour的用户可以像过去分享图片一样分享过滤器。绝大多数的平台都 提供了良好的插件API,很多的平台都有成千上万的模块、类库和插件等构成的繁荣的生态系统。

这些新增代码的生态系统意味着程序员将写出更多的片段和更小的应用。适量的接口代码可以复用无数次,这要比写一个庞大的、手写的MB量级大小的应用要有用的多。小的片段可以与整个生态系统中的各片段达成一致,而大的应用就需要在内部处理所有的事情。

No.9:命令行万岁

按你的方式来点击操作应用变得越来越容易,但仍有大量的工作需要在文本编辑器和终端窗口完成。所以,和你想的相反,命令行不会淘汰。事实上,越来越多的工具将只在命令行下工作。

事实上,命令行非常的灵活并被大量的替代。漂亮的图形界面,有着点击接口和拖拽控件得到了人们的关注,但程序员们回归到了文本。

脚本的便捷是命令行复活的核心。诸如苹果这样的公司有相当正式的工具用于图形化界面脚本,它们不可能像命令行一样灵活,一样容易堆放。有多少人会在Macs上编写shell脚本,又有多少会写AppleScripts呢?

命令行将会继续存在,因为它是简单的、易扩展的。如果你有一段脚本,你可以轻松的扩展它,并把它粘贴到其它脚本中。

No.10:降低编程难度将失败

在过去的50年里,开发者已经试过让人学习编程更加简单些,对于50年内他们已经成功了——仅仅除了教最基础的任务。世界上百分之九十五的人可能会理解if-then-else结构,但这和作为一个程序员并不是一回事。

这不会阻止一些好心人对于进一步降低编程难度的尝试,让每个人都将会编程。基督教徒将宣传世界人人会编程的伟大梦想,他们将通过宣称X国在该游戏中保持领先的唯一方法是X国的人民学习Ruby编程或他们的VCR,并以此骗取巨额奖助金。

No.11:外包和内包将继续陷入僵局

一个标准的预测,所有的编程工作将流向工资最廉价的国家。

这个大胆的经济学定律是由预测反映了低端的工作会由自动化工具所取代,而真正的工作将是为那些理解业务的人提供。

双方将继续为真实。外包队伍将赢得与低投标工作,但通过新的自动化工具被挤压。一组网站,可以很容易地在全球范围内雇佣低工资工人。另一组的网站是使它 更容易,更容易从0到60不雇用人的团队。依赖于外包合同小队会发现自己对招投标的谁知道业务,并不需要帮助的人的内部团队。

No.12:管理人员将会持续的误导编码者和编码

最令人头疼的况状之一是听西装革履的非程序员提要求。他们看到FaceBook或者eBay或者其它样例网站的一些聪明的设计,然后他们就希望你对那个 按键稍加修改。有时你可以做到让它的行为与例子相近。但有时他们的建议是不奏效的,有时他们会沮丧,因为他们没有得到他们想要的。

超越梦想并找到了一种方式来管理其它所有人的才华的公司将会是找到成功之路的公司。他们将找到一种方式理智的工作来创建稳定的软件并提供足够多的可用的特性。想了解更多编程语言教程识可登陆e良师益友网。

转载于:https://www.cnblogs.com/yuguotianqing/p/3995419.html

相关文章:

  • Spark Graphx编程指南
  • 找回HDFS corrupted文件残留数据
  • Oracle 执行计划(Explain Plan)
  • MSSQL2008-2012数据库的字段类型整理
  • Vector的一种实现(二)
  • 前端导出Excel兼容写法
  • 洛谷 P1529 回家 Bessie Come Home Label:Dijkstra最短路 乱搞
  • zookeeper适用场景:zookeeper解决了哪些问题
  • Linux打补丁的一些问题
  • 服务器日志追踪
  • bootstrapValidator.js,最好用的bootstrap表单验证插件
  • 搭建简单FTP服务器以及过程中容易遇到的几个问题(一)
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • vs2015密钥 企业版 专业版 (vs.net)
  • MySQL管理与优化(20):备份与恢复
  • 【Linux系统编程】快速查找errno错误码信息
  • 2017年终总结、随想
  • classpath对获取配置文件的影响
  • go语言学习初探(一)
  • HTTP中GET与POST的区别 99%的错误认识
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 马上搞懂 GeoJSON
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端面试之CSS3新特性
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 走向全栈之MongoDB的使用
  • PostgreSQL之连接数修改
  • !!java web学习笔记(一到五)
  • #、%和$符号在OGNL表达式中经常出现
  • #NOIP 2014# day.1 T2 联合权值
  • (1)虚拟机的安装与使用,linux系统安装
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (Python) SOAP Web Service (HTTP POST)
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (万字长文)Spring的核心知识尽揽其中
  • (转)c++ std::pair 与 std::make
  • (转)http协议
  • (转)人的集合论——移山之道
  • .apk文件,IIS不支持下载解决
  • .htaccess配置常用技巧
  • .NET Core中Emit的使用
  • .NET Micro Framework初体验(二)
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .net(C#)中String.Format如何使用
  • .net的socket示例
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .NET中统一的存储过程调用方法(收藏)
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [AIGC] 使用Curl进行网络请求的常见用法