疯狂的悬崖:堆栈溢出的技术戏剧性变化

作为开发人员(或数据科学家,in my case) involves being comfortable with changing technologies.我不像职业生涯开始时那样使用编程语言,and I fully expect to be using different technologies several years from now.Here on the Stack Overflow blog,我们最近谈过技术正在流行那些不断增长,但有时是编程语言,框架,or technology comes out of nowhere and bursts on to the scene,或者从悬崖上掉下来。有时,技术对软件行业的影响会有戏剧性的变化。在这篇博文中,让我们探索最具戏剧性的上升和下降在堆栈溢出的问题通过标签自从网站开始以来。

最显著的增长

找到最大的增长,let's look atyear over year change在堆栈溢出中要求标记的问题中。哪些标签的变化率最高,在任何一年??

increase in stack overflow technologies

该分析包括至少有10个堆栈溢出标记,000个问题并排除以数字结尾的标记,如ios8.

在这个分析中,两个标记非常突出,两者都有巨大的增长,他们有共同之处。Swift是苹果开发iOS应用程序的语言,它是Objective-C的继承者,以及角度的tag on Stack Overflow is used for newer releases than the角晶状体tag.这两种技术的发展都非常迅速,产生了巨大的影响,因为它们是现有开发人员社区的下一步自然而然的步骤。(注意,角晶状体增长得快得令人难以置信,不过,在Stack Overflow上,其年均增长率位居第十。

这里的其他技术显示出相对温和的年度增长,但是这些都是很有趣的例子,说明在我们这个行业会发生什么情况。

Android Studio is an IDE targeted to mobile developers;it was first released in 2013 and grew immediately in popularity.这个角指令标记与角的大量生长有明显的关系。这个iPad2010年,苹果推出的和机器学习库张力流was released as open source by Google in 2015.We see from this plot what remarkable success looks like for a new technology.

最显著的减少

硬币的另一面呢?哪些标签的降幅最大,in any given year??

减少堆栈溢出技术

就像第一个情节,这包括至少有10个堆栈溢出标签,000个问题并排除以数字结尾的标记,如IOS4XCODE6.

Backbone.js is a JavaScript framework,残酷的生命周期的典型生态系统,and the game engine Cocos2d for iPhone has fallen out of favor.Silverlight已经被微软抨击,Flash和Flex是一个框架,也在它的出路。两人都出现在我们的文章从8月份开始技术萎缩.这个对象-关系映射标签具有比这里的其他标签更高的峰值后活动水平,但与十年前相比,这个数字显著下降。

Parse在这里是一个非常有趣的示例。Parse是Facebook在2013年收购的一个移动后端开发平台;Facebook宣布关闭平台在2016年1月(你可能会猜到)。同时解析是开源。我喜欢解析的反面例子迅速宣布一项新技术;帕斯在成长,显然流行的平台及其模板法宣布。

持续增长

技术可以展现出我们所讨论的戏剧性的转变,但是一些技术以更稳定的速度增长。堆栈溢出标签显示自2010年以来最持续的增长,至少5年内有问题吗?让我们看看至少有10个标签的年均增长率,000个问题,发现多年来发展到较高水平的技术,不仅在突发事件中。

栈溢出技术的增长

在这里我们看到第一 角度的标签,连同其他JavaScript生态系统成员,如TypeScript和Meteor。这些技术中的一些与数据科学和机器学习的发展相关,包括熊猫以及数据文件tag.其他软件行业占据独特的地位,比如无处不在的搜索引擎弹性搜索和游戏引擎Unity。这些技术都是不同的,但在过去5到7年间,它们都以强劲而稳定的速度增长。退房堆栈溢出趋势看看他们的成长模式是什么样子的工具。

在堆栈溢出,我们理解软件行业的技术如何起伏,我们有数据可以直接看到这些变化。我们使用我们的数据和专业知识来帮助我们的客户在开发人员参与时做出更好的决策.看看我们能如何帮助你!!

Author

朱丽亚雪橇
数据科学家

相关条款

Comments

  1. 我不确定Swift的使用在2014年激增有多么戏剧性,在此之前,它并不存在。

    1. 好,这就是重点。我不是想在这里开玩笑。我看了许多技术和他们的增长率。哪个生长最快?大多数技术并不那样快速增长。你可以结账,如果你喜欢,like Go:https://亚博安全吗insights.stackoverflow.com/trends?标签=去

      1. (Not the persion you replied to) I get your point,但我认为,当它基本上是由企业赞助的替代品时,情况会有所不同。我不禁想知道,客观-c->快速转换是否比它说的更类似于ios6->7->8变化(排除在外),围棋的崛起。可能是一个有趣的分析自己的(也可能比较说,Android版本取代前者的速度有多快?

        1. 这确实是公平的,and I did try to point that out in the post.斯威夫特和角都自然的下一步现有的开发者社区,不是完全新鲜的东西。

  2. 维塔利阿布佐夫 说:

    好的研究。尽管提出的问题数量是平台增长的一个代理度量,有时也代表了开发人员的困惑程度。事实上,我们看到JS在所谓的增长列表之上独占鳌头。

    1. 艾伦冈萨雷斯 说:

      我敢肯定,Angular飞速增长,因为开发人员从AngularJS来到Angular 2,在那里被混淆成地狱,文件也缺乏和充满福吧例子(相当无用)。

  3. 罗伯特·哈维 说:

    人们使用而不是ORM是什么?原始SQL??

    1. Pavel Braginskiy 说:

      实际上,这就是我正在参与一个项目的情况,但是他们想摆脱这种状况。

    2. Other patterns like Repository pattern

      1. 罗伯特·哈维 说:

        存储库模式只是Data Mapper上的抽象层。除非你计划在SQL编写你的整个程序,您仍然需要将数据库记录转换为对象以便程序使用。见FowlerData Mapper知识库文章。

        1. 这是一次总结性的尝试。我以为你在问别人用什么代替ORM的问题,作为讨论。对,you still need a data mapper but we've written ours ourselves which works quite well,每次需要添加域对象时都提供一个模式。我们有一个服务[类]作为到每个存储库的接口。模拟来自存储库的数据是非常容易的。我们所有的SQL都在存储过程中——没有动态sql。还有更多,but it works well as it has matured over time.

    3. 肯麦克威廉姆斯 说:

      当其他标记正在跟踪实现时,ORM是一个想法。People now have better tags;关于Java,我们会发现“hibernate”,“月食链接,““JPA”添加”……orm”标签没有得到你任何东西。您想知道如何让它在特定的实现上工作。I highly doubt there is a decline in the technology but rather there is a multitude of better tags to pick from.其余的标签对实现来说不那么具体(版本号除外),so their tracking should be rather accurate.

  4. 泰勒希巴德 说:

    Thank you for not putting a big graphic at the beginning of your post.

    我很高兴看到柔韧的银光急剧下降,不过我想知道现在出现了什么样的增长替代标签。

    1. 是的,我相信!🙂 This post analyzed the同比增长这里是堆栈溢出,not the absolute increase.你可以把这看成是问问题,“Which technologies grew the most,相对于前一年他们多大?“Notice in my post that I distinguish between the angular and angularjs tags,它们有不同的用途。正如我在帖子里说的,angularjs标签确实增长迅速,并且具有第十高的年增长率。This is not as fast as those other two,虽然;the angular and angular-directive tags were both in the top 6.

      1. 提姆-克拉克 说:

        罗杰。我想在写作中,你们在比较角度/角度js的增长情况,并参考图表(当然没有角度js)。现在我正在跟踪。谢谢!!

  5. 罗夫尔蒂 说:

    有趣的分析,虽然我不知道看问题标签是否是最好的指示器。我想这可能会引起对新语言的偏见,frameworks,etc.我几乎从不问关于堆栈溢出的问题,因为大部分的问题我都已经被问过并回答过了。我认为,这可能是查看页面视图或投票(或者某种组合的投票度量,views,以及问题)可能产生不同的故事。尽管也许这不是你想告诉的故事。

    1. 完全正确!我还假设当文档更差时,问题更多,所以这些都可以归因于文档中的变化!!

    2. 这是一个问题我们得到很多!我们确实对流量进行了大量的分析,发现在几乎所有情况下,问题中的趋势与轨道的交通趋势非常接近。我们看不到获得大量流量的技术,但是没有提出很多问题。这对于不断发展的技术尤其如此,这正是我在寻找的。

      我们确实有时看到流量和问题趋势有一点分歧的地方是针对非常成熟的技术,but these are not fast-growing technologies and not what I was looking to analyze here.

      1. 罗夫尔蒂 说:

        谢谢朱丽亚!出于好奇,你有一个相关系数,你可以报告之间的问题和交通??

        1. 不是没有背景(哪一年?)哪些技术?但对于一个博客帖子来说,那是个不错的主意。

    3. “我的大多数问题已经问过并且回答过了“

      I think that alone could be a sign of a language in stagnation.

      1. 贾斯廷欧姆 说:

        语言停滞只是语言成熟的另一种说法

        1. 伊格德拉西尔 说:

          这就像说,智力好奇心的停滞等同于个人的成熟。多么无聊的水獭。

          1. 贾斯廷欧姆 说:

            是的,我同意,你的陈述是废话,但是可以模棱两可,错误的类比是常见的逻辑谬误

          2. 伊格德拉西尔 说:

            是你要求连接停滞到期。I just wanted to point out that it is equally brain-dead when comes to language as when talking about individuals stagnation contra maturity.

          3. 贾斯廷欧姆 说:

            我的陈述仅限于一个领域,语言。比较一个人的财产生命周期是一个错误的类比。智力的好奇心对一个人的整个生命周期。事实上,如果你的论点被调整以消除不平等,作为个体成熟的个体停滞不前,它实际上是对老化过程的描述。

          4. 伊格德拉西尔 说:

            你听说过比喻吗?一种语言不愿意改变停滞不前。不愿改变的人停滞不前。你可以选择电话的”成熟的但在这两种情况下都不是真的。这就像画一头漂亮的猪。它还是一头猪。成熟意味着别的。你打算表达的似乎是一个从成长心态转变到固定心态的人。确实存在老年人仍然处于成长心态以及旧语言愿意开发和成长,非常感谢……

          5. 贾斯廷欧姆 说:

            你的陈述是类比而非隐喻。作为类比,这是不准确的。隐喻最好留给诗歌而不是理性的讨论。作为一个例子,“漂亮的画猪是一个隐喻。语言没有威尔因此既没有改变的意愿,也没有不改变的意愿,所以你的声明是假的。你随后的陈述是无论哪种情况都是正确的没有理由支持,因为前面的语句是基于错误的断言。I intended to convey no such meaning as you have asserted,因为我不是在说人。However,说到人,作为生物实体,是的细胞停滞始于细胞成熟。我也选择不打电话成熟的,I never used that word.如果我用那个词,它可能指的是尚未成熟的东西,since something that is still maturing by definition cannot have reached maturity.这个阶段的实体仍在成长中。只有当增长减缓,成熟才能达到。一旦达到成熟,停滞就开始了。我同意你最后一句话的前半句,there are old people still in a growth mindset,然而,我们一直在讨论语言而不是人们的心态。我还必须再次不同意语言有意志。

  6. 米迦勒凯 说:

    我猜想,StackOverflow场景中一位技术娴熟、积极主动的专家的到来可能会对提出的问题数量产生很大影响。所以活动的增长或下降是多少技术相关技术本身,and how much to the good functioning of the SO forum for that technology?看到对纯粹内部因素的分析会很有趣,如。问题数量的增长是否与答案的数量和质量相关。

  7. 马克·舒尔谢斯 说:

    不是很容易测量,但是让我怀疑文档是否缺乏或者没有直观性特征“在一个技术导致更多的问题,特别是对于初学者。

  8. Chad Nelson 说:

    例如,与VueJS相比,角度很难使用。因此,更多的问题。

  9. 这篇博文散发着头脑简单的常客。作为一个贝叶斯主义者,我感到震惊。然而,在诸如此类的声明中,我看到了一线希望。...请注意,AngularJS也以令人难以置信的速度增长…….对,yes,you really do want compare the thing your studying to an alternative.继续沿着这条路线思考,贝叶斯的荣耀很快就会显现给你们。

    1. “头脑简单的常客-是的…“数据科学家“-??

  10. 塞斯·科恩 说:

    “Backbone.js is a JavaScript framework,残酷的生命周期的典型生态系统”那是什么意思?我以前从未听过这种情绪。

    1. 扬范德帕斯 说:

      Javascript框架来去匆匆

  11. 我很好奇,where does R or python line up on the graph?关于数据科学/交叉验证的堆栈交换,其他较小的堆栈交换喜欢什么??
    ^My point: I would be curious how stuff in the middle of the pack compares with the top trends.(可能是交互式图表?))

    Also I never new people were answer questions about tensorflow on stack.这是非常酷!🙂你知道什么是教学?(<==I been searching for person to help me learn tensorflow for over 6-8 months.) Either way,now I new category to look forward to on stack-overflow.

    1. 你可以查看一些分析包括Python和R://www.siren-lee.com/2017/09/06/incredible-growth-python/
      They are growing quickly,但不是那种超级从这篇文章上的巨大转变。

  12. 也许是我最近看过的最引人入胜的文章标题。However I would agree with most of the sentiments here.这些图不能精确地表示”“换班”.数量急剧下降(每月)提问对于这些类别,其本身并不表示换档.记住,堆栈溢出有一个特定的目的是分享知识和当它完成这个目的很好,始终对这些技术*和*,科技变得稳定,然后我们当然希望看到问题的减少。为什么?因为所有的问题都被问到了,答案都在那里。随着科技的发展,没有什么变化。Doesn't mean ppl are shifting from it,it could just mean all the knowledge is now out there.你没有做的是关联页面访问这些问题。Sure,new questions tagged"x”也许是鼻子下陷了,但也许他们有更多页面访问比科技”“Y”.给我看看钱。

  13. 这就是你如何发现什么已经死亡,什么也没有:给一个远程程序员发个工作帖子,这个程序员可以在任何时间工作,而且在初创公司工作能得到高薪。然后问他们打算用_uuuuuuuuuuuuuu_和_uuuuuuuuu还要问他们不会用什么以及为什么。通过堆栈的简历和摘要。

  14. 亚历克斯C 说:

    “我们最近谈到了流行度正在下降的技术以及正在增长的技术-两个链接把我们带到同一篇文章,这是预期的吗??

    1. 谢谢你的来信;现在修理好了。

  15. 我们确信我们通过分析问题数量来衡量受欢迎程度吗?在我看来,我们是在测量使用难度,了。(角度会产生很多问题,我并不感到惊讶!))

    1. 乔恩-尼林 说:

      我也有同样的想法。I do think that a large volume of questions indicates developer investment in a technology,然而,第一手经验告诉我,一些技术可能更复杂(并且更难调试)。也,他们可能会受益于一个“我也是羊群心理。这就是说,为了获得牵引力,任何事情都必须至少相当好。它也将受益,如果与解析从发起人的承诺。I was greatly relieved,for example,when a Google engineer assured me they use Protobuf for everything,已经投入大量资源到学习如何使用它。

    2. Or a failure of technology"业主“to provide decent/thorough documentation elsewhere??
      vim真的如此荒谬地受欢迎,以至于产生了上百万的观点吗??
      一点儿也不——它太不直观了,以至于人们无法想出如何使用这个东西。
      大量的“角”我来这里查找的问题是Ang. & Ionic拥有不完整/过时的文档和死寂的论坛的直接结果。
      虽然我并不惊讶于迅捷与角落的快速发展,一些话题比其他话题的兴起也说明了平台vs的有用性。选择。

    3. 这是我们经常遇到的另一个问题!我们针对大量的分析来查看问题的流量,发现在几乎所有情况下,问题中的趋势与轨道的交通趋势非常接近。我们还研究了行业和公司中每位访问者的流量是如何变化的,并且发现其变化不大。我们所有的分析表明,开发人员在工作和学习时使用堆栈溢出,我们的流量数据(和Q&A数据)是开发人员活动的良好跟踪器。

  16. JonathanJennings 说:

    真正吸引人看增加和减少技术的技术格局。谢谢你的编译和分析!!

  17. 迈克尔·L·沃森 说:

    好的文章谢谢共享研究

  18. 马克西姆波利 说:

    不要忘记,如果我们不计算标签中的重复/封闭问题,旧技术(如ORM)会有一个很大的问题/答案,任何遇到的问题已经问和回答。

    我们可以看到,parse.com &骨干是种植技术的例子比缩水的速度一样快。

    如果我们采用成熟的技术,我们可以希望,许多新问题(未封闭)是关于它们带来的最后一个功能,而旧的功能已经回答了好几次了。

    因此,我不确定我们是否谈论长寿的技术,SO是他们受欢迎程度的一个很好的指标。最终他们可以是一个很好的指标如果这些技术还带来很多新东西(一个新的问题,C++可能是一个很好的例子,或者[不]或最终真的没有被使用,C可能是一个很好的候选词。

  19. ORM的描述是一种编程技术,不像其他术语,这些术语都是特定的技术。选择2个特定的,Hibernate和Django,they seem to have increased relative to SQL:

    https://亚博安全吗insights.stackoverflow.com/trends?标签= django csql % 2 chibernate % 2

留下答复

你的电子邮件地址将不会被发表。需要标记的字段*

这个网站使用Akismet来减少垃圾邮件。学习如何处理你的评论数据.