但从另外一些情况来看,这一消息姗姗来迟。基于一些软件开发社区调查出的Flash使用率,大家可能早已知道该技术的衰退。一个最为显著的例子就是我们的StackOverflow Trends Tools,从中可以看出Flash从2011年起就不断地衰退。
Flash命运的这一逆转印证了大众早先看法的正确性,即苹果在2010年在iPad上取消对Flash的支持,实则“扼杀”了它的发展。
如果说Flash的衰退是人们早预料到的,那么其他还有哪些技术将会过气呢?下面我们摆出Stack Overflow的数据来研究一下。
即使从2011年起,基于Flash的开发活动就开始明显减少,但在过去十年间,Flash依然有其拥趸(有其历史背境的原因)。那么会不会存在其他一些技术,虽然它们表面上看起来良性发展,但实际上在过去的几年内,已经在慢慢衰退呢?
要回答这个问题,先来看看Stack Overflow上这几年发布的问题帖子,也即我们的Trends(趋势)工具所用的数据。通过考察过去五年内的趋势(包含了一度增长、达到峰值,然后开始衰退的各种技术标签),然后评估每种技术的衰退速率。这是公共数据(你可以利用这一查询来自己下载),我也很希望其他人来自己调查一下。
如果关于某一技术的相关问题每年平均减少了至少10%,那么我们就认为这项技术处于衰退状态。按照这一标准,我们看看快速衰退的技术都有哪些?
从2010年起,Stack Overflow上快速衰减的两个技术标签是Flex(一种基于Flash的Web应用框架)和微软的Silverlight。这两种技术衰减的速度甚至超过了Flash本身,尤其是Flex,有关问题数自2010年一度达到顶峰后就开始急速衰减。就它们在网站上的存在状况来看,这些技术已经下降了约2个数量级。
其中一项技术Silverlight已被废弃:微软于2015年宣布,自2021年起,他们将彻底停止支持Silverlight。Flex虽然从技术上受到官方支持(从2011年起,东家由Adobe换成了Apache基金会),但考虑到Flash地位的下降,以及在开发者问题帖中濒危的存在感,很难说这项技术有什么前途。
主流技术(这里指从2010年起至少有10万问题的技术)倒是很少有显著衰退。自Stack Overflow创立起(2008年),有关微软的Web 框架
ASP.NET的问题有一定的减少。这可能是一种假象,因为刚开始时,论坛并没有太多的C#开发者加入进来。不过这可能也表明,微软技术在Web开发者心中的地位在有所降低。
Rubyon Rails相关问题差不多直到2011年才开始变得越来越多起来,而后又慢慢减少。随着Swift慢慢将取代Objective-C成为iOS开发首选语言,Objective-C的相关问题也在减少。同样,“iphone”与“ipad”这样的标签也正被有关Apple移动平台的综合性ios标签所取代(有关趋势的相关细节可查看我们的博文)。
在这段时间内,还有其他一些技术也在快速衰退。Perl的影响力都衰退已经持续了很长时间(然而值得注意的是,比起Flash或Flex这种彻底僵结的标签而言,有关它的每月提问数仍有增长。)有关Facebook 应用平台的相关问题在2012年达到顶峰,但随后也稳步缩减。Eclipse IDE的相关问题在2014年前后开始缩减。Jquery Mobile虽然是自适应式Web开发的一个流行库,但根据问题数,近年来开发者对它的兴趣似乎有所降低。
2. 从问题被查看次数来考察会不会另有新意?
当然,问题数量并不一定体现相关技术的真实生命力。在遇到一个问题时,开发者往往并不会先提出自己的问题,他们会先搜寻一下现有解决方案。如果论坛上已有很多相关问题存在,用户就会从这些问题中找到方案,而不会再提出新问题。那么对于以上说过的这些技术,是否有些技术的标签,已提出的问题被查看的几率会更大呢?
下面我们从问题被查看的次数入手来考察,基于从2011年底的流量数据。
我们能从这些标签的流量上看出相同的衰退特征吗?
对于本文已考察过的处于衰减状态的技术标签而言,我们大体可以认为,采用流量与问题数这两种方法所揭示出的结论基本一致。自2012年至今,有关Flash、Flex及Siverlight问题的流量已降至接近零点。ASP.NET与Roby on Rails虽仍占据足够大流量,但无疑在慢慢衰退。Eclipse在2014年前还保持稳定,之后就开始衰退。
从我们已分析的绝大多数标签情况来看,相对于问题而言,问题的流量往往是一个稍显滞后的指标。一旦某种技术新问题的比例开始减少,问题流量很快也开始减少。注意,这一流量现象的产生原因并非是试图查看新问题这一行为那么简单,因为约98%的论坛流量是由回答非当天问题所产生的。更准确地说,这种现象可能证实了这样一种行为转变:当开发者不再需要对某一技术提出新问题,自然也就不会查看该技术现有解决方案了。
3. 结论:问题是否能真实地反映出某项技术的生命力?
C++之父比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)曾经说过:“只有两种编程语言:一种是受人针砭的,一种是没人使用的。”我认为在大部分情况下,他的这种看法也适用于提问。
我们这些数据团队的人经常会通过论坛问题数量(或查看次数)来研究技术的生命力。针对此法的批评意见也有很多,他们认为问题数或流量真正揭示出的是对某项技术感到困惑的人所占的比例,而更习惯于此技术的人(或称熟练用户)可能并不需要提问。诚然,任何一项标准的误差与缺陷都不容忽视,某项技术的熟练用户确实也是应考虑的一项干扰因素。
不过,我依然认为Trends数据可以给予重要启迪。首先,问题会有穷尽吗?我不认同,因为这比我们说世上该写的书都写完还要荒谬。迄今为止,论坛上有140万个JavaScript问题,然而问题数量还在稳步增长。如果有关JavaScript的问题都问光了,我们又何必继续问下去呢?
其次,如果某项技术的使用者都已能完全熟练地使用它,则意味着该技术社区已经陷入停滞。某项技术生态环境是否具有生命力,其中一点就在于新用户能否源源不断地涌入其中,以及是否有大批专家在不断地研究平台的缺陷。这两类用户都会在其工作进程中经常提问。回到2011年,某位Flash开发者可能会辩解道:“的确,有关Flash的问题数量最近是在缩减,但那是因为它的开发文档对我们很有帮助,大家都知道该怎么用了。”只有时间能揭示出真实的情况。
以后我会给大家谈谈根据论坛上的问题数量,看看哪些技术在快速增长,以及这对于技术生态有何影响。
原文链接:https://community.clouderwork.com/article/view/598aa6470c080.html
相关资源:七夕情人节表白HTML源码(两款)