编程领域的21个热门和冷门

时间:2016-03-21 21:56    点击:

热门还是冷门?从Web、主板到培训场地,不妨了解应用程序开发领域的热门和冷门。
 
编程员们老爱嘲笑如风飘过的时尚界。裙子变长变短,颜色变来变去,领带变粗变细。而在科技界,严谨、科学、数学和精准统领时尚。
1457872899-7343-37cf47c362a12bceff5eeb19f45c
 
这倒不是说编程是一门没有潮流的行当。区别在于,引领编程潮流的是更高的效率、更强的定制性和易用性。做到其中一点或多点的新技术让旧技术相形见绌。这是精英管理的领域。
 
下面列出了当今编程群体中的热门和冷门,不是每个人对此都会表示同意。而这正是让编程成为一门无比吸引人的行当:迅速变化、热烈争论和突然东山再起。
 
热门:预处理器语言
冷门:全套语言
 
不久前,开发一种新型编程语言的人不得不构建一切,以便将代码转换成馈送到硅片的比特。后来,有人想他们可以利用之前取得的成果。现在,有巧妙点子的人干脆编写了预处理器语言,可以将新代码转换成拥有一套丰富的库和API的旧代码。
 
Python或JavaScript之类的脚本语言一度局限于小项目,而如今它们是完成专业工作的基础。不喜欢JavaScript的那些人开发了CoffeeScript,这种预处理器语言让他们再度可以不用繁多的标点符号,就能编写代码。还有许多变种,可以以不同的方式对语法进行preslicing和predicing处理。
 
喜欢动态类型的那些人开发了Groovy,这是一种更简单的Java,并不过分坚持使用标点符号。似乎有像Scala或Clojure这些在Java虚拟机(JVM)上运行的众多语言,但是只有一种JVM。你可以在.Net的虚拟机上运行许多语言。何苦重新发明轮子呢?
 
热门:Docker
冷门:虚拟机管理程序
 
这么说其实并不准确。虚拟机管理程序有其一席之地,许多Docker容器在操作系统里面运行,而操作系统就在虚拟机管理程序上运行。然而,Docker容器比虚拟机镜像实在小巧得多,这让它们使用和部署起来极其容易。
 
如果开发人员可以,宁愿只交付Docker容器,这归因于在部署过程中可以从容应对Docker容器。Joyent等一些英明的公司在搞清楚如何进一步精简系统,以便用它的话来说,容器可以在“裸机”上运行。
 
热门:JavaScript MV*框架
冷门:JavaScript文件
 
很久以前,每个人都学习编写JavaScript,以弹出警告框或查看表单中的电子邮件地址含有@ 符号。如今,HTML Ajax应用程序异常复杂,很少有人从头开始学起。采用一种巧妙的框架,编写一点粘合代码(glue code)来实现你的业务逻辑,这来得更简单。
 
现在有几十种框架,比如Kendo、Sencha、jQuery Mobile、AngularJS、Ember、Backbone、Meteor JS及众多框架,它们都准备好为你的Web应用程序和页面处理事件和内容。
 
那些只是Web应用程序。还有许多经过调优,可以为智能手机/平板电脑领域提供跨平台开发。诸如NativeScript、 PhoneGap和Sencha Touch之类的技术是利用HMTL5技术构建应用程序的几种框架而已。
 
热门:CSS框架
冷门:通用层叠样式表(GCSS)
 
从前,为网页添加一点生气意味着打开CSS文件,加入font-style:italic之类的新命令。然后,你辛苦完成了一上午的工作,保存好文件去吃午饭。而现在,网页非常精美,不可能用如此简单的命令来填充文件。要是对颜色作一处改动,其他统统会出毛病。一切都是密切联系的。
 
这时候,像SASS及其近亲Compass这些CSS框架站稳了脚跟。它们提供实变量、嵌套代码块和混入类(mix-in)等编程构件,鼓励简练、稳定的编码。这在编程层听起来并无多大的新意,可是对设计层来说向前迈出了一大步。
 
热门:SVG+基于Canvas的JavaScript
冷门:Flash
 
多年来,大家一直为Flash而疯狂,但是美工人员总是喜欢效果。抗锯齿渲染看起来很好,许多有才华的美工人员构建了一堆深入的Flash代码,提供精美的转场和动画效果。
 
鉴于JavaScript层能够处理许多一样的事务,浏览器生产商和开发人员高喊Flash已穷途末路。他们发现,与DOM层更好的集成来自可缩放向量图形(SVG)之类的新格式。SVG和HTML包含一大堆标签,而对Web开发人员来说,使用这些标签常常比较容易。另外还有大批API,它们为Canvas对象提供了精美的绘图功能,常常借助显卡。综上所述,就没有几个理由再使用Flash了。
 
热门:几乎很大的数据(分析数据不使用Hadoop)
冷门:大数据(使用Hadoop)
 
谁都喜欢觉得自己是某地的大人物;如果不是,他们会找个自己脱颖而出的地方。如此说来,当“大数据”这个词开始进入到管理层时,管理层开始要求最庞大最强大的大数据系统也就不足为奇了,那种气势如同购买游艇或摩天楼。
 
有意思的是,许多问题并非大得足以要使用最高端的大数据解决方案。当然,谷歌或雅虎之类的公司在跟踪我们的所有上网浏览记录;它们拥有的数据文件以数拍字节(PB)或尧字节(YB)来衡量。但是大多数公司的数据集可以轻松装入到一台普通PC的内存中。我在一台16GB内存的PC上写成了这篇文章――这个内容量足以容纳10亿个几个字节大小的事件。在大多数算法中,不需要将数据读入到内存中,因为从固态硬盘(SSD)流式传输数据就很好。
 
热门:Spark
冷门:Hadoop
 
Hadoop在渐渐冷淡下来,这么说不过分。相比之下,Spark炙手可热,让Hadoop模式看起来有点老旧。Spark借鉴了Hadoop方法的一些巧妙概念,从大量数据提取宝贵信息,在此基础上添加几处给力的改进,大大加快了代码的运行速度。最大的改进莫过于Spark将数据放在高速内存中,而不是要求将一切数据写入到分布式文件系统中。
 
当然,许多人在合并两者:利用Spark的速度,处理存储在Hadoop的分布式文件系统中的数据。它们与其说是竞争者,还不如说是合作者。
 
热门:人工智能/机器学习
冷门:大数据
 
没人知道“人工智能”这个短语啥意思,而这帮了营销人员的忙,特别是由于“大数据”这个术语日薄西山。他们搬来人工智能领域的术语,让处理日志文件和点击流的数字处理算法更臻完善。由于从有50多年历史的人工智能研究领域借鉴了更先进的算法,我们势必比以前更有机会从干扰信号中找到所需的信号。工具门类齐全,从机器学习框架到认知计算,一直到IBM的Watson――现在你可以借助Watson解决自己的问题。每种工具提供了各自的机器智能级别,因而有望为我们接过更多的数据分析和取证工作。
 
热门:游戏框架
冷门:原生游戏开发
 
从前,游戏开发意味着聘请大批开发人员,从头开始用C语言编写一切软件。当然,这种做法很烧钱,不过看起来很好。现在,没人有大把的金钱和时间编写自定义代码。多年前,大多数游戏开发人员放弃了引以为傲的资本,使用Unity、Corona或LibGDX之类的库,构建系统。他们为库编写的C代码不如指令那么多。大多数开发人员如释重负,因为他们没必要处理细节,他们可以把注意力集中在游戏玩法、叙事模式、人物角色和美工上。
 
热门:单页网页
冷门:网站
 
还记得URL指向全是静态文本和图片的网页吗?把所有信息放入到不同网页组成的网络即网站中是多么简单而老土。设计团队要花几个小时为网站地图争论不休、试图让网站浏览起来足够容易。
 
新的Web应用程序是装满内容的大型数据库的前端。当Web应用程序想要信息时,从数据库获取信息,然后注入到本地模型。不需要用构建网页需要的所有Web额外元素来标记数据。数据层完全独立于表示和格式化层。这里,移动计算的兴起是另一个因素:响应式设计的单一网页运行起来如同应用程序――更好地避免应用程序商店的混乱。
 
热门:移动Web应用程序
冷门:原生移动应用程序
 
假设你在移动内容方面有个好的点子。你可能忙不迭地为iOS、Android、Windows 8,可能甚至BlackBerry OS或其他某个平台编写不同的版本。每个版本需要不同的开发团队使用不同的编程语言。然后,每个平台的应用程序商店施展各自的手段,之后应用程序分发到用户。
 
你也可以构建一个HTML应用程序,把它放到在所有平台上运行的网站上。要是有什么变化,不需要回到应用程序商店,请求快速审查修正版。由于HTML层变得更快捷、在速度更快的芯片上运行,这种方法就能与原生应用程序展开更有力的竞争,哪怕是更复杂的交互式应用程序。
 
热门:Android
冷门:iOS
 
仅仅几年前,苹果专卖店门口排长龙的盛况司空见惯。现在时代变了。虽然iPhone和iPad继续受到铁杆粉丝的追捧,他们喜欢丰富精致的用户界面,但原始的销售数字继续偏向Android。一些消息来源甚至声称,市面上80%以上的手机是Android手机。
 
原因是成本,就是这么简单。iOS设备仍然价格不菲,Android领域却竞争激烈,许多厂商生产的平板电脑价格只有苹果产品的五分之一。能省钱始终很有诱惑力。
 
但是另一个因素可能是开源起到了影响。谁都可以在市场竞争,现状也确实如此。市面上有大小牌子的Android平板电脑。Android相机,甚至还有Android冰箱。没人需要跟谷歌说“老大,我可以搞吗?”,就可以创新。要是他们有什么点子,可以按自己的想法来做。
 
不过,苹果正在向Android界取经。iPhone 6提供不同的屏幕尺寸,你知道吗?又开始出现了排长龙的盛况。
 
热门:GPU
冷门:CPU
 
当软件很简单、指令呈线性排列时,CPU是计算机之王,因为它处理所有的繁重任务。鉴于视频游戏充斥着大量并行运行的图形化例程,显卡掌管一切。你很可能为一块高端显卡花上500美元、600美元,或更多,有些专业游戏玩家甚至使用不止一块显卡。这让许多基本台式机的价格翻番都不止。并不是只有游戏玩家吹嘘GPU卡功能多强大。如今计算机科学家也在转换许多并行应用程序,那样在GPU运行起来快数百倍。
 
热门:GitHub
冷门:简历
 
当然,你可以细读一份包括中学象棋俱乐部副会长的漂亮履历表,以此了解求职者的情况,但是阅读实际编写的代码更能看出对方的本事。他的注释是否写得很清晰?他是否浪费太多的时间将项目分成没多大用场的小类?是否有一种有余地拓展的真正架构?只要扫一眼对方编写的代码,所有这些问题都有答案。
 
这就是为什么参与开源项目对于找工作变得越来越重要。想共享来自专有项目的代码很难,而开源代码却畅行无阻。
 
热门:租赁
冷门:购买
 
亚马逊在黑色星期五大搞计算机及其他电子产品促销活动时,这家公司忘了加入云服务。给它点时间。不久前,许多公司自建数据中心,聘请自己的工作人员运行直接购买的计算机。而现在,它们改而租赁计算机、数据中心、工作人员甚至软件,按小时支付租费。没人想要自己拥有一切所带来的麻烦。这是个好办法,至少在网站迅速流行开来,你认识到什么都是按点击付费之前是这样。现在要是亚马逊找到办法用它的无人机来提供云服务,那么这些趋势就会融合。
 
热门:云复杂性
冷门:云简单性
 
在云计算的早期阶段,许多厂商强调点击按钮、就能让机器运行起来有多容易。那时,简单为王。
 
现在,选择合适的机器、弄清楚合适的折扣计划所花的时间比编写代码的时间还要多。有众多的机器配置文件可以用,大多数云服务提供商支持其中一些旧的模式。所有提供商提供独特的性能级别,所以你最好还是准备好对它们作一番横向比较,确定哪个对你来说最具成本效益。选择较少的内存量也没关系,因此每小时可以省12美分,这值得吗?如果你一次启动100个机器、运行几个月,这肯定是值得的。
 
让情况更复杂的是,云公司为通过预先付款或批量购买而享受折旧提供了几种选择。你也得把它们列入电子表格中。确实够复杂的了,得了解云成本结构才行。
 
热门:IaaS
冷门:PaaS
 
谁不想受到特别照顾?谁不想得到额外帮助?没错,开发人员常常喜欢得到使用标准PaaS时得到的所有额外支持。有许多额外的功能特性,其中一些确实很有用。
 
不过存在令人担心的一大问题:平台意味着被厂商锁定。有时候这个缺点值得忍受,但有时候就是一场噩梦。IaaS选项更允许变更。要是你不喜欢在IaaS机架里面运行的Ubuntu服务器,就可以在办公室自行安装一台Ubuntu服务器。如果换成PaaS,恐怕就没有这么容易了。
 
热门:Web界面
冷门:IDE
 
很久以前,大家使用命令行编译器。后来,有人将该编译器与编辑器和其他工具集成起来,组成了集成开发环境(IDE)。现在,是IDE让位于基于浏览器的工具的时候了,这种工具让你可以编辑代码(常常是工作系统的代码)。如果你不喜欢WordPress的运作方式,它随带一个内置编辑器,你可以立即当场改变代码。微软的Azure让你可以直接在其门户网站中编写JavaScript粘合代码。这类系统并不提供最佳调试环境,编辑生产代码也存在一定的风险,不过想法有其过人之处。
 
你可以开始使用Cloud9、Aptana和Mozilla的WebIDE,但要不断深入探究。Web界面的功能变得越来越强大。比如说,可以在微软的Azure网站中构建整个大数据分析项目。
 
热门:Node.js
冷门:JavaEE和Ruby on Rails
 
服务器领域的繁荣发展始终立足于线程模型(threaded model):这种模型让操作系统可以迁就编程员的任何难以捉摸、效率低下或放纵的行为。无论编程员编写了什么样的愚蠢循环或浪费资源的运算,操作系统都会在线程之间切换,以此兼顾性能。
 
随后出现了Node.js,一同出现了JavaScript回调编程模型,代码运行起来飞快,比任何人预计从一度只用于编写警告框的小儿科语言都要快。突然,编写新线程的开销变得很明显,Node.js随之流行起来。编程员没有规范编程时,问题随之出现,但负责任地编程对他们来说总体上是好事。让资源约束在编程员面前一目了然,通常会开发出运行速度更快的代码。
 
Node.js界还得益于确保浏览器和服务器之间和谐。同一代码在两个平台上都可以运行,那样开发人员更容易移动特性、复制功能。因而,Node.js层已成为互联网上最热门的开发堆栈。
 
热门:PHP 7.0
冷门:老式PHP
 
在过去,PHP是快速设计几个动态网页的一种简单方法。如果你需要一点多样性,可以在HTML标签之间嵌入简单代码。它够基础,因而Web开发人员积极采用了它,但速度也够慢,因而受到专业编程员的嘲笑。
 
那是以前的事了,因为WordPress和Facebook等公司的一些PHP爱好者一直在竭力提高执行PHP代码的运行速度,为此引入了即时(Just-in-Time)编译器技术,这项技术曾经让Java成为这样一种高性能解决方案。现在,像HipHop Virtual Machine和PHP 7.0这些工具提供的速度可能两倍于老版本PHP。接招吧,Node.js和Java。
 
热门:即时教育
冷门:提前四年
 
以计算机为媒介的课程不再是新鲜事物,大家都在享受上视频课堂的好处:可以使用按钮快进、放慢内容或者请教授重复那最后一点。在线论坛也比讨论时每次只有一个人可以呱呱讲的传统研讨室有了改进。
 
但是颠覆教育行业实体的不仅仅是在线课程背后的性质和技术,还有可以根据你的需要,灵活地随时随地学习。这改变了格局,因为大家再也不必花四年的昂贵学费,学习一大堆与今后生活有没有关系不好说的课程。如果你知道实际上只要使用一种编译器,何必要上介绍众多编译器的课程?如果老板想由关系数据库改为NoSQL引擎,那么你可以花时间上课,学习现代数据存储。你可以在需要时获得最新信息,不至于被很快腐烂的概念搞乱了头脑。

来源:未知//所属分类:编程杂谈/更新时间:2016-03-21 21:56
顶一下
(0)
0%
踩一下
(0)
0%
上一篇:关于某些编程语言的命名方式
下一篇:你在编程的时候浪费了多少时间?
相关内容