15个热门的编程趋势及15个逐步走向衰落的编程方向

jopen 10年前

  Peter Wayner 是 InfoWorld 的一名特约编辑,也是一个多产的作家。除了 InfoWorld 之外,他还经常为纽约时报和连线杂志撰写文章。近日,Peter 撰写了一篇文章,谈到了未来 15 个热门的编程趋势以及 15 个逐步走向衰落的技术方向,该文发表之后在技术社区中引起了较大的反响,也希望文中的观点能给各位读者带来一些启示。

  程序员们普遍对时尚界嗤之以鼻,因为这个圈子中的趋势就像风一样变幻不定。裙子忽长忽短、颜色变来变去、领结时大时小。不过在技术界,精确、科 学与数学却统治着一切。然而,这并不是说编程没有趋势可言。差别在于编程的趋势是由更高的效率、更好的可定制性以及更棒的易用性来驱动的。新的技术会让旧 有的技术黯然失色。下面我们就来介绍一下未来 15 个热门的编程趋势以及 15 个逐步走向衰落的编程方向。并非人人都会同意文中的观点,不过编程令人着迷之处恰恰就是快速的变化、激烈的争论以及即时的反馈。

  热门:预处理程序

  冷门:全语言栈

  几年前,如果有人创建了新的编程语言,那么他不得不自己编写一些程序将语言的代码转换为二进制位。后来,有人发现可以利用现有的一些工具和技术做到这一点。现在,有想法的人只需编写一个预处理程序即可,它会将新语言的代码转换为已有的拥有大量库和 APIs 的语言。

  喜爱动态类型的家伙创建了 Groovy,这是一个简化版本的 Java。那些想要修复 JavaScript 的人们创造了 CoffeeScript。还有很多语言,如 Scala 和 Clojure 等,他们运行在 JVM 之上,已经有了这么好的 JVM 了,为何还要重新发明轮子呢?

  热门:JavaScript MV*框架

  冷门:纯粹的 JavaScript 文件

  很久之前,人们学习 JavaScript 的目的就是为了弹出一个警告框或是检查表单中的 email 地址是否包含了@符号。现在,HTML AJAX 应用已经变得异常复杂了,没有多少人会从头编写代码。更简单的方式是采用一个优雅的框架,编写一些胶水代码来实现业务逻辑。目前有大量的 JavaScript 框架,如 Kendo、Sencha、jQuery Mobile、AngularJS、Ember、Backbone 及 Meteor JS 等等,这些框架都可以帮助你很好地处理 Web 应用与页面的事件与内容。

  热门:CSS 框架

  冷门:纯粹的 CSS

  曾几何时,为了向网页中添加一点活力,你需要打开 CSS 文件并加入一些诸如 font-style:italic 之类的命令,然后再保存文件。现在的网页已经变得非常复杂了,几乎不可能通过这样几条简单的命令就能达成所愿。改变一处的颜色也许会导致其他地方的颜色显 示不正常,老话说的好:万物皆有联系。这正是 SASS 及 Compass 等 CSS 框架的用武之地,他们提供了一些编程元素,比如说真正的变量、嵌套的块等编程结构,这些东西在编程领域不是什么新玩意,不过对于设计来说却是一个伟大的进 步。

  热门:SVG 与 Canvas

  冷门:Flash

  过去,Flash 令人着迷,艺术家们也都偏爱着 Flash。其渲染的效果如此漂亮,很多聪明的艺术家都使用了大量的 Flash 创作了不少精致的效果。现在,JavaScript 也可以做到过去只有 Flash 才能做到的那些效果,浏览器制造商与开发者们都为 Flash 的退出而欢呼雀跃。他们看到 SVG(Scalable Vector Graphics)等新格式与 DOM 层更好的集成。SVG 与 HTML 由大量的标签构成,这对于 Web 开发者来说是很容易使用的。此外,Canvas 对象也提供了大量的 API 进行绘制。这让我们相信,已经没有多少继续坚守 Flash 的理由了。

  热门:大数据(不使用 Hadoop 进行分析)

  冷门:大数据(使用 Hadoop)

  每个人都想成为风云人物,如果不行,那他就会换个地方让自己脱颖而出。因此,“大数据”这个词儿的流行也就变得不那么让人惊奇了。有意思的是, 很多问题并没有那么大,也没必要使用什么大数据解决方案。当然了,像 Google 或是 Yahoo 这样的公司会追踪人们的 Web 浏览;他们拥有的数据量是非常庞大的。不过对于大多数公司来说,他们所拥有的数据量可能一个普通的 PC 就装得下。肯定有公司需要使用不少机器,并行运行 Hadoop,然后希望快点得到计算结果,不过很多公司其实并不需要这么做,他们只需要单台机器就行,根本没必要搞什么 Hadoop。

  热门:游戏框架

  冷门:原生游戏开发

  曾几何时,游戏开发意味着招很多开发者,从头开始使用C编写代码。当然了,这么做的成本也是相当高的,不过看起来好像不错。现在,没有人能够承 担得起编写这么多代码的代价。大多数游戏开发者都开始使用 Unity、Corona 或是 LibGDX 等库来构建系统了。这样,他们就无需再处理这些细节信息了,可以将精力放在游戏情节、故事、角色以及艺术上了。

  热门:单页面 Web 应用

  冷门:网站

  还记得通过 URL 访问只有静态文本和图片的网页时代么?那时,将所有信息放到网页上就可以做一个“网站”了。新的 Web 应用是包含着内容的数据库的前端。当 Web 应用需要信息时,它会从数据库中取这些信息,然后将其显示出来,没必要再像之前那样使用了。数据层与展示层和格式层是完全分开的。移动计算的出现是一个巨 大的促进因素:单一的、响应式设计的网页看起来像个应用,同时还避免了 App Store 频繁提交审查的烦恼。

  热门:移动 Web 应用

  冷门:原生移动应用

  假如你有一个关于移动方面的好点子。你可以为 iOS、Android、Windows 8,也许还有 BlackBerry OS 各编写一个应用。每个应用都需要单独一个团队,使用不同的编程语言完成。开发完成后,你还需要将应用提交到应用商店进行审查,最后才能被用户下载使用。此 外,你还可以构建一个 HTML 应用,将其放到网站上,应用可以运行在所有的平台之上。如果需要做些修改,那么你无需回到应用商店,祈求能够快些通过审查。现在的 HTML 运行速度已经越来越快了,它完全可以与原生应用展开竞争,即便是那些复杂、交互非常多的应用也没什么问题。

  热门:Android

  冷门:iOS

  几年前,Apple 的 App Store 还是一家独大,不过时间改变了一切。虽然 iPhone 与 iPad 还是拥有非常多的粉丝,他们喜欢其精致、丰富的 UI,但 Android 的销量却在节节攀高。有报告显示 70% 以上的智能手机销量来自于 Android。

  原因很简单,那就是价格。虽然 iOS 设备保持了一个比较高的价格,不过 Android 世界中有太多的竞争者,他们所生产的平板价格甚至只有 iPad 价格的1/5,省钱总是硬道理嘛。除了价格之外,开源也是一个不容小觑的因素。任何人都可以在市场中参与竞争,实际情况也是这样的。有大的 Android 平板,也有小的手机;有 Android 相机,甚至还有 Android 冰箱。

  热门:GPU

  冷门:CPU

  在软件还很简单,指令可以在一行中清楚显示的时候,CPU 是计算机之王,因为它做了所有繁重的工作。现在,视频游戏中有大量并行运行的图形计算,一块显卡的价格动辄就5、600 美金,一些执着的玩家甚至会使用多块显卡。这甚至比很多一般的 PC 还要贵,除了游戏玩家外,计算机科学家们也将很多并行应用转到 GPU 上运行,速度比之前快了百倍以上。

  热门:GitHub

  冷门:简历

  没错,你可以通过看书等方式来学习,不过,阅读实际的代码却更加直观和有意义。程序员是否写了足够好的注释?是否花时间将大的类拆分成若干各司其责的小类?架构是否还有扩展的空间?这些问题都可以通过查看代码得到答案。

  这也是为何现在在找工作时有过开源项目开发经历会变得更加吃香的原因所在。从私有项目中分享代码是比较困难的,不过开源项目可以走进每个人的生活。

  热门:租赁

  冷门:购买

  以前,公司会建立自己的数据中心、雇佣专门的人来维护他们所购买的计算机。时至今日,很多公司开始租赁计算机、数据中心、雇员,甚至按照小时数来租赁软件。这是个非常好的做法,也会为公司节省很多成本;同时,还会保证计算能力。

  热门:Web 界面

  冷门:IDEs

  很久之前,人们使用命令行编译器。后来,有人将其集成到了编辑器和其他工具当中,创造出了 IDE。现在,IDE 有被基于浏览器的工具所替代的趋势。在基于浏览器的工具中,你可以编写代码、创建系统。如果不喜欢 WordPress 的工作方式,那么你可以通过它自带的编辑器修改代码并立即生效。你可以通过微软的 Azure 编写 JavaScript 胶水代码。这些系统基本上都没有提供很好的调试环境,而且在编辑生产代码时也存在着一定的风险,不过这个想法却是非常棒的。

  热门:Node.js

  冷门:JavaEE、Ruby on Rails 及 PHP

  服务器的世界总是依赖于各种线程模型,不过这种方式会导致程序员所编写的各种低效、不负责任的代码影响到操作系统的效率。无论程序员编写的代码有多么差劲,操作系统总是会在各个线程间切换,从而平衡整体性能。

  Node.js 带来了 JavaScript 回调这种编程模型,代码运行速度也绝对够快。这种一开始只是用于弹出警告框的玩具语言的变化超出了很多人的想象。突然之间,创建新线程的开销变得很显著 了,这时 Node.js 来了。如果程序员代码写的不好就会出现问题,不过让程序员清楚了解资源限制有助于他们编写出更快的代码。

  Node.js 的世界也因让浏览器与服务器之间保持和谐共处而获益匪浅。同样的代码既可以运行在浏览器端,也可以运行在服务器端,开发者可以在两端快速移动,也可以更好地完成功能。因此,Node.js 已经成为互联网界最炙手可热的技术之一。

  热门:Hackerspaces

  冷门:大学

  一个是 4 年 250,000 美金,一个是每月 50 美金,如果提前支付还有折扣。Hackerspaces 正在不断驱动着创新,同时又没有大学那么多的开销。他们在创造着社交网络,影响着创业公司,没有官僚、没有政治。其课程不需要持续整个学期,这种特性非常 适合于快速变化的技术世界。

来自: InfoQ