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

  • 张龙

2014 年 2 月 4 日

话题:语言 & 开发架构文化 & 方法

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 频繁提交审查的烦恼。

语言 & 开发架构文化 & 方法