到底是哪个数据?

经常有人问哪个编程语言最流行?这问题很简单,但是回答起来可没那么简单。

首先,我们要知道,为什么人们会问这样的问题?

一般问这样的问题是人大多是学生,他们想知道这个问题的答案是因为他们想要找份工作,所以寻求一种可以增加面试成功率的技能。对于大多数人来说,进入一个新的领域时了解什么是最流行的,是很有意义的。

而对于其他人来说,比如说已经掌握了一种或几种编程语言的程序员,他可能在想要掌握一门新的编程语言时,会考虑一下当前最流行的编程语言作为参考。而对于要开发一个产品的程序员来说,也希望了解当前最流行的编程语言是因为他们希望所开发的产品能够迎合客户的环境和需求,显然支持流行的语言的 API 会被更多人使用。

甚至,就算是你想启动一个项目时,你也需要考虑是否选择一个流行的编程语言。虽然你首先要考虑的是这种语言能够满足你的需求,比如说如果用一个流行的编程语言你需要花费更多的时间和成本,而不那么流行的编程语言或许会更快捷和轻松,显然你还是会选择那个不太流行的——但是如果各个方面都差不多,不用说你会选择流行的那个,因为这样你可以找到更多的程序员,遇到问题也有更多的解决方案。

那么,哪个语言是最流行的?其实回答这个问题并没有你想象的那么简单。关键是,你该怎么定义这个“流行”?

这个问题并没有固定的答案,不过在。在这篇文章中,列出了几个测量流行度的因素:

  • 该语言在搜索中提及的次数,比如在谷歌趋势中
  • 在招聘广告中提及该语言的次数
  • 传授和介绍该语言的书籍销售量
  • 以该语言编写的现存代码的行数,不流行的语言在公开搜索中可能根本就找不到
  • 在论坛和新闻组中讨论该语言的帖子数量

此外,你还可以考量如下指标:

  • 编程培训班里面该语言的培训课程销售数量
  • 编程培训班里面学生的数量
  • 视频网站里面关于该语言的视频数量

甚至,你还可以增加一些其它的统计维度,比如根据国家和城市来统计,你知道在北京哪种编程语言最流行么?上海呢?

所以,这个问题的回答并不是一个简单的答案。

即使我们知道了流行度取决于多种因素,但是人们还是希望能够了解到底哪个语言比较流行,以此来指导他们的培训和公司的决策。

有一些网站依据不同的标准,公开发布了一些语言流行度指标。  对这些指标做了一个有趣的,它可以让你通过自行设置不同因子的权重来得到你自己的编程语言流行度排行榜。

,聚合了工作搜索引擎 和 CareerBuilder 上的招聘量,“开源”代表开源项目数量。

排名结果如下表: 

但是问题是,上图并不能告诉我们重点所在。要解决这个问题,我们需要做一点数据分析。我聚合了这六个数据源中的五个(我去掉了 Coding Dojo 是因为它仅显示了前九),然后我根据编程语言出现在图表中的位置和次数进行加权,这样我得到了如下的前十排名。

如你所见,这些语言分成了三大类。第一梯队包括 Java、C、Python 和 C++,毫无疑问,你肯定经常听到它们的名字。第二梯队包括 JavaScript、C#、PHP 和 Swift。剩下的两个是 Objective-C 和 R。

这给我们带来什么启发?

第一梯队的语言 Java、C、Python 和 C++ 都是非常通用的语言,它们并不局限于特定的编程平台或用途。

最值得关注的是第二梯队,它包括 JavaScript、C#、PHP 和 Swift。JavaScript 和 PHP 是主要的 Web 开发语言。C# 是微软的编程语言,而 Swift 是苹果新推出的主力语言。基本上来说,第二梯队是平台相关的。

那么这反映了什么?如果你懂一点现代编程,你就知道编程其实不仅仅是使用这种语言,而更重要的是开发一些什么,比如说嵌入式系统、iPhone 应用、Web 应用或者微软的服务器端应用等等。

对语言的熟悉程度其实只是一小部分。举个例子说,不管你是多么的喜欢 Python 或者古老而常青的 C,但如果你要为 WordPress 开发插件或主题,你只能使用 JavaScript 和 PHP。这无关于哪个语言更流行。

或者你会注意到一些有趣的地方。

首先,Coding Dojo 的编程语言排行榜的第一名是 SQL,只有它一家是这样。你很少会单独在 SQL 里面编程,通常都是在其它的语言里面使用它来管理数据。所以,学会 SQL 是很有用的,甚至是必要的。然而,去上一门 SQL 的培训课程并不能帮你找到一份工作,也不会多挣多少钱。

其次,苹果特有的语言在排行榜中排名很低,这或许和你的预期不同,因为 iOS 的应用是如此的流行。不过确实是这样的,如果你不是要开发你自己的应用的话,那学它们其实不如学习别的语言,因为其实没有那么多的公司雇佣苹果应用开发人员。这就是 Swift 语言掉到了榜尾的原因,而 Objective-C 正在被  Swift 所替代,在前面也看到了它也处于榜单的后面。

C 家族的语言仍然是主流。Java、C++、C、C#,甚至 Objective-C 都是基于 C 的语言。如果你只想学一门语言,你可以从其中选择一个。我推荐你选择 Java 或 C++,它们可以为你打开进入 C 语言家族的大门。

以我的职业生涯的经验来看,不是特别复杂的场景的话,我大概能用 20 来种语言来编程,通常我只用几天就可以学会一门新的语言。这是因为我在学校的专业就是语言设计,我也教编程超过了 20 年了。掌握这么多的语言对我很有帮助,因为我总是根据我要做的事情选择一种语言,而不是专门去上课学习一种语言。这听起来好像有点难,但是其实你也能做到的。

我的建议就是,如果你要编程,那么就去学习多种编程语言和各种框架吧。用编程语言去做点东西出来,编程不仅仅是一种智力锻炼,而且你可以实际用它做点什么出来。

掌握多种语言和框架是重要的,因为计算机行业变得太快了。C 语言,而 Swift 虽然出现才几年就登上了排行榜。你今天学习到的或许不够你整个职业生涯挥霍,所以“怎样学习语言”要比“学习语言”更重要,最好的办法就是多学几门。

我的推荐非常简单,无论是 C++ 还是 Java,选一个学习就好了。然后是 JavaScript,越来越多的基于 Web 的应用需要良好的 JavaScript 技能。再然后是 PHP、Swift 或 Python 中选一个,这要看你的工作种类了。当你在这三个梯队中都学会一门后,你就可以根据你的情况学习更多的语言和框架了。

好了,努力吧,学习一些编程语言,做点漂亮的成绩出来。如果你有什么想法,欢迎在下面和我们分享。


2021年1月13日,科兴疫苗境外合作机构巴西布坦坦研究所公布了科兴疫苗Ⅲ期临床试验的最新数据:科兴疫苗的总体有效率为50.38%。但在1月7日,布坦坦研究所公布的科兴疫苗保护率是78%。同样是科兴疫苗,2020年12月,土耳其统计的保护率的91%。

为什么在短短一个月内,科兴疫苗的有效性会经历91%到50.38%的重大落差?科兴疫苗还可以接种吗?

▲ 科兴疫苗包装示意图 来源:科兴控股生物技术有限公司微信

无独有偶,不止科兴疫苗,国际上的阿斯利康疫苗、辉瑞疫苗,在有效性和安全性上的争议亦不绝于耳。在全球开始大规模接种疫苗的今日,我们还能相信新冠疫苗吗?我们又该做出怎样的选择?

飘忽不定的保护率:科兴疫苗是否有效?

其实,巴西此次公布的50.38%保护率,与之前统计的78%并不冲突。彭博社援引圣保罗州官员与布坦坦研究所研究人员的解释强调,研究人员在巴西的临床实验中将感染者分成6类:无症状感染者、非常轻微症状者、轻微症状者、Ⅰ级中度症状者、Ⅱ级中度症状者、严重症状者。前两类感染者并不需要进行医学治疗。

之前公布的78%的保护率,是针对后四类需要进行医学治疗的感染者而言的;而50.38%的保护率,则是统计了后五类出现症状感染者的人数。也就是说,当非常轻微症状者入组之后,科兴疫苗的有效性大幅下滑,将将保住及格线。世界卫生组织为新冠疫苗划定的有效率门槛是50%,超过50%,疫苗便被视为有效。

不仅在巴西,科兴疫苗在土耳其和印尼也出现了保护率偏差,好在无论临床测试上的统计口径如何不统一,其保护率均超过了50%。

只是,飘忽不定的保护率,难免让人心生疑窦。

数据上的误区:疫苗的优劣是否比较?

目前,全球共有17种疫苗进入/完成了Ⅲ期临床测试,辉瑞/BioNtech、莫德纳、牛津/阿斯利康与中国国药集团的疫苗也纷纷公布了疫苗的Ⅲ期临床与保护率数据。

▲主要疫苗保护率统计(注:此表中科兴中维疫苗保护率采用的是土耳其公布的数据) 来源:香港中文大学高琦博士

从图表与新闻中可以看出,国药集团与科兴中维研发的灭活疫苗,其保护率都低于辉瑞/BioNtech与莫德纳采用mRNA技术研制的疫苗,能否说mRNA技术的疫苗比传统的灭活疫苗更为有效呢?

答案是否定的,因为不同疫苗的统计口径依然存在差异,因此无法进行优劣性的比较。

疫苗从研发到上市,必不可少的环节便是临床测试。临床测试得出的有效性是统计学意义的,测试环节中测试样本、测试环境与统计口径的不同都会直接影响到最终呈现的保护率数据。

正是因为各医药公司的统计口径有所出入,所以医学界的惯例要求研发团队将临床Ⅲ期测试的详细结果发布在权威医学期刊上,并对相关统计口径进行解释。

▲辉瑞/BioNtech疫苗临床统计数据公布于权威科学期刊《新英格兰医学杂志》 来源:香港中文大学高琦博士

以辉瑞/BioNtech为例,研发团队在临床试验中将感染者定义为核酸检测阳性并出现相关症状的感染者。根据辉瑞的定义,相关症状包含发烧、发冷、咽喉肿痛、咳嗽或者咳嗽变严重、肌肉疼痛或者疼痛变严重、腹泻、呼吸困难或者变严重、味觉或嗅觉丧失与呕吐。可以发现,辉瑞的统计口径与巴西有所出入,将无症状感染者排除在了统计范围之外。

再看莫德纳的统计口径,其对感染者的定义也是核酸检测阳性并出现相关症状的感染者,但在相关症状的定义上莫德纳同辉瑞/BioNtech疫苗又有所差异。因此,我们不能单纯地通过数字去评判不同疫苗间的优劣,因为医药公司在临床测试阶段的定义都不尽相同。只有等到疫苗的临床数据向大众与学界公布,才有足够的信息进行研判。

不靠谱的阿斯利康:保护率该如何计算?

同样是统计口径的出入,阿斯利康\牛津的性质却严重的多。

2020年11月23日,阿斯利康公司公布了其疫苗在Ⅲ期试验中的有效性数据。阿斯利康称其腺病毒载体疫苗AZD1222的人群保护力为70.4%。在完成了全部两次全剂量接种的受试者中,疫苗的保护力为62%。但在接种两次且第一次仅接种一半剂量的受试者中,疫苗的保护力却达到了90%。

面对科学界对这种反常现象的质疑,阿斯利康公司研发部门的管理人员梅内拉斯·潘加洛斯向路透社透露,接种一半剂量的疫苗是一场计划之外的状况,英国的研究机构及临床试验机构在计算剂量时发生了错误,致使部分受试者只在第一剂注射时接种了一半剂量。潘加洛斯强调,这个错误没有造成任何危险的后果,反而是“因祸得福”。因此,阿斯利康认为这一错误“无伤大雅”,所以没有在试验中披露。

不仅如此,《纽约时报》也揭露了阿斯利康疫苗在临床统计中发现低剂量更有效的原因。美国疫苗倡导组织Operation Warp Speed在调查中发现,接受了一半剂量阿斯利康疫苗的全是55岁以下的受试者。这相当于在临床试验前就主动过滤了免疫力较弱的易感人群,其统计数据必然不能代表实际情况。

为此,阿斯利康遭到了医学界广泛的批评。佛罗里达大学的生物统计学家娜塔莉·迪恩指责阿斯利康的临床试验缺乏透明性和严格性。HIV疫苗专家约翰·摩尔建议阿斯利康对临床试验中各种剂量的实际效果进行再次测试。

所以,就算阿斯利康疫苗90%的有效性再亮眼,却在样本分布上与现实存在着严重偏差。因此,欧盟药品管理局并未批准阿斯利康的上市申请,强调阿斯利康需要提供更多数据去证明该疫苗的安全性和防治能力。

可见,在我们根据有效性数据评判疫苗的效力之前,更重要的是注重临床统计数据是否科学客观。

▲主要疫苗临床测试数据 来源:香港中文大学高琦博士

上市的疫苗必须经过Ⅲ期临床测试。在测试中,研发团队会采用随机、盲法、安慰剂对照等统计方法全面评价疫苗的有效性和安全性,测试人数扩大至数千到几万例。而有效保护率的计算,便是在对照试验中根据统计结果计算出来的。

以有效保护率95.03%的辉瑞/BioNtech疫苗为例,并不是说一个保护率95%的疫苗在接种之后,仍然有5%的几率被感染。

疫苗有效率的计算公式是/对照组发病率*100%。

注射了辉瑞/BioNtech疫苗之后,测试组的感染率从0.945%下降至0.046%,感染几率下降到注射前的1/20。

根据图表中对照组与疫苗组的感染人数对比可以更直观地看出,相较于安慰剂组破百的感染数,疫苗组的感染人数只有个位数,注射疫苗对人群的保护作用显著。

疫苗的安全性疑云:如何看待接种后的不良反应?

目前美国、英国与欧盟都开始推广新冠疫苗的接种,但接踵而至的不良反应报道也使民众对新冠疫苗的安全性产生怀疑。

研发时间一年不到的新冠疫苗安全性能否得到保障?该如何看待接种疫苗后出现的不良反应?

相比于传统的疫苗长达十来年的研发流程,新冠疫苗在短短一年的时间中就带来了多条技术路径上的突破。《Nature》将临床环节的进展神速归功于海量经费的投入,例如美国的“曲速行动”就为疫苗的研发追加了约100亿美元的公共投资。与其说新冠疫苗颠覆了原有的研发流程,不如说新冠疫情全球蔓延的态势将疫苗研发的动员能力发挥到了极致。

香港中文大学高琦博士对此也从全球治理的角度提出了新冠疫苗研发的 “不可能三角”。

高博士强调,在新冠疫情全球蔓延的形势下,坚持传统的疫苗研发流程、尽可能减少因疫情造成的感染与死亡人数与恢复全球正常经济秩序间存在着不可能同时实现的三元悖论。倘若按照原有少至三五年、长达十来年的疫苗研发与审批流程,人类与新冠病毒斗争的时间线将会大大拉长,不仅不利于全球正常经济秩序的恢复,还会造成更多的感染与死亡案例。如果想要尽早恢复全球秩序,遏制新冠病毒的进一步扩散与感染,就必须革新优化原有的疫苗研发体系。

在“三者只能成其二”的处境下,各国政府都选择突破原有的疫苗审批流程,以最快速度研发新冠疫苗防止公共卫生局势与经济秩序的进一步恶化。

▲新冠疫苗研发的“不可能三角” 来源:香港中文大学高琦博士

虽然各国都为新冠疫苗的研发压缩了审批流程,但疫苗的研发依旧需要在临床试验中得到严格的检验。据各大医药公司公布在权威学术期刊上的临床统计数据可以表明,目前新冠疫苗产生的不良反应都在人体的可接受范围之内,与过去疫苗产生的不良反应症状十分接近。无论是不良反应的发生率,还是不良反应的种类,都在目前可以控制的范围之内,这也是新冠疫苗得以大规模接种的前提。

▲主要新冠疫苗不良反应统计 来源:香港中文大学高琦博士

由于不同疫苗在临床测试时的统计口径不同,我们无法根据数据准确判断出疫苗在安全性上具体的差异。不过就目前的接种情况而言,新冠疫苗在短期内的不良反应以轻症为主,无需过度恐慌。

就国产疫苗的安全性问题,国家卫健委副主任、国务院联防联控机制科研攻关组疫苗研发专班负责人曾益新也向公众表示,疫苗的不良反应情况及总的发生率,跟常规接种的几种灭活疫苗很接近,主要的表现是一些局部的疼痛、局部的硬结。这其中,轻度发热的病例大概不到0.1%,过敏反应等比较严重的不良反应发生率大约为百万分之二。截止2020年12月31日,中国已经接种了450万剂新冠疫苗,接种疫苗者达到总人口比例的0.32%,产生不良反应的概率较小。

国药北生公布在《柳叶刀|传染病》杂志上的临床试验结果也同样揭示了不良反应的小概率性。数据统计显示,在接种疫苗7天内,总体上有12%~21%的受试者出现不良反应,主要是注射部位疼痛和发烧,所有观察到的不良反应都是1级、2级,没有严重不良反应。遗憾的是,国药暂时没有公布测试范围更广的Ⅲ期临床数据,这也和国内抗疫卓有成效,需要到疫情更为严重的巴西、土耳其等地进行疫苗的Ⅲ期测试有关。

▲国药北生灭活疫苗在2期临床试验中的不良反应统计 来源:《柳叶刀|传染病》

当然,虽然新冠疫苗在研发过程中严格遵循了Ⅰ/Ⅱ/Ⅲ期临床测试的相关步骤与要求,其安全性也获得了相关药品监管部门的认可,但相比于研发周期长达三五年乃至十来年的疫苗,新冠疫苗在副作用的跟踪与统计上必然会存在一定的偏差。这也是为什么药监局会强调国药的新冠疫苗是“附条件”上市、美国FDA只是给辉瑞/BioNtech、莫德纳紧急使用许可,新冠疫苗在推广接种后还需进行长时间的跟踪调查,以确保疫苗的安全性与有效性。

局部复燃的疫情:黎明之前我们应该怎么做?

当下,我国疫情出现局部性反弹的态势,又恰逢寒潮来袭,各地气温骤降,可谓抗疫胜利前最为煎熬的时刻。冬季本就有助于病毒扩散,春运将至,人口的大规模流动又给疫情防控工作带来了新的挑战。

在寒潮与疫情再度来袭的情况下,我们应该做些什么呢?

虽然新冠疫苗的研发成功与批准上市昭示着我们坚持到了抗疫成功前的最后一公里,但目前的疫苗供应量远远不足以支撑我国乃至世界各国建立起群体免疫。

▲各医药公司新冠疫苗产能规划 来源:国盛证券研究所、各公司官网

据中金研究院预测,新冠疫苗的产能将在2021年第一季度经历快速爬坡的过程,但最早也需要在2021年第二季度才能满足多数国家的需求。在疫苗的接种策略上,我国也是根据疫苗产能的爬升逐步扩大疫苗的接种人群。从2020年6月对高风险人群开展的紧急接种,到12月15日正式宣布启动重点人群的接种工作,我国在疫苗的研发与推广上始终走在世界前列。

工信部1月5号表示,目前国产疫苗厂商已经开始全力扩大产能,国药中生北京公司也表示将在2021年生产出10亿剂新冠疫苗。倘若将国药中生武汉公司、北京科兴中维公司的疫苗年产量也视为10亿剂,根据每人两针的数量,我国也需要在21年末才能实现疫苗接种的全覆盖。

因此,只有熬过这个寒冷的冬季,等待新冠疫苗产能的爬坡与大规模接种,我们才能真正迎来抗疫成功的曙光。

我要回帖

更多关于 数据可视化 的文章

 

随机推荐