分类 观点 下的文章

混合信道架构是最好的多信道选择,但它并不总是最佳的选择。当需要可靠的 Wi-Fi 时,单信道和混合 AP 提供了令人信服的替代方案。

我曾与许多实施数字项目的公司合作过,结果却发现它们失败了。正确的想法,健全地施行,现存的市场机遇。哪里是薄弱的环节?是 Wi-Fi 网络。

例如,一家大型医院希望通过将遥测信息发送到移动设备,来提高临床医生对患者警报的响应时间。如果没有这个系统,护士了解病人警报的唯一途径就是通过声音警报。在所有嘈杂的背景音中,通常很难分辨噪音来自哪里。问题是这家医院中的 Wi-Fi 网络已经很多年未升级了,这导致信息传递严重延迟(通常需要 4~5 分钟)。过长的信息传递导致人们对该系统失去信心,因此许多临床医生停止使用该系统,转而使用手动警报。最终,人们认为这个项目是失败的。

我曾在制造业、K-12 教育、娱乐和其他行业中见过类似的案例。企业竞争的基础是客户体验,而竞争的动力来自不断扩展又无处不在的无线优势。好的 Wi-Fi 并不意味着市场领导地位,但是劣质的 Wi-Fi 将会对客户和员工产生负面影响。而在当今竞争激烈的环境下,这是灾难的根源。

Wi-Fi 性能历来不一致

Wi-Fi 的问题在于它本身就很脆弱。我相信每个阅读这篇文章的人都经历过下载失败、连接中断、性能不一致以及连接公用热点的漫长等待时间等缺陷。

想象一下,你在一个会议上,在一个主题演讲之前,你可以随意地发推特、发电子邮件、浏览网页以及做其他事情。然后主讲人上台,所有观众开始拍照,上传并流传信息——然后网络崩溃了。我发现这不仅仅是一个例外,更是一种常态,强调了对无损 Wi-Fi的需求。

对于网络技术人员的问题是如何让一个地方的 Wi-Fi 达到全部时间都保持不间断。有人说只要加强现存的网络可以做到,这也许可以,但在某些情况下,Wi-Fi 的类型可能并不合适。

最常见的 Wi-Fi 部署类型是多信道,也称为微蜂窝,每个客户端通过无线信道连接到接入点(AP)。高质量的通话体验基于两点:良好的信号强度和最小的干扰。有几个因素会导致干扰,例如接入点距离太近、布局问题或者来自其他设备的干扰。为了最大程度地减少干扰,企业需要投入大量的时间和资金在现场调查中规划最佳的信道地图,但即使这些做得很好,Wi-Fi 故障仍然可能发生。

多通道 Wi-Fi 并非总是最佳选择

对于许多铺着地毯的办公室来说,多通道 Wi-Fi 可能是可靠的,但在某些环境中,外部环境会影响性能。一个很好的例子是多租户建筑,其中有多个 Wi-Fi 网络在同一信道上传输并相互干扰。另一个例子是医院,这里有许多工作人员在多个接入点间流动。客户端将试图连接到最佳接入点,导致客户端不断断开连接并重新连接,从而导致会话中断。还有一些环境,例如学校、机场和会议设施,那里存在大量的瞬态设备,而多通道则难以跟上。

单通道 Wi-Fi 提供更好的可靠性但与此同时性能会受到影响

网络管理器要做什么?不一致的 Wi-Fi 只是一个既成事实吗?多信道是一种标准,但它并非是为动态物理环境或那些需要可靠的连接环境而设计的。

几年前提出了一项解决这些问题的替代架构。顾名思义,“单信道”Wi-Fi 在网络中为所有接入点使用单一的无线频道。可以把它想象成在一个信道上运行的单个 Wi-Fi 结构。这种架构中,接入点的位置无关紧要,因为它们都利用相同的通道,因此不会互相干扰。这有一个显而易见的简化优势,比如,如果覆盖率很低,那就没有理由再做一次昂贵的现场调查。相反,只需在需要的地方布置接入点就可以了。

单通道的缺点之一是总网络吞吐量低于多通道,因为只能使用一个通道。在可靠性高于性能的环境中,这可能会很好,但许多组织希望二者兼而有之。

混合接入点提供了两全其美的优势

单信道系统制造商最近进行了创新,将信道架构混合在一起,创造了一种“两全其美”的部署,可提供多信道的吞吐量和单信道的可靠性。举个例子,Allied Telesis 提供了混合接入点,可以同时在多信道和单信道模式下运行。这意味着可以分配一些 Web 客户端到多信道以获得最大的吞吐量,而其他的 Web 客户端则可使用单信道来获得无缝漫游体验。

这种混合的实际用例可能是物流设施,办公室工作人员使用多通道,但叉车操作员在整个仓库移动时使用单一通道持续连接。

Wi-Fi 曾是一个便利的网络,但如今它或许是所有网络中最关键的任务。传统的多信道体系也许可以工作,但应该做一些尽职调查来看看它在重负下如何运转。IT 领导者需要了解 Wi-Fi 对数字转型计划的重要性,并进行适当的测试,以确保它不是基础设施链中的薄弱环节,并为当今环境选择最佳技术。


via: https://www.networkworld.com/article/3386376/when-wi-fi-is-mission-critical-a-mixed-channel-architecture-is-the-best-option.html#tk.rss_all

作者:Zeus Kerravala 选题:lujun9972 译者:chenmu-kk 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

从最开始作为一种使网站变得漂亮的方式,JavaScript 已转变为一种严肃的编程语言。

JavaScript 的卑微起步始于 1995 年,是由当时在 Netscape 通信公司工作的 Brendan Eich 在短短 10 天内创建的。从那时起,JavaScript 已经走过了漫长的道路,从一个让网站变得漂亮的工具变成了一种严肃的编程语言。

在其早期,JavaScript 被认为是一种视觉工具,它使网站变得更有趣和更有吸引力。像 Jakarta Server Pages(即 JSP,以前称作 JavaServer Pages)这样的语言曾经用来完成渲染网页的繁重工作,而 JavaScript 则被用来创建基本的交互、视觉增强和动画。

长期以来,HTML、CSS 和 JavaScript 之间的分界并不明确。前端开发主要由 HTML、CSS 和 JavaScript 组成,形成了标准 Web 技术的“多层蛋糕”。

 title=

标准网络技术的“多层蛋糕”(Mozilla 开发者网络,CC BY-SA 4.0

HTML 和 CSS 为内容提供结构、格式和样式。一旦网页要做一些超越了显示静态内容的事情,就是 JavaScript 的用武之地。Ecma 国际部开发了 JavaScript 规范, 万维网联盟 World Wide Web Consortium (W3C)开发了 HTML 和 CSS 规范。

JavaScript 是如何获得突出地位的

JavaScript 是如何成为最受欢迎的编程语言的,背后有一段漫长的历史。早在 20 世纪 90 年代,Java 是王者,不可避免的人们会与它进行比较。许多工程师认为 JavaScript 不是一门好的编程语言,因为它缺乏对面向对象编程的支持。尽管当时并不明显,但其实 JavaScript 的对象模型和功能特性在其第一个版本中就已经出现了。

1995 年 JavaScript 匆匆发布后,网景公司将其提交给了 欧洲计算机制造商协会 European Computer Manufacturers Association (ECMA)国际部进行标准化。由此产生了 ECMAScript,这是一个 JavaScript 标准,旨在确保不同 Web 浏览器之间网页的互操作性。ECMAScript 1 于 1997 年 6 月问世,帮助推进了 JavaScript 的标准化。

在此期间,PHP 和 JSP 成为了服务器端编程语言的流行选择。JSP 作为 通用网关接口 Common Gateway Interface CGI)的首选替代方案获得了突出的地位,因为它可以在 HTML 中嵌入 Java 代码。虽然它很受欢迎,但开发人员发现将 Java 嵌入 HTML 中是不自然的。此外,即使是 HTML 上最简单的文本变化,JSP 也必须经历一个耗时的生命周期。在今天的微服务世界里,面向 JSP 的页面被认为是技术债务。

PHP 的工作原理与 JSP 类似,但 PHP 代码以一个通用网关接口(CGI)的可执行文件来处理。基于 PHP 的 Web 应用比基于 JSP 的应用更容易部署。总的来说,使用 PHP 更容易上手和运行。今天,PHP 和 JavaScript 是创建动态网站最流行的组合之一:PHP 作为服务器端脚本,JavaScript 作为客户端脚本。

伴随着 2006 年 jQuery 的发布,JavaScript 的应用越来越多。jQuery 是一个多用途的 JavaScript 库,简化了繁琐的 文档对象模型 Document Object Model (DOM)管理、事件处理和 Ajax)。

2009 年 Node.js 的发布是 JavaScript 发展的转折点。开发者现在可以用 JavaScript 编写服务器端脚本了。紧随其后的是 2010 年发布的 Backbone.jsAngularJS 等框架。这导致了出现了使用单一语言进行全栈开发的概念。

2015 年,Ecma 国际部发布了 ECMAScript 6(ES6),它为编写复杂的应用程序增加了包括类声明在内的重要新语法。其他新特性还包括迭代器、箭头函数表达式、letconst 关键字、类型化数组、新的集合(映射、集合和 WeakMap)、Promise、字符串的模板字元以及许多其它很酷的特性。后来的版本又继续增加了更多的功能,使 JavaScript 更加强大、精简和可靠。

总结

在过去的 20 年里,JavaScript 有了长足的进步。现在大多数浏览器都在争相满足合规性,因此最新的规范推出得更快。

根据你的项目需求,有大量稳定的 JavaScript 框架可供选择,包括最流行的 ReactAngularVue.js 等等。在本系列的下一篇文章中,我将深入探讨为什么 JavaScript 如此受欢迎。


via: https://opensource.com/article/20/10/history-javascript

作者:Nimisha Mukherjee 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

十多年来,我一直使用 Net Applications 的 NetMarketShare 工具来跟踪桌面计算机的浏览器和操作系统市场。这些月度报告对于衡量哪些浏览器新版本的操作系统正在获得或失去市场份额至关重要。最近,Net Applications 发布了最后一份 NetMarketShare 报告。简直不能再糟糕了。

在 Chrome 浏览器巩固了它作为世界上事实上的浏览器的地位之后,一直没有太多的动作。但这种情况可能要改变了。Chrome 浏览器的创造者谷歌,正面临着一代人以来最大的美国反垄断案件。几乎所有收入都依赖谷歌的 Mozilla,理所当然地会担心“殃及池鱼”。而与此同时,火狐似乎也无法阻止市场份额的流失。相反,凭借其新的 Chromium Edge 浏览器,微软正在稳步获得市场份额,而这还是在没有将其纳入 Windows 10 的情况下。像 Brave 这样的新浏览器比以往任何时候都更受欢迎。哦,对苹果搜索引擎的猜测再次浮出水面,引发了人们对谷歌向苹果支付数十亿美元以使其成为 Safari 中的默认搜索选项的疑问。

默认设置很重要。无论是你的祖母,还是在家工作的同事,这样的普通用户几乎从不改变他们的默认浏览器或搜索引擎。这反过来又影响了谷歌、微软和苹果等科技巨头的底线,更不用说威胁到 Mozilla 等小公司的生存。此外,浏览器的改变经常会导致依靠网站提供服务和销售产品的数百万企业争夺市场。

永久损失

浏览器市场份额数据在商业决策中起着至关重要的作用。如果没有确保 Web 服务能够在 Chrome 浏览器中完美运行,那么没人能成功发布 Web 服务。直到在大量浏览器中都能正常工作之前,企业也不会推出新功能。

那么,为什么 Net Applications 要干掉 NetMarketShare 呢?当我告诉你这与这个无可争议的市场领导者有关时,不要表现得很惊讶。

1 月份,谷歌提议废除用于识别正在使用的浏览器和操作系统的 User-Agent 字符串,以应对访客指纹战争。Net Applications 表示,这一变化将破坏 NetMarketShare 的设备检测技术,并会“造成长期不准确”。再加上一直以来需要过滤掉爬虫机器人以防止结果歪曲,Net Applications 决定在 14 年后放弃了。

Net Applications 提供的报告是基于每个月从数千个网站的 1 亿次会话中获取的数据。因为它的数据是全球性的,而且该公司不依赖调查或跟踪组件,所以它被普遍认为是一个准确的来源。Net Applications 报告了我所说的 用户市场份额 user market share :它追踪了每个用户的浏览器和操作系统。还有另外一个 使用市场份额 usage market share 的报告 StatCounter,它每个月都会查看 200 亿次页面浏览量,以确定什么浏览器和操作系统被使用得最多。访问了多个页面的用户被 Net Applications 算作单个用户,而 StatCounter 则在其总数中给予该用户更多的权重。

比起使用市场份额数据,我更喜欢追踪用户市场份额的数据,但从两种资源变成一种资源,无论如何都是一个很大的打击。

最终数字

以下是 Net Applications 的最终数据(10 月 1 日报道,覆盖 2020 年 9 月)。

排名前五的桌面浏览器:

  • Chrome 浏览器:69.25%
  • Edge:10.22%
  • 火狐浏览器:7.22%
  • IE:5.57%
  • Safari - 3.40%

五大桌面操作系统:

  • Windows:87.67%
  • Mac OS:9.42%
  • Linux:2.34%
  • Chrome OS:0.42%
  • 未知:0.14%

为方便,以下是 Net Applications 公司的公告全文:

重要通知

经过 14 年的服务,并被数以万计的文章和出版物作为主要来源,我们将以当前形式淘汰 NetMarketShare。2020 年 10 月是最后一个月的数据。现有账户的所有计费都已停止。所有未付余额将被退还。

为什么要这样做?浏览器(https://github.com/WICG/ua-client-hints)即将发生的变化将破坏我们的设备检测技术,并将在很长一段时间内导致不准确。

此外,我们将检测和删除爬虫机器人作为质量控制流程的关键部分。这是我们代码库中最复杂的部分。随着时间的推移,管理这个过程变得越来越困难。因此,与其接受越来越多的不准确程度,我们认为这是一个很好的时间来结束它。

未来

NetMarketShare 将在某个时间点重新出现,专注于电子商务趋势和可验证的用户数据。

我们要感谢多年来使用 NetMarketShare 的所有人。这段旅程始于报道浏览器大战,是每个人都希望从事开发的最迷人和最有趣的产品之一。

祝大家一切顺利。

NetMarketshare 团队

我很高兴地看到,NetMarketshare 有一天会回归。但如果没有浏览器和操作系统的数据,就不一样了。


via: https://venturebeat.com/2020/11/06/probeat-net-applications-will-no-longer-track-the-browser-wars/

作者:Emil Protalinski 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

随着网络中流动着越来越多的数据,由于领导力和技术问题,网络正在滞后于数据的发展速度。

又过了一周,另一项调查发现,IT 已经无法跟上不断膨胀的数据过载。这次的问题将主要是网络带宽和整体性能。

管理咨询公司埃森哲对 300 名 IT 专业人士进行的一项调查 发现,大多数人认为他们企业网络无法胜任处理大数据的任务和物联网部署的任务。只有 43% 的受访公司表示他们的网络已经准备好支持云服务、物联网和其他数字技术。

一个关键原因(58%)是“IT 与商业需求之间的错位”,这延缓了这些项目的进展。这是一个不同寻常的发现,因为 85% 的受访者还表示他们的网络已经完全或者大体上已经准备好支持企业的数字化计划。那么,究竟是哪一种情况呢?

第二和第三大时常提及的障碍是“业务需求和运营需求间固有的复杂性”以及“对带宽、性能等方面的需求超过交付能力”,各占 45%。

由于分析技术和其他大数据技术的推动,大量传输的数据持续涌入网络线路,网络瓶颈持续增长。调查发现,带宽需求并未得到满足,目前的网络性能依旧达不到要求。

其他原因还包括缺乏网络技术、设备扩展和设备老化。

网络性能问题的一个解决方案:SDN

埃森哲发现,大多数公司表示 软件定义网络(SDN) 是应对带宽和性能挑战的解决方案,77% 的受访企业在调查中表示正在部署 SDN 或者已完成部署。它指出,虽然 SDN 可能在组织的某部分中存在,它并不总是在整个企业范围内统一地推出。

如今看来,似乎从未有人有足够的预算来满足他们所有的 IT 雄心,但 31% 受访者认为为网络改善提供资金是“简单的”,而且是在网络基础设施团队的控制范围内,相较于直接下属(13%)或基础设施/网络主管和副总裁(19%),首席信息官/首席技术官更可能将融资过程报告为“轻松”(40%)。

报告指出,“仅靠传统网络无法支持数字时代所需的创新和性能。”报告呼吁拥抱新技术,但没有提到 SDN 的名字。同时它还呼吁首席执行官和他们直接下属间加强合作,因为很明显,双方在看待问题的方式上存在分歧。

报告总结说,“我们认为需要一种新的网络范式来确保网络满足当前和未来的业务需求。然而,尽管有进步的迹象,但变革的步伐缓慢。公司必须承担起重担,才能实现统一和标准化企业能力,提供必要的带宽、性能和安全,以支持当前和未来的业务需求”。


via: https://www.networkworld.com/article/3440519/most-enterprise-networks-cant-handle-big-data-loads.html

作者:Andy Patrizio 选题:lujun9972 译者:chenmu-kk 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

代码英雄讲述了开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。

什么是《代码英雄》

代码英雄 Command Line Heroes 是世界领先的企业开源软件解决方案供应商红帽(Red Hat)精心制作的原创音频播客,讲述开发人员、程序员、黑客、极客和开源反叛者如何彻底改变技术前景的真实史诗。该音频博客邀请到了谷歌、NASA 等重量级企业的众多技术大牛共同讲述开源、操作系统、容器、DevOps、混合云等发展过程中的动人故事。

本文是《代码英雄》系列播客第三季(1):Python 的故事音频脚本。

导语:一位“ 仁慈的终身独裁者 benevolent dictator for life (BDFL)”的辞职,永久改变了 Python 语言的命运,Guido van Rossum 那个名为《移交权利》的备忘录,让大家的注意力集中到了语言发展这件事情上。

在这一期里,Emily Morehouse 将 Python 技术层面的拓展性和它的包容性社区联系在了一起。Michael Kennedy 解释了 Python 是如何做到在简单易学的同时,又强大到足以担当的起像 Youtube 和 Instagram 这样的大项目。而 Diane Mueller 则强调了 Python 社区是如何率先在科技领域传播了许多包容性的实践 —— 包括社区主导的决策的兴起。

有时候,一位仁慈的终身独裁者可以让一个语言开始发展,但 Python 证明了,是社区让语言兴旺起来的。

00:00:06 - Saron Yitbarek

在 2018 年 7 月 12 日的早晨,世界各地的 Python 社区成员起床之后,他们拿起一杯咖啡,打开了自己的电脑。随后一个接着一个地,看见了一条来自他们仁慈的独裁者的消息。

00:00:24

Guido van Rossum,世界上最伟大的编程语言之一 Python 的创造者,也许没有之一。他面向 Python 社区的全体成员写下这条消息,我们不难想象出 Python 的粉丝们阅读这条消息时的画面。

00:00:38 - 多个配音演员

我没想到在我已经如此努力的情况下,仍有这么多人对我的决策不满。我想把自己从决策过程中完全抽离出来,给自己一个永久的假期,让自己一辈子都不做仁慈的独裁者。你们都要靠自己了,我不会指定继任者。那么你们接下来要如何做呢,创立民主制度吗?或者保持无政府状态?

00:01:00 - Saron Yitbarek

在这条简短却惊人的消息发布之后,Guido van Rossum,这个被 Python 社区追随了几十年的人……好吧,他基本上就这样退出了。这条消息被命名为《 移交权利 Transfer of Power 》,它将永久的改变 Python 的格局。

00:01:19

不过除此之外,它又引出一个问题,那就是不光是 Python,所有的这些编程语言在未来要怎样衍变与壮大呢?是否应该由一个仁慈的独裁者把控,赋予它们形状和一致性?又或者,在开源世界里,编程语言的发展与变化是否应该更像口语,取决于所有语言使用者的行为?Python 社区,这个成长速度远超其他语言的社区,需要找到这个问题的答案。

00:01:56

我是 Saron Yitbarek ,这里是《代码英雄》第三季,一个来自红帽的原创播客。在上一季的《代码英雄》里,我们探索了广袤天地,从游戏主题出发,到失败的艺术,再到无服务器开发,最后我们甚至追踪了一台在火星表面,来自 NASA 的火星车。但是真正抓住每个人想象力的一集,似乎是 Grace Hopper 的故事。她参与开发的编译器创造出了世上第一个高级编程语言,COBOL。我们随后意识到,Grace Hopper 的故事不过是万千个塑造了软件开发与运维的世界的故事之一。新的编程语言使得我们可以连通人类与机器,它们为我们打开了一扇通往无限可能的大门。

00:02:51

因此,第三季将全部围绕这些语言展开。我们会谈论 JavaScript、BASIC、Go 以及 Perl,当然,还有 Python。我们的旅程将从 Python 开始,顺着 Python 的故事,我们会学到一个与所有编程语言未来相关的至关重要的事实。

00:03:16

在 Python 的仁慈的独裁者放弃王座之后,整个 Python 社区……呃,有些迷茫。你要如何在独裁者退位之后组织工作呢?有人提议采用 长老会 Presbyterian church 结构,不过没能奏效。要弄清楚 Python 是如何重新找到领导方式的,并了解这对其它语言的未来有什么意义,我们必须要回到 Python 故事的源头。

00:03:46 - Guido van Rossum

好吧,让我用 C 来完成全部代码,这事情变得有些枯燥。

00:03:51 - Saron Yitbarek

本尊驾到,Guido van Rossum,Python 的仁慈的独裁者。Van Rossum 曾在为阿姆斯特丹著名的 Centrum Wiskunde & Informatica 工作数年,在那里他协助开发了 ABC 编程语言。现在,他将描述他使用 C 工作时,发现对一个全新编程语言产生需求的时刻。

00:04:13 - Guido van Rossum

仍然感觉还是有着很多 bug,并且开发速度缓慢。我在想,呃,如果这里支持 ABC 语言,我可以在十五分钟内写出整个登录程序,然后我可以接着开发账户管理之类的功能,但是用 C 进行开发,却要花掉我一整个星期。我开始设想,要提出一种可以在 Amoeba 环境中使用 ABC 语言特性的方法。

00:04:47 - Saron Yitbarek

在研究编程语言的历史时我们发现,没有什么东西是全新的。它们全都是为了拼凑出解决方案而从旧语言借鉴来的。语言会不断的变化、发展、开枝散叶。当 van Rossum 被种种可能性弄得迷茫时,他设想出一个可以弥合 C 与 Shell 编程两者间隙的编程语言。一些场景下使用 C 语言往往是牛刀杀鸡,与此同时,用 Shell 脚本又常常让人感到繁琐,二者之间的最佳结合点,正是 Python 的栖身之处。当 van Rossum 在 1991 年首次发布 Python 时,它给大家都带来了启发,尤其是对系统管理员而言。这是一种前无来者,功能全面的脚本语言。

00:05:35 - Emily Morehouse

第一次使用 Python 时,我立即就爱上了它。

00:05:39 - Saron Yitbarek

这是 Emily Morehouse,目前 Python 担任核心开发者的五位女性之一。

00:05:44 - Emily Morehouse

我认为当你从接触到的像 C++ 这样的第一门语言跨越到 Python 时,发现二者之间如此显著的差异,会真的会意识到语言与其设计的优美之处。你不必去应付内存管理的毛糙的底层实现细节,它可以既快又好的构建一些项目,更不必说它还有着如此广泛的应用领域。

00:06:18 - Saron Yitbarek

Python 吸引力的关键之处,就在于它的可扩展性。举个例子,像 ABC 这样的语言,在设计上是固化单一的,无法形成一个能够真正帮助改善它的社区。反观 Python,van Rossum 在设计之初就希望 Python 是开放的、易于扩展的。

00:06:37 - Emily Morehouse

进行软件设计时,你往往需要用到一些现有的软件或系统,并且要让它们能够协同工作,其实软件设计的核心价值之一就在于确保它的可扩展性。

00:06:58 - Saron Yitbarek

听起来不怎么费脑子,但并非每一个语言都像 Python 这样,有着与生俱来的强可扩展性。事实上,一门不具备可扩展性的语言,大概率会随着自身的发展而崩溃。

00:07:16 - Emily Morehouse

Python 有一个非常有趣的设计,它允许在其内核上进行扩展。实际上,你可以在运行时环境上对系统的不同片段打补丁,假如你想要改变模块导入的方式,或者你想改变你的字符串类型或整数类型,Python 允许你用相当容易的方式去实现这些事。

00:07:44

Python 可扩展性的核心是所谓的 C 扩展,或者说是 C 模块。因此,Python 实际上被设计出来的意图,是为你提供对其它语言的切入点。本质上来讲,如果你可以写出 C 扩展或 C 模块,可以用它去桥接其它数百种语言,那么你在某种角度上算是破解了 Python 的设计,再造了一个它。

00:08:16 - Saron Yitbarek

这完全取决于用户根据自身需求调整语言的能力。所以说 Python,按照 Guido van Rossum 的设想,绝不会局限于独裁者的个人视野。他的《移交权利》备忘录由来已久。Van Rossum 明白社区影响力所能产生的力量,这是一种能够使所有人都聚集于同一顶“大帐篷”之下的力量。没错,他最终被冠以独裁者称号,但却是一名仁慈的独裁者。

00:08:44 - Emily Morehouse

我认为 Python 社区变得如此多元化,原因之一就是 Guido。Python 现在能够拥有女性核心开发者,正是因为 Guido 希望有这样的改变,并一手推动其实现。

00:09:01 - Saron Yitbarek

Python 软件基金会的主席 Naomi Ceder 曾在一次演讲中说:“Python,因语言而来,为社区而留。”这可能正是 Guido van Rossum 留下的最棒的礼物。不仅仅是 Python 语言,他更是为整个 Python 社区都创造了空间。他不仅在语法意义上为 Python 提供了可扩展性,某种角度来讲,他也在社会意义上提供了扩展性。永远都为新来者留有位置。

00:09:29 - Emily Morehouse

Python 有着大量不同的应用领域,而社区又如此多元化。。所以它真的、真的扩展了社区的边界。

00:09:51

Emily Morehouse 是 Python 核心开发者与 Cuttlesoft 的工程总监。

00:09:59

Python 降世之后,它就开始了前所未有的增长。我看到一个 Stack Overflow 上的图表,统计了每门语言被提及的次数,对应着 Python 的那条线仿佛坐上了火箭。2018 年,在 Google 搜索 Python 的人数比搜索金-卡戴珊的还多。另一个令人振奋的消息是,Python 开始和 Java、C 以及 C++ 之类的语言争夺最常用语言的头衔。

00:10:26

那么,这些人们对 Python 的偏爱究竟来源何处呢?为了找到答案,我找到 Michael Kennedy,他活跃在 Python 时代的中心。他主持着两个专注于 Python 的播客:Talk Python to Me 和 Python Bytes。我们会在展示内容里放上对应的链接以便大家查看。Michael 将要和我一起讨论 Python 是如何真正迈出大步的。

00:10:52 - Michael Kennedy

如果你看过分析报告或总结报告一类的东西,会发现 2012 年是一个重要拐点,而发生在 2012 年左右最具意义的事情莫过于,数据科学社区换掉了 R 之类的东西,开始真正专注于 Python。这件事发生以后,Pyton 社区就有了更充足的劲头,也有了更多的机器学习库。像许多流行的机器学习库,都会首先考虑使用 Python 来实现,此后才会考虑其他语言。

00:11:22 - Saron Yitbarek

嗯,我也这么认为。当我想到 Python 时,我知道它可以被用作 Web 开发,我也认识许多仍然在使用 Python 来写 Web 应用的人。但我感到 Python 如今真正的核心更多是在数据科学领域。你认为是什么导致了这件事情发生?为什么数据科学社区抛弃了那些,或者我不应该叫抛弃,而是远离了 R 之类的工具。

00:11:44 - Michael Kennedy

对,正是如此。

00:11:45 - Saron Yitbarek

从何而来呢?

00:11:46 - Michael Kennedy

我认为这种转变中是有两件事在起作用。其中之一就是 Python 作为一种“真正的” —— 引号引起来的 —— 编程语言,它既可以写一些简单的东西,例如构建图形或数据分析工具等等,但是,它也可以用来构建 Instagram 和 YouTube 以及其他类似的复杂应用……

00:12:08 - Saron Yitbarek

是的,显而易见。

00:12:09 - Michael Kennedy

相对于 R …… 之类的东西而言。对,这很显而易见。很多应用都是由 Python 来编写的。所以他们之前在使用一些其它的编程语言时,例如 R,这门专精数据科学工作的,科学统计类的编程语言,如果他们想要写一个 Web 应用来展示他们的结果,那么,他们要用什么来实现呢?Node 或者 Python 还是……这导致他们没办法一直使用那些语言。

00:12:31 - Saron Yitbarek

对,说的很好。

00:12:31 - Michael Kennedy

所以说 Python 拥有相当棒的能力 …… 基本上,它是一种真正的编程语言,这是其一。第二点是,Python 十分独特,被我称为……全频谱语言。我所谓的全频谱的意思是指,假如我是一名生物学家、天文学家或别的什么,当我想要处理一些数据,想要加载一个 CSV 文件并运行一些指令得到图像时,我无需理解什么是类、静态方法、主函数、编译或者链接。你不需要像一些编程语言那样,为了入门而去学会这些。我只用写几行代码,键入指令,程序就可以运行。

00:13:14

但是,你也可以用它去搭建像 Instagram 之类的软件。它可以成长为绝对专业的系统,你能使用,但是你不会在一开始就被逼迫着,去理解大型应用的一切深层抽象,你可以根据自身需要来使用它。这有意义吗?

00:13:30 - Saron Yitbarek

对,对。说的非常贴切。刚才我们谈论到 2012 年的拐点时,我搜索了一些关于 Python 的资料,Python 的确是世界上被 Google 次数最多的编程语言。

00:13:42 - Michael Kennedy

哇。

00:13:43 - Saron Yitbarek

你感觉它现在确实被大家青睐,并且仍在成长之中吗?

00:13:47 - Michael Kennedy

我认为它真的被青睐并处于成长之中。在我们谈论到的过去几年里,有相当多的企业集团都选择使用 Python。而他们曾经的选择是 .NET、Java,甚至是 C 。这就是回答,并且现在 Python 开始走出属于自己的路,我认为它在某些场景下被格外倚重,关于这个,我指的是那些数据科学家们。就像,显然我们用到的 Jupyter Lab 那类炫酷笔记本应用,这些的东西,全都是 Python 造就的。

00:14:17

数据科学没有祖传代码的负担。如果我想开发一个新的项目,用来探索广告活动或科学结果,就不会对一堆陈旧的东西,保持着庞大的依赖关系。模型和数据都会过时,因此对于数据科学世界而言,切换技术栈或保持最新状态要容易得多。

00:14:37 - Saron Yitbarek

说的不错。

00:14:39 - Michael Kennedy

嗯,谢谢。

00:14:42 - Saron Yitbarek

嗯,听上去 Python 不会很快停止成长,而是保持增长的趋势,甚至这种增长的势头仍在向前发展。你认为对这种增长与前进的势头影响最大的事情是什么呢?

00:14:52 - Michael Kennedy

我感觉这就像滚雪球。Python 有如此多我们可以使用的库和软件包。现在更是多到难以置信。一两年前,这个数字大概只有 10 万。而现在我们已经有了 17 万个包或项目。

00:15:10 - Saron Yitbarek

哇。

00:15:10 - Michael Kennedy

你可以仅仅写几行代码,然后说,噢,我要做机器学习。有人在会议上向我们展示了一个例子,她们训练一个机器学习系统,给它提供大量人脸的图像,并告诉系统他们拥有什么类型的眼睛。是圆眼睛?或者椭圆形眼睛之类的东西。似乎这会帮助你决定妆容之类的。

00:15:30 - Saron Yitbarek

噢,哇。

00:15:31 - Michael Kennedy

这位女士的演讲十分精彩,然后她说,这是训练模型的代码,让大家提问。而代码从头到尾只有十五行。

00:15:40 - Saron Yitbarek

哇。

00:15:40 - Michael Kennedy

接着你看,就像她说的那样,你提供一张照片,模型就会知道你的眼睛像什么。

00:15:44 - Saron Yitbarek

噢,天哪。

00:15:45 - Michael Kennedy

这种类型的项目势头十足。这些简洁,却又极具能量的东西,你可以直接通过一些包来导入,这真是厉害极了。

00:15:53 - Saron Yitbarek

哇,这好酷。

00:15:54 - Michael Kennedy

是不是很疯狂。

00:15:56 - Saron Yitbarek

好吧。让我们暂停一下对话。我们会在稍后听到更多 Michael 的观点,但我现在想要回头来强调一些事情。使 Python 这些令人惊叹的特质成为可能的源头,Python 社区。Python 成功的一个决定性因素就是这个庞大的、反应迅速的社区。

00:16:21

此时此刻,正如我们在 van Rossum 离开时看到的那样,社区的规模已经庞大到让人难以接受。想象一下你不得不背着整个语言包袱的样子。某种角度来说,吸引了如此庞大的社区,让保有一个终生独裁者的主意变得站不住脚。Van Rossum 未曾设想他的语言会收到如此巨大的反响,但是,几乎完全自发的,社区成员将 Python 的邮箱列表、新闻组、网站,以及最终通过 PEP 讨论语言变化的流程汇集在一起。PEP 是 Python 增强建议 Python Enhancement Proposals 的缩写。

00:17:05

所以,尽管有着独裁者的名号,van Rossum 仍致力于搭建一个用户可以真正传达意见,参与构建的语言。我敢打赌,尽管他在离开的那一刻感到沮丧,但 van Rossum 明白,一个活跃的社区给他的语言带去的好处,要远胜他离去而折损的。

00:17:25 - Diane Mueller

我叫 Diane Mueller。

00:17:27 - Saron Yitbarek

Diane 是红帽云平台的社区开发总监。在过去的 30 年里,她目睹了开源社区的强劲发展,尤其是 Python 社区,给她留下了极为深刻的印象。

00:17:42 - Diane Mueller

Python 社区做的太棒了……他们带来了大量行为准则的概念,关于会议、多样性奖金,所有这类东西。通过引入不同的声音以及不同的观点,我们得到了一个更好、更具创新性的项目,它必定能够留存得更久,并有望为更多的人带去更好的体验。

00:18:03

即便他们犯错了,也会开诚布公的进行处理。在看到这种精神弥漫进硅谷和初创公司的兄弟文化中之后,通过与社区的合作,Python 就像带我回到了我创业的地方,围绕着它的社区也像是回到了往日。它真的相当鼓舞人心,非常惊艳。

00:18:33 - Saron Yitbarek

能够鼓舞如此多的人,缘由是 Python 在最初就重新定义了成为社区一员的含义。我讲过 Guido van Rossum 即使是在引退之际,仍倡导了在社区里对女性的拥护。此外他也在更宽泛的意义上帮助了社区的拓展。

00:18:50 - Diane Mueller

个人为集体带来的远远不止是代码贡献。绝大多数社区管理者或是项目主管,都把精力集中在如何促进大家为他们的项目做出贡献。而在 Python 社区里,大家会鼓励你参与文档工作,或是帮助会议的举办,以及对多样性的促进。这里有许多不同类型的事让你参与,都可以使你成为 Python 社区的一份子。

00:19:19

所以这个想法,即社区贡献不仅仅局限于代码,像参与活动、相互学习和教育,以及大量的文档工作,这些对大多数人而言都是融入 Python 社区的方法。

00:19:35 - Saron Yitbarek

当然,我们还有许多路要走。

00:19:37 - Diane Mueller

精英阶层仍然注重于技术。没人会怀疑这个。但我想你也看见社区管理和社区管理者的理念了……我们都是社区重要的一份子,而不是被雇佣来干事的。

00:19:55

对 Diane 而言,van Rossum 正式放弃他独裁者角色的决定,是全局变化的一部分。这代表着编程语言的建设开始摆脱陈旧与单一。

00:20:07

我想我们可能已经摆脱了这种模式,尽管在一段时间里,我经常听见人说:“是的,我终生都是这个项目的仁慈独裁者。”但我并不认同。

00:20:21

Diane Mueller 是红帽社区发展总监。

00:20:28

在 Guido van Rossum 发出那份令人瞠目结舌的《移交权利》之后,Python 社区自身便成为了权力中心。随着项目的成熟发展,出现新的治理模式是正常的,并且正如我们所见,这些人已经做好准备,要来管理自己的语言了。但我仍然好奇,整件事最终是如何收场的?van Rossum 退场之后究竟发生了什么。让我们回到与 Michael Kennedy 的对话中来寻找一些答案吧。

00:20:59

……他离开了 Python,社区在没有他的情况下过得怎么样呢?

00:21:05 - Michael Kennedy

嗯,社区的状态其实还不错,但我们陷在一个……制高点,有点像是卡住了。运行时和语言基本上陷停滞不前。有一些有趣的提案,有些比较麻烦,有些又挺简单。比如,嘿,要不然我们每一年发布一次 Python,而不是每 18 个月,这样跟年度会议绑在一起,语言变化会变得更有可预测性。诸如此类的事情。

00:21:33 - Saron Yitbarek

噢,嗯。

00:21:33 - Michael Kennedy

这些都是无法做出定夺的。因为在他引退之后,还没有方法去做决策。他基本上只留下一句,我去度假了,全靠你们了,你们必须得弄清楚怎么才能继续运行下去。我不会告诉你们怎样去做决策或怎么去运营。麻烦现在是你们的了。

00:21:48 - Saron Yitbarek

哇。这听起来非常有戏剧性,但仔细一想。还记得那些 Python 增强建议 Python Enhancement Proposals (PEP)吗,那些用于接受社区反馈的 PEP?它们可以拯救大伙。

00:22:02 - Michael Kennedy

有一系列他们试图为 Python 社区确立的新治理模型。好吧,最大的新闻是他们最终决定选择其中之一,叫做 指导委员会 Steering Council ,委员会由五人组成 —— 我相信他们都有着平等的投票权 —— 他们最近选举出了五个人。。所以,这不是一个人的责任,而是所有的人的责任。

00:22:23

我感到十分高兴的一件事是, Guido van Rossum 也是他们的一员。他引退后说,我不能作为……所有这些人们想要改变和反馈的压力的唯一的发泄口。但是他还在,他没有完全抛弃这门语言。他仍然是一个核心开发者,并且加入了指导委员会。因此他仍然保留了发言权,但无需再独自承受一切,这真是非常棒。

00:22:47 - Saron Yitbarek

我很好奇,这一切在现实世界里是怎么奏效的?我感觉如果我是指导委员会的一员,和语言的创造者坐在一起,我可能会倾向于赞同他所说的任何意见。

00:22:58 - Michael Kennedy

对,确实如此。在平局的情况下,最终取决于 Guido。

00:23:03 - Saron Yitbarek

嗯,的确。

00:23:03 - Michael Kennedy

我不确定。但我认识指导委员会的一些人,他们一直以来都是社区的贡献者和开发者,可能超过了……在代码水平上,比 Guido 还多十五年。他们也都是非常深入的参与者,并且相当有主见,所以……

00:23:23 - Saron Yitbarek

……而且相当投入。

00:23:25 - Michael Kennedy

对,投入巨大。所以我认为这是行之有效的。另外,我觉得 Guido 的态度是,我仍然想参与其中,但不愿把自己的意志强加于人,否则一切都和原先没什么两样……我认为他可能倾向于选择一个更轻松的立场。

00:23:43 - Saron Yitbarek

好的。我想知道,你是否认为在语言的初创阶段,为了项目能够启动运行,以便语言可以变得激进,从而得到那些突破性的好处,拥有一个 终生仁慈独裁者 benevolent dictator for life (BDFL)的管理模型是必要的?

00:24:00 - Michael Kennedy

我认同。我有考虑过,大多数由委员会进行的设计,并不惊艳。在早期,有太多决策需要进行,语言如何工作?要不要用分号?怎么做这,怎么做那?所有这些内容都很难由委员会来决定,但是 Python 至今已经有 25 年的历史了。它有这么多人参与其中。我认为现在,它执行的是一个非常好的模型。

00:24:29 - Michael Kennedy

他们还有过辩论,是否应该换上一个替补的 BDFL ,这次我们又要选出谁来做我们的领袖呢?好在他们最后决定反对这个提议。

00:24:37 - Saron Yitbarek

好。如果 BDFL 的位置是极其重要的,我想知道,社区需要依赖他多久呢?听上去 Guido 是自行做出决定:嘿,太过分了,这不是一个可以延续的状态,我不干了。但是,假如他没有做出这样的决策,我想知道,是否有一个最佳的时机让这个人退出,让大家走向一个更民主的状态呢?

00:25:01 - Michael Kennedy

嗯,一定会有的,对吧?我认为这个时机应该存在。一个人难以与社区、技术的脉搏以及新的趋势一直保持紧密联系,说个数,大概 40 年。这是件极其困难的事,因此一定要有这个转换。我不能确切的说究竟在什么时候,但我认为必须得等到其他人相比 BDFL 做出了更多的贡献。随着核心贡献者和开发者越来越多,然后你就,嗯,我在度假,看看这些新的事情发生了,它还能活下来。类似这样的事情。

00:25:39 - Saron Yitbarek

嗯。就好像是社区在准备好后会自己告诉你。

00:25:42 - Michael Kennedy

对,正是如此。

00:25:48 - Saron Yitbarek

由于 Python 社区仍在自己的生命历程中,因此这里就是我们暂时告一段落的地方。Michael Kennedy 的两个播客会持续追踪 Python 之后的历程。欢迎订阅 Talk Python to Me 和 Python Bytes。

00:26:07 - Saron Yitbarek

你听说过被称为古代雅典立法者的 梭伦 Solon 的故事吗? 他是个很酷的家伙。 在梭伦为 民主雅典 Athenian democracy 建立宪法之后,他选择了自行流放。因为他清楚,继续执政只会增加他成为暴君的风险。我觉得 Guido van Rossum 就像是当代梭伦,为我们提供了数十年的标准实践,有点像是一部宪法。他建立起一个出色的编程语言,一个真正由开源社区自己创作的语言。然后他给予他们一个权力转移的时刻,他在那时告诉他们,你们由自己掌控,我不再是你们的独裁者了。

00:26:54 - Saron Yitbarek

他确保了一定是由社区,而非他本人,来推动 Python 前行。某种意义上,Guido van Rossum 的“移交权利”是开源世界中所有编程语言的共同宣言,因为任何语言随着其社区的发展,终将面临唯有社区才可以解决的挑战。

00:27:19 - Saron Yitbarek

在《代码英雄》的第三季中,我们会对编程语言的世界进行深入的挖掘。语言影响力的来源,正是它们如何通过强力的新方法去解决新的问题。在本季的剩余时间里,我们会探索 JavaScript、Perl、COBOL、Go,以及更多语言所具备的超能力。在下一集,我们会学习 BASIC 的故事,此外还会谈论到母语究竟教会了我们什么。

00:27:47 - Saron Yitbarek

如果你想更深入地研究 Python 或你在本集里听到的任何内容,请转至 redhat.com/commandlineheroes。最后,我是 Saron Yitbarek。直到下期,请坚持编程。

什么是 LCTT SIG 和 LCTT LCRH SIG

LCTT SIG 是 LCTT 特别兴趣小组 Special Interest Group ,LCTT SIG 是针对特定领域、特定内容的翻译小组,翻译组成员将遵循 LCTT 流程和规范,参与翻译,并获得相应的奖励。LCRH SIG 是 LCTT 联合红帽(Red Hat)发起的 SIG,当前专注任务是《代码英雄》系列播客的脚本汉化,已有数十位贡献者加入。敬请每周三、周五期待经过我们精心翻译、校对和发布的译文。

欢迎加入 LCRH SIG 一同参与贡献,并领取红帽(Red Hat)和我们联合颁发的专属贡献者证书。


via: https://www.redhat.com/en/command-line-heroes/season-3/pythons-tale

作者:Red Hat 选题:bestony 译者:caiichenr 校对:acyanbird, wxy

本文由 LCRH 原创编译,Linux中国 荣誉推出

在 Tiobe 指数近 20 年的历史中,Python 第一次成为第二大流行语言。

Tiobe 这么多年以来发布的指数中,29 岁的 Python 首次超过了 25 岁 Java,成为第二受欢迎的编程语言。

最新的 Tiobe 指数中,数据科学和机器学习项目的首选语言 Python,现在排名仅次于 C 语言,排在第二位,将 Java 打落到第三位。

2020 年 10 月编程排行榜前 3 名

这是 Tiobe 指数近 20 年的历史上,第一次出现 Java 和 C 语言不是两大顶级语言的情况。第三也是 Java 在 Tiobe 指数中的最低位置。Tiobe 指数使用多个搜索引擎上的查询来得出其评级

Python 显示比一年前的位置上升了 2.27%,这与同期 Java 下降了 -4.47% 形成鲜明对比。

历年前 10 名编程语言的年度平均排名

7 月份开发者分析机构 RedMonk 的编程语言受欢迎程度排名中,Python 也从 Java 手中抢走了第二名。不过,RedMonk 将 JavaScript 列为顶级语言。这是 RedMonk 的前两名首次不由 Java 或 JavaScript 组成。

根据电气工程出版物《IEEE Spectrum》的最新流行度排名,Python 已经是最受欢迎的语言

虽然 Python 在机器学习和数值计算等不断增长的科技领域获得了广泛的应用,但 Tiobe 首席执行官 Paul Jansen 认为,Python 最近的流行度激增是因为它足够简单,非程序员也能使用,而不是一种只适合高级程序员的语言。

“我相信 Python 的流行与普遍需求有关”,Jansen 写道,“过去,大多数编程活动都是由软件工程师完成的,但现在到处都需要编程技能,而且缺乏优秀的软件开发人员。”

“因此,我们需要一些简单的、可以由非软件工程师处理的东西,需要一些容易学习、编写周期快、部署流畅的东西。Python 满足了所有这些需求。”

RedMonk 的 Stephen O'Grady 对 Python 近年来的崛起有一个稍微不同的解释。

O'Grady 将 Python 与全盛时期的 Perl 相提并论,因为 Python 已经成为成千上万个小型项目的“首选语言”和“粘合剂”,同时在数据科学等不断增长的类别中享有很高的采用率。

但正如 Perl 今天所显示的那样(它在 Tiobe 指数中排名第 12 位),即使是曾经在某些开发者社区中大受欢迎的语言,也会相对迅速地衰落。

同样,Python 的未来也无法保证,它在构建移动和浏览器应用或任何有用户界面的东西方面也有明显的局限性。

C、Python、Java 编程语言的评分变化

流行的 Python 数据科学发行版的开发商 Anaconda 的 CEO Peter Wang 最近告诉 ZDNet,Python 作为后端系统自动化和脚本的语言的价值使它很难被取代。

虽然他是 Python 的主要支持者,但他也认为 Python 需要制定一个清晰的愿景,以保持与数据科学以外的其他应用开发语言的竞争力。


via: https://www.zdnet.com/article/programming-language-pythons-popularity-ahead-of-java-for-first-time-but-still-trailing-c/

作者:Liam Tung 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出