洞见未来:21项热点编程趋势和21项趋冷技术

程序员喜欢冷笑时尚界,像微风一样吹拂着潮流。 诸如裙子下摆上升和下降、颜料来来去去变、领带变得更肥厚,然后又更轻薄。 但在技术界,严谨、科学、数理和精确统治时尚标准。

这其实不是说编程是一个没有趋势转变的职业。 不合之处在于编程趋势是由更高的效率、更高的定制和易用性驱动的。 交付的一项或多项新技术超出着上一代。 这是一种任人唯才、以才适用精英驾驭的世界,而不是古怪的奇思妙想浮云般略过。

接下来是给现今程序员的一个列表,其中有热点以及非热点内容。固然,不是每个人城市同意A清单列出的内容、D清单列出的内容,以及遗漏的内容。 正因为如此,编程才是一个永无止境的迷人职业:快速转变,激情辩论,突然复出。

1、Hot:预措置器 | Not:全语言栈

不久前,建立新编程语言的人必须构建所有能够将代码转换二进制的位以供硅片识读(由硅质的集成电路芯片措置)。 现在,拥有伶俐主意的人,只需编写一个预措置器,就能将新代码转换为具有丰富库和API的旧代码。

像Python或JavaScript这样的脚本语言曾经仅限于小项目,但现在它们是认真严谨工作的基础。 那些不喜欢JavaScript的人建立了个CoffeeScript预措置器,这让他们再次编码,且没有繁琐的标点符号。另外,还有许多变体以不合的体例进行预测和提示语法。

喜欢动态类型的人建立了Groovy,这是一个简单的Java版本,没有过于坚持的标点符号。 似乎有几十种语言,诸如 Groovy,Scala,Clojure,Kotlin等 在JVM上运行,但只有一种JVM。 您也可以在.Net的VM上运行多种语言。为什么重新发现轮子?

也就是说,你可以在现有基础条件上,通过预措置器来开发新的语言,而不是从头来弄一门新语言。

2、Hot: Serverless | Not: Docker

这不完全正确。Docker容器无处不在。 虽然办事器一直在运转着来关闭容器,可是,Docker容器比它们需要的容量大很多。

如果你考虑一下,你可能只会为你正在摆设的微办事编写几十行真正的决策代码,可是你需要投入大量的配置才能使Node.js和其他任何工具开始 正确使用Docker。 是的,这都是样板,可是没错。

新的无办事器架构让我们只摆设那些做出真正决策的if-then-else语句。 其他一切都由那些租用无办事器平台的人来完成。

是的,我们会在几年内埋怨锁定和缺乏定制,可是现在无办事器选项似乎使所有的devops和配置从中获得解脱。

3、Hot: JavaScript MV* frameworks |Not: JavaScript files

很久以前,每个人都学会编写JavaScript以弹出警告框或检查表单中的电子邮件地址是否包含 @符号。 现在HTML AJAX应用程序很是复杂,很少有人从头开始。 采取精心设计的框架并编写一些粘合代码来实现业务逻辑更为简单。

现在有许多框架,如Vue,Kendo,Sencha,jQuery Mobile,AngularJS,Ember,Backbone,Meteor JS等等,都准备好措置您的Web应用程序和页面的事件和内容。

这些只是网络应用程序。 还有一些调剂为智能手机/平板电脑世界提供跨平台开发。 NativeScript,PhoneGap,Apache Cordova和React Native等技术是使用HTML5技术建立应用程序的一些选项。

4、Hot: CSS 框架 | Not: 通用CSS

曾几何时,在网页上添加一些趣味意味着打开CSS文件并编写包含的一个新命令,如font-style:italic。 然后你保存了文件,并在一上午艰苦的工作后去吃午餐。 现在网页很是复杂,用这么简单的命令填写文件是不成能的。 对颜色进行一次调剂,一切都变得不正常了。 这就像他们对阴谋和生态学所说的那样:一切都是相互联系的。

这就是像SASS这样的CSS框架及其像Compass这样的兄弟存在,已经找到了稳固的基础来解决此类问题。 它们通过提供编程结构(如实变量,嵌套块和混合)来鼓励有识读能力且稳定的编码。 它可能听起来不像编程分层化中的新鲜事,但它是设计层的一个重大奔腾。

5、Hot: SVG | Not: Flash

Flash已经让人们疯狂多年,并且艺术家们一直都喜欢这种结果。 抗锯齿渲染看起来很棒,许多有才调的艺术家已经构建了一大堆Flash代码来提供复杂的过渡和动画。 休闲游戏继续很是受欢迎。 因此,Flash在网络上依然存在。

既然JavaScript层能够做很多相同的事情,那么浏览器制造商和开发人员就为Flash的终结而欢呼了。 他们看到与来自SVG(可缩放矢量图形)等新格式的DOM层可更好地集成。 SVG和HTML包含一大堆标签,Web开发人员通常更容易使用它们。 然后有大量的APIs,通常在视频卡的帮忙下,在Canvas对象上提供精细的绘图。 把它们放在一起,你就没有理由再使用Flash了。

6、Hot:不带Hadoop大数据 | Not:带Hadoop大数据

每个人都喜欢感触感染像校园里的大人物,如果他们不是,就去寻找一个适合他们能够脱颖而出的的校园。 毫不奇怪,当"大数据"这个词开始流入执行套件(软件解决方案)时,套件就开始要求最大,最强的大数据系统,就好像他们购买游艇或摩天大楼一样。

有趣的是,许多问题都不足大到使用最精彩的大数据解决方案。 固然,像谷歌或雅虎这样的公司跟踪我们所有的网页浏览; 他们有以PB或yottabytes为单位的数据文件。 但大大都公司的数据集都可以轻松放入基本PC的RAM中。 我正在一台拥有16GB内存的PC上写这个内容,足以支持十亿个带有少量字节的事件。 在大大都算法中,数据不需要读入内存,因为从SSD流式传输可以很好。

有些实例要求并行运行的Hadoop云中的数十台机器的快速响应时间,但许多机器可以在一台机器上进行精确插拔,而无需协调或通信的麻烦。

7、Hot: Spark | Not: Hadoop

其实不是说Hadoop正在降温。 更多的是Apache Spark炙手可热,使得Hadoop模型看起来有点旧。 Spark借鉴了Hadoop从大量数据中提取含义的体例的一些最佳想法,并通过一些可靠的改进来更新它们,使代码运行得很是很是快。 最大的可能是Spark将数据保存在快速内存中,而不是要求所有内容都写入散布式文件系统并从中读取。

固然,很多人通过使用Spark对Hadoop散布式文件系统中存储的数据的措置速度来合并这两者。 Hadoop和Spark通常更多是合作伙伴而非竞争敌手。

8、Hot: 数据库配置 | Not: 软件编程

很久以前,程序员曾经开玩笑说他们不知道下个世纪的编程会是什么样子,但他们知道它会被称为Fortran。 这个笑话很有趣,他们会从恐龙身上失落下来,打破他们的木制内衣。 然后他们会回去配置数据库。

我们今天仍然在构建数据库,但我们所认为的"数据库"现在已经变得更加复杂和强大。 现成的数据库将在各大洲同步,同时在一致性和速度之间提供灵活的权衡。 像Firebase这样的云办事会将新数据推送到移动客户端上运行的网络应用程序。

大大都无办事器革命都基于这样的认识:许多云数据存储现在很是强大,我们只需编写一些if-then-else子句来构建一个很是酷的Web应用程序。

9、Hot: 游戏框架 | Not: 本地游戏开发

曾几何时,游戏开发意味着雇佣大量开发人员从头开始用C编写所有工具。 固然,它耗资数十亿美元,但它看起来很棒,并且像风一样。 现在,没有人能够承担得起定制代码的奢侈品。 大大都游戏开发者多年前抛却了自己的骄傲,并使用Unity,Corona或LibGDX等库来构建他们的系统。 他们不像编写库的指令那样编写C代码。

我们的游戏不是骄傲地手工制作,而是用相同引擎冲压出来,这是不是很可惜? 不。 大大都开发人员都松了一口气。 因为他们不需要措置细节,所以他们可以专注于游戏,叙事弧,人物和艺术。

10、Hot: 静态网站生成器 | Not: 单页面web应用

还记得URL指向布满静态文本和图像的网页吗? 然后,动态的单页Web应用程序呈现并用一个伶俐的Web应用程序替换它们,这些应用程序将获取要求的数据。 你猜怎么了? 钟摆向后摆动,所有孩子都在建造静态网站的生成器。 有几十个。 它就像hybrid(混合动力车)。 您将所有数据放在一堆里,然后编写一些将数据粘贴到某些模板中的代码,以便每个静态URL都有一个HTML文件,这来自数据表中的每一行。

孩子们认为这些静态网站是超高速的。 只是不要告诉他们像WordPress和Drupal这样的旧动态系统的工作体例大致相同,即通过连结几乎使用最新数据填充生成的静态页面的缓存来工作。

11、Hot: GraphQL | Not: REST

这其实不是说REST已经死了。 只是我们想要使用API做更多的事情,而GraphQL是一种体例。 GraphQL返回JSON中的数据,就像REST一样。 GraphQL从HTTP POST开始,就像许多REST挪用一样。 只是GraphQL语法允许您只需几次敲击就可以指定很是复杂的查询。 这使程序员更容易查询他们想要什么,并且当有人想要稍微不合的API时,它减少了必须完成的办事器端工作量。

也就是,GraphQL可以按需获取数据。

12、Hot: Cloud IDEs | Not: Local IDEs

很久以前,人们使用命令行编译器。 然后有人将其与编辑器和其他工具集成以建立IDE。 现在是时候通过基于浏览器的工具,让IDE黯然失色,这些工具可以让你编辑代码,甚至是工作系统的代码。 如果您不喜欢WordPress的功能,它会附带一个内置编辑器,可让您随时更改代码。 Microsoft的Azure允许您在其门户中编写JavaScript粘合代码。 这些系统没有提供最好的调试环境,编辑生产性代码有一些危险,但这个想法很有事理。

您可以从AWS Cloud9,Codenvy和Mozilla的WebIDE开始,并要连结不竭探索。 基于网络的工具正变得越来越强大。 例如,可以在Microsoft的Azure网站上构建一个完整的大数据阐发项目。 如果您开始探索无办事器选项,您将很快发现您可以在网页上的表单位素中编写所有代码,这是个不比在Facebook上用于更新朋友信息的表格大几多。

13、Hot: GPU | Not: CPU

当软件很简单并且指令排成一行时,CPU就是计算机的王者,因为它完成了所有沉重的工作。 现在,视频游戏布满了可以并行运行的大量图形例程,视频卡运行了该展现。 在花哨的视频卡上花费500美元,600美元或更多是很容易的,而一些严肃的游戏玩家使用不止一个。 这是许多基本台式机价格的两倍多。

另外,游戏玩家不是唯一揄扬他们的GPU卡的人。 计算机科学家现在正在将许多并行应用程序转换为在GPU上运行,速度快数百倍。 数据科学家正在使用装有GPU的办事器来加速其机器学习模型的开发。

14、Hot: GitHub | Not: Résumés

固然,你可以通过阅读包含初级国际象棋俱乐部副总裁在内的一系列成绩来了解候选人。 但阅读某人的实际代码更丰富,更有启发性。 他们写好评吗? 他们是否浪费了太多时间将物品分成很小的类? 是否有真正的架构可以扩展? 所有这些问题都可以通过他们的代码一瞥来回答。

这就是为什么介入开源项目对找工作变得越来越重要的原因。 从专有项目共享代码很难,但开源代码可以随处可见。

这是说,在GitHub上秀出你的实际代码,而不是简历的描述,使你更好的找工作。

15、Hot: 租用 | Not: 购买

当亚马逊在黑色星期五推出其计算机和其他电子产品的销售时,该公司忘记了为其云计算提供超值优惠的交易。 给它时间。 不久前,公司开设了自己的数据中心,并聘请了自己的员工来运行他们直接购买的计算机。 现在他们按小时租用计算机、数据中心、员工,甚至软件。 没有人想要拥有任何工具,甚至管理办事器的麻烦。 这是一个好主意,至少在网站流行起来,并且你也意识到你通过点击支付所有工具。

16、Hot: 复杂运 | Not: 简单云

云计算的早期阶段,供应商强调单击按钮并运行机器是何等容易。 朴素是王道。

现在选择正确的机器并找出合适的折扣程序可能比编写代码花费更多的时间。 有许多机器配置文件可用,大大都云提供商支持一些旧型号。 所有这些都提供怪异的性能水平,因此您最好准备好对它们进行基准测试,以确定哪种体例对您来说最具本钱效益。 是否值得每小时节省12美分以减少内存? 如果你一次开转100台机器,可能就好了。

为了使事情变得更加复杂,云公司提供了几种通过提前付款或批量购买来获得折扣的选择。 您还必须将它们放在电子表格中。 这足以投资于云本钱工程的在线课程。

17、Hot: 移动web应用 | Not: 本地移动应用

假设您对移动内容有个好主意。 你可以从速为iOS,Android,Windows 10 Mobile甚至黑莓操作系统编写零丁的版本。 每个人都需要一个零丁的团队讲一种不合的编程语 。然后,每个平台的应用程序商店城市发布自己的一点工具,然后才能将应用程序交付给用户。

或者您可以构建一个HTML应用程序并将其放在网站上以在所有平台上运行。 如果有转变,您无需返回应用程序商店,请求快速查看毛病修复。 现在HTML层变得越来越快,并且在更快的芯片上运行,这种体例可以与本机应用程序竞争,即使对复杂的交互式应用程序也是如此。

就是说,移动web相应更快,迭代更快。随着基础条件的支持会越来越好。

18、Hot: Android | Not: iOS

几年前那条线路是否已经从Apple的商店中掠过? 时代在变。 虽然iPhone和iPad继续拥有热爱其丰富、精致的用户界面的专用粉丝,但原始销售数字仍然偏向Android。 一些报导甚至说,跨越80%的手机销售的是Androids。

原因可能与本钱一样简单。 虽然iOS设备仍然花费相当一分钱,但Android世界充满着大量竞争,这些竞争产生的平板电脑价格只有五分之一。 省钱总是一种诱惑。

但另一个因素可能是开源的影响。 任何人都可以在Android市场中竞争——并且他们也可以那么干。 有大型Android平板电脑和小型平板电脑。 有Android相机甚至Android冰箱。 没人非得说,“可以去”谷歌进行立异? 如果他们有一个想法,他们会跟随他们的想法去做。

19、Hot: Node.js | Not: Java EE, Ruby on Rails

办事器世界一直在线程模型上蓬勃成长,让操作系统陷溺于程序员任何任性、低效或抛却的行为。 无论愚蠢的循环或程序员编码的浪费计算,操作系统城市通过在线程之间切换来平衡性能。

然后Node.js呈现了编程的JavaScript回调模型,代码的运行速度比任何人认为可能只用于警报框的玩具语言快很多。 突然间,建立新线程的开销变得明显,Node.js就开挂了。 当程序员表示欠好时会呈现问题,但责任在很洪流平上对他们有利。 对程序员来说明显的资源限制通常会产生更快的代码。

Node.js世界也受益于浏览器和办事器之间的和谐。 两者都运行相同的代码,因此开发人员更容易移动功能和复制功能。 因此,Node.js层已成为Internet上最热门的仓库。

20、Hot: PHP 7.2 | Not: Old PHP

在过去,PHP是一种简单的体例来淘汰一些动态网页。 如果您需要一些转变,可以在HTML标识表记标帜之间嵌入简单的代码。 这对Web开发人员来说已经足够基础了,可是慢到足够吸引来自核心程序员的冷笑。

这是个老消息,因为像WordPress和Facebook这样的处所的一些PHP快乐喜爱者通过采取曾经使Java成为高性能解决方案的Just-in-Time编译器技术,比以往更快地竞争执行PHP代码。 现在,像HipHop虚拟机和PHP 7.2这样的工具提供的速度可能是旧版本的两倍。 接受吧,都遇上了Node.js和Java。

21、Hot: 即时教育| Not: 四年苦学

计算机中介课程不再是新的,每个人都享受着观看带有按钮的视频讲座的优势,这些按钮用于加速、减速或要求教授重复最后一点。 在线论坛也改进了旧的研讨会议室,一次只有一个“大嘴”可以主导讨论。

可是,不可是在线课程背后的技术性质正在倾覆教育财产的复杂性; 无论何时何地,您都可以灵活地学习。 目前正在改变这种动态,因为人们不再需要为可能与他们的生活相关或可能与他们的生活无关的大量课程投入四年的无耻学费。

为什么要学习编译器课程,你知道你真的会在编译器上工作? 如果老板想要从关系数据库切换到NoSQL引擎,那么您可以将时间花在现代数据存储的课程中。 您可以在需要时获得最新信息,并且不会因为快速腐臭的想法而混淆您的大脑。

也就是说,学会自力思考,把时间和精力放在“适当”的标的目的上,而不是花四年时间,有关无关的全学一下,又很快忘了。时代在变,掌握新的学习体例,即时教育与终身学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值