程序员喜欢嘲笑时尚界,在这个世界里,潮流就像一阵风吹过。裙子的长度起起落落,颜色来来去去,领带变胖变瘦。但是在这个科技的世界里,严谨、科学、数学和精确主宰着时尚。
这并不是说编程是一个没有趋势的职业。不同之处在于,编程趋势是由更高的效率、更多的定制和易用性所驱动的。提供一个或多个这些功能的新技术使上一代技术相形见绌。这是精英统治,而不是奇思妙想统治。
下面列出了当今程序员中最热门的和不热门的。不是每个人都会同意哪些是a上市的,哪些是d上市的,哪些被遗漏了。但这正是编程成为一种永无止尽的迷人职业的原因:快速的变化、激烈的辩论、突然的回归。
热点:预处理器
不是:完整的语言堆栈
就在不久之前,创建一种新的编程语言的人还必须构建一切能够将代码转化为输入到硅中的比特的东西。然后有人发现他们可以利用以前的成果。现在,有聪明想法的人只需编写一个预处理器,用一组丰富的库和api将新代码转换为旧代码。
喜欢动态类型的人创建了Groovy,它是Java的一个更简单的版本,没有过分坚持的标点符号。那些想要修复JavaScript的人创建了CoffeeScript,这是一个预处理器,可以让他们不用繁琐的标点符号进行编码。似乎有数十种语言比如运行在JVM上的Scala或Clojure,但只有一个JVM。为什么要重新发明轮子?
热点:JavaScript MV*框架
不是:JavaScript文件
很久以前,每个人都学会了编写JavaScript来弹出警告框或检查表单中的电子邮件地址是否包含@符号。现在HTML AJAX应用程序是如此复杂以至于很少有人从头开始。采用一个精心设计的框架和编写一些粘合代码来实现业务逻辑更简单。现在有几十个框架像Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS,和更多——所有准备处理事件和内容为您的Web应用程序和页面。
热点:CSS框架
不是:通用级联样式表
以前,向Web页面添加一些花哨的东西意味着打开CSS文件并包含一个新命令,如font-style:italic。然后你把文件存了下来,在一上午的辛苦工作后去吃午饭。现在,Web页面是如此复杂,以至于不可能用这样简单的命令填充文件。对颜色稍作调整,一切都会不正常。就像他们说的阴谋论和生态:一切都是相连的。
这就是CSS框架,比如SASS和它的表亲Compass,找到了坚实的基础。它们通过提供诸如实变量、嵌套块和混合等编程构造来鼓励熟练的、稳定的编码。这在编程层听起来可能不太新鲜,但对于设计层来说却是一个巨大的飞跃。
热点:SVG + JavaScript在画布上
不是:闪
多年来,Flash一直让人抓狂,但艺术家们一直都很喜欢这样的效果。抗锯齿渲染看起来很棒,许多有才华的艺术家已经建立了一个深堆栈的Flash代码来提供复杂的过渡和动画。
现在JavaScript层有能力做同样的事情,浏览器制造商和开发者都在为Flash的终结而欢呼。他们认为与DOM层更好的集成来自SVG(可伸缩向量图形)等新格式。SVG和HTML由一大堆标记组成,Web开发人员通常更容易使用它们。还有一些大型api提供了在画布对象上进行精细绘图的功能,这些api通常借助视频卡。把它们放在一起,就没有理由再使用Flash了。
热点:几乎大数据(分析不使用Hadoop)
不是:大数据(使用Hadoop)
每个人都喜欢自己是校园里的大人物,如果不是,他们就会寻找一个合适的校园,让自己脱颖而出。因此,当“大数据”这个词开始在管理层中流行时,高管们开始要求最大、最有权力的公司大数据系统就好像他们买的是游艇或摩天大楼。
有趣的是,许多问题还没有大到可以使用最花哨的大数据解决方案的程度。当然,像谷歌或雅虎这样的公司会跟踪我们所有的网页浏览记录;他们有以pb或yottabytes计量的数据文件。但大多数公司的数据集都可以轻易地放入一台基本电脑的内存中。我是在一台有16GB RAM的PC上写这篇文章的——用少量字节就足够处理10亿个事件了。在大多数算法中,数据不需要读入内存,因为从SSD中进行流媒体处理就可以了。
有些实例需要Hadoop云中并行运行的几十台机器的快速响应时间,但许多实例在单台机器上运行也很好,没有协调或通信的麻烦。
热点:游戏框架
不是:本地游戏开发
曾几何时,游戏开发意味着雇佣大量从头开始用C编写所有东西的开发人员。当然,它花费了亿万美元,但它看起来很棒。现在,没有人能负担得起定制代码的奢侈。许多游戏开发人员几年前就放弃了他们的骄傲,转而使用像Unity、Corona或LibGDX这样的库来构建他们的系统。他们编写的C代码不如为库编写的指令多。我们的游戏不是基于骄傲的手工制作,而是使用相同的引擎,这是一种遗憾吗?大多数开发者都松了一口气——因为他们不必去处理细节,他们可以专注于游戏玩法、叙事弧线、角色和艺术。
热点:单页Web应用程序
不是:网站
还记得当url指向充满静态文本和图像的Web页面吗?把所有的信息放在一个被称为网站的独立网页的网络中是多么简单和有趣。新的Web应用程序是充满内容的大型数据库的前端。当Web应用程序需要信息时,它会从数据库中提取信息,并将其倒入本地的模具中。没有必要用构建Web页面所需的所有Web额外内容标记数据。数据层与表示层和格式层是完全分离的。在这里,移动计算的兴起是另一个因素:一个单一的、响应式设计的网页,工作起来就像一个应用程序——这一切都是为了更好地避免应用程序商店的混乱。
热点:移动Web应用程序
不是:本地移动应用
假设你有一个关于移动内容的好主意。你可以赶紧为iOS、Android、Windows 8,甚至是黑莓操作系统(BlackBerry OS)或其他任何一个系统编写单独的版本。每个项目都需要一个使用不同编程语言的独立团队。然后,每个平台的应用程序商店在应用程序可以交付给用户之前,会发挥自己的作用。或者你可以只创建一个HTML应用程序,然后把它放到一个网站上,在所有平台上运行。如果有变化,你不需要回到应用商店,乞求一个快速检查修复错误。现在HTML层变得越来越快,并且运行在更快的芯片上,这种方法可以在更复杂的交互式应用程序上更好地与本地应用程序竞争。
热点:安卓
不是:iOS
难道仅仅是几年前,苹果的商店里还蜿蜒着长队?时代变了。当iPhone和iPad继续拥有热爱其丰富、复杂的用户界面的忠实粉丝时,Android的原始销售数据却越来越受青睐。一些报道甚至称,售出的手机中有超过70%是android操作系统。
原因可能和价格一样简单。虽然iOS设备保持了高昂的价格,但Android世界充斥着大量竞争,生产的平板电脑的价格只有iOS设备的五分之一。省钱总是一种诱惑。
但是另一个因素可能是开源的影响。任何人都可以在市场上竞争——他们确实做到了。有大的安卓平板电脑,也有小的。有Android摄像头,甚至还有Android冰箱。没有人需要对谷歌说,“妈妈,可以吗?”来创新。如果他们有了想法,他们就会跟着自己的想法走。
热点:GPU
不是:CPU
当软件简单,指令排列整齐时,CPU是计算机之王,因为它完成了所有繁重的工作。既然电子游戏中充满了大量的图形例程,可以并行运行,那么就由显卡来运行。花500美元、600美元甚至更多的钱买一张漂亮的显卡很容易,一些真正的游戏玩家使用不止一张显卡。这是许多基本台式机价格的两倍多。夸耀自己的GPU卡的不仅仅是游戏玩家。计算机科学家们现在正在转换许多并行应用程序,使其在GPU上运行速度快数百倍。
热点:GitHub
不是:RA (c) sumA (c)
当然,你可以通过阅读一份自吹自擂的成就清单来学到一些东西,其中包括担任初中象棋俱乐部副主席。但是阅读别人的实际的代码更丰富,更有教育意义。他们能写出好的评论吗?他们是不是浪费了太多的时间把事情分成小班做,做得很少?有一个真正的建筑可以扩展吗?所有这些问题都可以通过浏览一些代码得到答案。
这就是为什么参与开源项目对于找工作变得越来越重要的原因。共享来自专有项目的代码很困难,但是开放源代码可以随处可见。
热点:租
不是:购买
当亚马逊(Amazon)在黑色星期五(Black Friday)公布电脑和其他电子产品的销售情况时,该公司忘记把值得炒作的交易也包括进去了的云。给它一些时间。不久之前,许多公司开设了自己的数据中心,并雇佣了自己的员工来运行他们直接购买的电脑。雷竞技电脑网站现在,他们可以按小时租用电脑、数据中心、员工,甚至软件。雷竞技电脑网站没有人愿意为拥有任何东西而烦恼。这是个好主意,至少在网站像病毒一样传播之前,你会意识到你是通过点击付费的。现在,只要亚马逊能找到一种用无人机交付云服务的方法,这两种趋势就会融合在一起。
热点:Web界面
不是:ide
很久以前,人们使用命令行编译器。然后有人将其与编辑器和其他工具集成,从而创建IDE。现在是时候让基于浏览器的工具对IDE进行eclipse (ha)了,这些工具允许您编辑代码(通常是工作系统的代码)。如果你不喜欢WordPress的工作方式,它有一个内置的编辑器,可以让你随时修改代码。微软的Azure允许您在其门户中编写JavaScript粘合代码。这些系统没有提供最好的调试环境,编辑生产代码也有一些危险,但这种想法是可行的。
热点:node . js
不是:JavaEE, Ruby on Rails, PHP
服务器世界一直在线程模型上蓬勃发展,这种模型允许操作系统纵容程序员任意任性、低效或放纵的行为。不管程序员编写的是愚蠢的循环还是浪费的计算,操作系统都会通过在线程之间切换来平衡性能。
然后node . js随着JavaScript回调编程模型的出现,代码运行得非常快——比以前只用于警告框的玩具语言的速度快得多。突然之间,创建新线程的开销变得明显起来,Node.js开始起飞。当程序员表现不好时,问题就出现了,但是责任在很大程度上对他们来说是好的。让程序员明白资源约束通常会产生更快的代码。
js世界还得益于浏览器和服务器之间的和谐。相同的代码在两者上运行,使得开发人员更容易移动特性和复制功能。因此,Node.js层已经成为互联网上最热门的堆栈。
热点:黑客空间
不是:大学
一个成本四年25万美元。另一家每月收费约50美元(约合人民币358元),提前付款可以享受较大折扣。一个人用这笔钱来购买足球场、总统的豪宅、华丽的宿舍和四色杂志。另一部分购买3D打印机、示波器、烙铁等等。
黑客空间正在逐步培养创新,而不需要像大学工业联合体那样高得离谱的开销。他们创建的社交网络催生了初创企业,积累了财富,但却没有了艾默生所说的那种官僚主义和愚蠢的一致性。课程不需要持续整个学期。学生们不需要在开始学习前一年就开始争取入学。事实很快证明,专用性更适合快速变化的技术世界。
这个故事,“15个热门的编程趋势——和15个变冷”最初是由信息世界 。