如果JavaScript成为第一个主流编程语言会怎样?
大约十年前济南快速排名编码文化发生了巨大变化。从军队一开始就是
大约十年前编码文化发生了巨大变化。
从孤军战开始与公司的同事或开源项目合作它突然变得更加社会化。从如何共享代码到如何找到答案以及如何发现新技术所有这些都与其他程序员的态度和行为有关。
简而言之软件开发人员通过互联网连接就像他们的计算机在过去几十年中所经历的变化一样。
网络 网络
互联网对编程文化的影响体现在很多方面其中一些值得我们研究:
Stack Overflow正在迅速出现为编程相关问题和其他常见问题提供答案并且是编程相关信息的主要来源。众所周知参与Stack Overflow社区有一定的门槛但毫无疑问它构成了一个编程知识网络可以增强编程信息的可发现性并加速社会化可以促进技术采用的观念。如果框架或工具在Stack Overflow上具有活动标记则更有可能吸引新的采用者。
代码协作遵循类似的模式:GitHub十年前一直是一个功能强大的代码共享平台。虽然它的原始价值是为了推广当时新兴的分布式版本控制工具Git但其社会价值已经扩展为托管项目价值和可靠性的基础。项目的星号分支或数量的跟随者代表了代码的可信度。
然而GitHub也存在问题例如Git的学习曲线和围绕项目变化而不是项目本身的组织所有这些都将使一些用户难以参与网络。尽管如此GitHub上的社交信号仍然深深影响了开发人员对工具和技术的采用。
最后我们有很多关于新闻和讨论的信息来源比如黑客新闻这是最重要的一个。虽然这是众所周知的大型网络编程社区中最敌对的但它仍然无形地推广新的软件技术和新想法。黑客新闻扩大工具通常有助于大规模采用工具而产品讨论则是编程世界中人们评估特定平台的另一个社会信号。在某种程度上更关注产品的社区(例如产品搜寻)也具有这些功能中的一些。
对于上述每一个如果我们可以忽略社区中的缺陷我们可以看到更深层次的模型:我们对软件的评估主要基于他们的社交表现而不仅仅是表面上。 “目标”技术优势。
技术一直存在于社会背景中对技术平台的风险或可靠性的评估始终依赖于社会指标。然而这些模式的加速和围绕代码的社交网络的扩展意味着制度指标(例如“哪家公司正在资助项目开发?”)现在仅次于社交信号。
同样自上而下的技术成熟度指标需要通过自下而上的指标进行补充例如有多少人关注框架或有多少人为工具撰写评论。在考虑新技术时即使是纯粹的社会因素例如Gitter或Slack聊天室中项目参与者的数量或者在社交媒体上关注项目的人数也包括在我们的考虑范围内。
然后法律出现了
尽管Jeff Atwood在社交媒体上分享的所有内容几乎让我崩溃但在过去的几年里他已经表达了一些有价值的想法。可能没有比他名字的法律更有先见之明(阿特伍德定律):
任何可以用JavaScript编写的应用程序最终都将用JavaScript编写。