15种热门的编程趋势——还有15种正在降温
热吗?从网络到主板到训练基地,得到什么是什么是在应用程序开发的独家新闻

15种热门的编程趋势——还有15种正在降温
在技术的世界里,严谨、科学、数学和精确主宰着时尚。但这并不是说编程是一个没有趋势的职业。在更高的效率、更高的定制化和更容易使用的驱动下,新技术不断发展,希望能超越前几代人。
下面列出了当今程序员中最热门的和不热门的。不是每个人都会同意哪些是a上市的,哪些是d上市的,哪些被遗漏了。但这正是编程成为一种永无止尽的迷人职业的原因:快速的变化、激烈的辩论、突然的回归。
热:预处理器|不是:完整的语言堆栈
不久前,创建一种新的编程语言意味着要构建一切能将代码转化为输入到硅中的比特的东西。然后有人发现他们可以利用以前的成果。现在,有聪明想法的人只需编写一个预处理器,用一组丰富的库和api将新代码转换为旧代码。
喜欢动态类型的人创建Groovy,这是一个简单的Java版本,没有过分坚持使用的标点符号。那些想要修复JavaScript的人创建了CoffeeScript,这是一个预处理器,可以让他们不用繁琐的标点符号进行编码。似乎有数十种语言,比如Scala或Clojure在JVM上运行,但是只有一个JVM。为什么要重新发明轮子?
热点:JavaScript MV*框架|不:JavaScript文件
很久以前,每个人都学会了编写JavaScript来弹出警告框或检查表单中的电子邮件地址是否包含@符号。现在HTML AJAX应用程序是如此复杂以至于很少有人从头开始。采用一个精心设计的框架和编写一些粘合代码来实现业务逻辑更简单。现在有几十个框架像Kendo, Sencha, jQuery Mobile, AngularJS, Ember, Backbone, Meteor JS,和更多——所有准备处理事件和内容为您的Web应用程序和页面。
CSS框架|不是:通用级联样式表
向Web页面添加pizzazz意味着打开CSS文件并包含一个新命令,比如字体样式:斜体
。现在,Web页面是如此复杂,以至于不可能用这样简单的命令填充文件。对颜色稍作调整,一切都会不正常。这就像他们所说的阴谋论和生态:一切都是相连的。
这就是CSS框架,比如SASS和它的表亲Compass,找到了坚实的基础。它们通过提供诸如实变量、嵌套块和混合等编程构造来鼓励熟练的、稳定的编码。这在编程层听起来可能不太新鲜,但对于设计层来说却是一个巨大的飞跃。
热点:SVG + JavaScript在画布上|不:Flash
多年来,Flash一直让人抓狂,但艺术家们很喜欢这样的效果。反锯齿渲染看起来很棒,艺术家们已经构建了大量的Flash代码来提供复杂的过渡和动画。
现在JavaScript层有能力做同样的事情,浏览器制造商和开发者都在为Flash的终结而欢呼。他们认为与DOM层更好的集成来自SVG(可伸缩向量图形)等新格式。SVG和HTML由一大堆标记组成,Web开发人员通常更容易使用它们。还有一些大型api提供了在画布对象上进行精细绘图的功能,这些api通常借助视频卡。把它们放在一起,就没有理由再使用Flash了。
热点:几乎大数据(无Hadoop分析)
许多问题还不够大,无法使用最花哨的大数据解决方案。当然,像谷歌或雅虎这样的公司会跟踪我们所有的网页浏览记录;他们的数据文件以单位为单位。但大多数公司的数据集都能装进一台基本电脑的RAM——16GB的RAM足够用几个字节处理10亿个事件。在大多数算法中,数据不需要读入内存,因为从SSD中进行流媒体处理就可以了。
有些实例需要Hadoop云中并行运行的几十台机器的快速响应时间,但许多实例在单台机器上运行也很好,没有协调或通信的麻烦。
热点:游戏框架|而不是:本地游戏开发
曾几何时,游戏开发意味着雇佣大量从头开始用C编写所有东西的开发人员。当然,它花费了亿万美元,但它看起来很棒。现在,没有人能负担得起定制代码的奢侈。许多游戏开发人员几年前就放弃了他们的骄傲,转而使用像Unity、Corona或LibGDX这样的库来构建他们的系统。他们编写的C代码不如为库编写的指令多。
我们的游戏不是基于骄傲的手工制作,而是使用相同的引擎,这是一种遗憾吗?大多数开发者都松了一口气——因为他们不必去处理细节,他们可以专注于游戏玩法、叙事弧线、角色和艺术。
热点:单页网页应用|不是:网站
还记得当url指向充满静态文本和图像的Web页面吗?把所有的信息放在一个叫做网站的独立网页的网络中是多么简单和有趣啊!
新的Web应用程序是充满内容的大型数据库的前端。当Web应用程序需要信息时,它会从数据库中提取信息,并将其倒入本地的模具中。没有必要用构建Web页面所需的所有Web额外内容标记数据。数据层与表示层和格式层是完全分离的。在这里,移动计算的兴起是另一个因素:一个单一的、响应式设计的网页,工作起来就像一个应用程序——这一切都是为了更好地避免应用程序商店的混乱。
热点:移动Web应用|不是:本地移动应用
假设你有一个关于移动内容的好主意。你可以匆忙地为iOS、Android、Windows Phone 8等等编写独立的版本。每个项目都需要一个使用不同编程语言的独立团队。然后,每个平台的应用程序商店在应用程序可以交付给用户之前,会发挥自己的作用。
或者你可以只创建一个HTML应用程序,然后把它放到一个网站上,在所有平台上运行。如果有变化,你不需要回到应用商店,乞求一个快速检查修复错误。现在HTML层变得越来越快,并且运行在更快的芯片上,这种方法可以在更复杂的交互式应用程序上更好地与本地应用程序竞争。
热点:Android |不是:iOS
当iPhone和iPad继续拥有热爱其丰富、复杂的用户界面的忠实粉丝时,Android的原始销售数据却越来越受青睐。原因可能和价格一样简单。虽然iOS设备保持了高昂的价格,但Android世界充斥着大量竞争,生产的平板电脑的价格只有iOS设备的五分之一。省钱总是一种诱惑。
但是另一个因素可能是开源的影响。任何人都可以在市场上竞争——他们确实做到了。有大的安卓平板电脑,也有小的。有Android摄像头,甚至还有Android冰箱。没有人需要对谷歌说,“妈妈,可以吗?”来创新。如果他们有了想法,他们就会跟着自己的想法走。
Hot: GPU |不是:CPU
当软件简单,指令排列整齐时,CPU是计算机之王,因为它完成了所有繁重的工作。既然电子游戏中充满了大量的图形例程,可以并行运行,那么就由显卡来运行。花500美元、600美元甚至更多的钱买一张漂亮的显卡很容易,一些真正的游戏玩家使用不止一张显卡。这是许多基本台式机价格的两倍多。
夸耀自己的GPU卡的不仅仅是游戏玩家。计算机科学家们现在正在转换许多并行应用程序,使其在GPU上运行速度快数百倍。
热点:GitHub |不是:简历
当然,你可以通过阅读一份自吹自擂的成就清单来学到一些东西,其中包括担任初中象棋俱乐部副主席。但读别人的真实代码更丰富,更有教育意义。他们能写出好的评论吗?他们是否浪费了太多的时间把元素分解成很少的类?有一个真正的建筑可以扩展吗?所有这些问题都可以通过浏览一些代码得到答案。
这就是为什么参与开源项目对于找工作变得越来越重要的原因。共享来自专有项目的代码很困难,但是开放源代码可以随处可见。
热:Web接口|不:ide
很久以前,人们使用命令行编译器。然后有人将其与编辑器和其他工具集成,从而创建IDE。现在是时候让基于浏览器的工具对IDE进行eclipse (ha)了,这些工具允许您编辑代码(通常是工作系统的代码)。
如果你不喜欢WordPress的工作方式,它有一个内置的编辑器,可以让你随时修改代码。微软的Azure允许您在其门户中编写JavaScript粘合代码。这些系统没有提供最好的调试环境,编辑生产代码也有一些危险,但这种想法是可行的。
Node.js |不是JavaEE, Ruby on Rails, PHP
服务器世界一直在线程模型的基础上蓬勃发展。愚蠢的循环、浪费的计算、任性而低效的编码——操作系统可以通过在线程之间切换来平衡性能。
然后node . js出现通过它的回调编程模型,代码运行速度比任何人预期的都快,这是一种“玩具语言”。突然之间,创建新线程的开销变得明显起来,Node.js开始起飞。当程序员表现不好时,问题就出现了,但是责任在很大程度上对他们来说是好的。让程序员明白资源约束通常会产生更快的代码。
js世界还得益于浏览器和服务器之间的和谐。相同的代码在两者上运行,使得开发人员更容易移动特性和复制功能。
版权©2014Raybet2