文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
ken:feigaobox@gmail.com
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。
solidot新版网站常见问题,请点击这里查看。
Solidot 公告
投 票
热门评论
- 98%是“候选软件工程” (1 points, 一般) by solidot1677804695 在 2023年03月03日08时53分 星期五 评论到 近四成程序员只爱远程工作
- 如果是这样那我就放心了 (1 points, 一般) by Craynic 在 2023年03月01日13时42分 星期三 评论到 脸盲症可能比此前认为的更普遍
- 划地为牢 (1 points, 一般) by solidot1677591194 在 2023年02月28日21时42分 星期二 评论到 亚马逊因电子书出现在盗版网站而将其从 Kindle Unlimited 中移除
- 能用chatgpt取代的工作 (1 points, 一般) by Craynic 在 2023年02月27日20时07分 星期一 评论到 调查称部分企业开始用 ChatGPT 取代员工
- 反正我只用deb包和tar包 (1 points, 一般) by Craynic 在 2023年02月24日13时00分 星期五 评论到 Ubuntu 下一个版本默认不再支持 Flatpak
- 立法禁止种性歧视其本身也是一种种性歧视 (1 points, 一般) by Craynic 在 2023年02月23日14时37分 星期四 评论到 西雅图立法禁止种性歧视
- (1 points, 一般) by luoshaoj 在 2023年02月22日17时35分 星期三 评论到 Google Chrome 推出减少内存占用和耗电的工具
- (1 points, 一般) by africwildman 在 2023年02月16日19时43分 星期四 评论到 Google 失去了方向
- 央视报道 (1 points, 一般) by jerry 在 2023年02月15日08时16分 星期三 评论到 中国科学家报告最年轻的痴呆症病例
- (1 points, 一般) by 红火阿奎1 在 2023年02月14日19时14分 星期二 评论到 KiCad 7.0 释出
根据 SlashData 的年度开发者调查报告,jQuery 的流行度在下降,React.JS 是目前使用最广泛的客户端框架。JavaScript 仍然是最大的编程语言社区,全球每天有 1960 万开发者使用 JavaScript,从 Web 开发和移动应用,到后端代码、云端和游戏。Java 社区仍然在快速增长,其规模从 830 万增加到 1650 万,两年翻了一番。Python 过去两年增加了大约 800 万新开发者,数据科学和机器学习是 Python 流行的助推器,63% 的机器学习开发者和数据科学家使用 Python,不到 15% 的人使用 R 语言。Kotlin 和 Rust 社区的规模过去两年都翻了一番。27% 的被调查开发者表示正在学习加密货币项目,但大部分人对 NFT 不感兴趣。
Python 软件包仓库 PyPI 的自动化风险检测平台发现了数十个新发布的恶意软件包。攻击者拷贝了现有的合法软件包,然后注入恶意的 __import__ 声明,试图植入恶意程序 W4SP Stealer。拷贝合法软件包的好处是因为 PyPI 软件包的登录页是根据 setup.py 和 README.md 生成的,除非仔细检查,恶意软件包的登录页乍一看会被认为是合法的。攻击者使用了有意思的策略防止开发者在阅读代码时发现注入的恶意声明,方法是在代码中留了大量的空格,在编辑器的显示窗口上你需要拉到最右边才可能发现恶意注入。正常声明和恶意声明之间留了 318 个空格。
Python 语言发布了 3.11 版本,新版本的一个主要特色是性能显著提升。主要特性包括:Python Traceback 细粒度错误位置,异常组和 except*,标准库支持解析 TOML,Async IO 支持任务组,Faster CPython 项目成果显著—— Python 3.11 的速度比 Python 3.10 快 10-60%,基准测试平均是上一个版本的 1.22 倍。
开源社区仍然广泛使用邮件列表这一历史悠久的通信媒介,Python 语言社区则开始讨论将开发者使用的讨论媒介从邮件列表切换到
Discourse 论坛。Python 项目是在 2018 年开始实验使用 discussion.python.org 论坛。作为实验的一部分,核心开发者使用的邮件列表 python-committers 切换到了 Discourse。今天该邮件列表仍然存在,但主要作为发布公告使用,大部分讨论都是在 Discourse 论坛上进行。开发者 Victor Stinner 的提议引发了保留邮件列表还是完全使用 Discourse 的讨论。Victor Stinner 称他不怎么访问 Discourse 错过了有兴趣的新 PEP 讨论,希望新 PEP 能发布在 python-dev 邮件列表上。在随后的讨论中 Python 语言指导委员会表示要将讨论的媒介从 python-dev 切换到 discussion.python.org。python-dev 列表可能将迎来它的最终命运。
Python 3.11 上个月释出了首个 Beta 版本,预计在 7 月释出 RC 版本,10 月发布正式版本。Python 项目称,Python 3.11 的性能比 3.10 有显著提升,速度提高了 10-60%,在标准基准套件中平均增速达到 1.25 倍。Python 3.11 的新特性包括:语法特性有例外组(Exception Groups)和 except*,类型特性有可变泛型、Self 类型、任意文字字符串类型等等。Phoronix 在 AMD Ryzen 9 5950X 开发机上测试了 Python 3.11 Beta、Python 3.10.4,、Python 3.9.13 和 Python 3.8.13,结果显示 Python 3.11 Beta 在整体上比 Python 3.10 快 41%。
Python 编程语言项目的两位核心开发者仍然留在乌克兰。Serhiy Storchaka 是近期贡献第二多、历史贡献排名第十的核心开发者,他住在 Konotop 外围,该市正被俄罗斯军队占领,他在 2 月 26 日发推说,俄罗斯坦克正在距离他家 2 公里的公路上行驶,俄罗斯的装甲车从窗外驶过。他极有可能将生活在占领区,这里不存在适用的法律。另一位专注于异步网络支持的核心开发者是 Andrew Svetlov,他居住在被俄罗斯包围的首都基辅。Python 软件基金会的 Lukasz Langa 称两位核心开发者都不愿离开乌克兰,他设法帮助 Storchaka 的 11 岁的侄女和好友及其母亲逃到了波兰的华沙。
TIOBE Index 显示,Python 是今天最流行的编程语言,Java 和 C 统治编程语言的时代结束了。Python 作者 Guido van Rossum 称不知道如何回答合适,表示深感荣幸,感谢社区让 Python 如此成功。Python 的流行部分是因为数学科学和机器学习软件库如 NumPy、Pandas、Google 的 TensorFlow 和 Facebook 的 PyTorch 的兴起。荷兰软件质量保证公司 Tiobe 跟踪了编程语言的流行度长达二十年,它侧重于企业级语言,根据语言相关的搜索查询等因素进行排名,多年来 Java 和 C 一直排在最前面。但紧跟在后的 Python 超过了它们。排在前十的语言包括:Python,C,Java,C++,C#,Visual Basic,JavaScript,SQL,PHP 和 Assemblyy Language。
1991 年 2 月 Guido van Rossum 发布了 Python 语言的首个公开版本 0.9.1。30 年后,数据科学和 AI 的流行推动它成为最受欢迎的编程语言之一。以彭博社为例,这家著名财经资讯平台有 2000 名 Python 开发者。任职于彭博社的 Python 引导委员会成员 Pablo Galindo 接受采访时候指出,30 年后的 Python 已经是非常成熟的语言了,而当你试图改变语言时很有可能会造成破坏,人们最怕的就是这件事。但语言仍然会发生大的改变。计划在今年 10 月释出的 Python 3.1 将会支持模式匹配,这可能是 Python 至今做出的最大的语法改变之一。对于 Python 仍然在演变和适应他对此非常高兴,他们在向后兼容上已很有经验了。
Google 成为 Python 软件基金会最高等级的赞助商:Visionary Sponsor。Python 软件基金会的赞助商等级包括:Associate Sponsor,Participating Sponsor;Partner Sponsor;Contributing Sponsor;Maintaining Sponsor;Sustainability Sponsor 以及 Visionary Sponsor。Visionary Sponsor 意味着 Google 不仅将 Python 用于内部开发,而且将 Python 作为产品的重要组成部分。Google 的赞助费用将被用于资助 CPython 开发,改进供应链安全。Google 从 2010 年起就是 Python 软件基金会的赞助商。
即将释出的 Python 包管理器 Pip 即将释出 pip 21.0,新版的一个重要变化是停止支持 Python 2,下载加入 --ignore-requires-python 支持,改进新解析器的错误信息显示,等等。Python 2 已经在 2020 年结束支持,开发者在 2020 年 4 月发布了 Python 2.7 分支的最后一个版本也是一个非常特殊的版本:Python 2.7.18(近似欧拉常数)。
Python 语言之父、已退休的终身仁慈独裁者(BDFL)Guido van Rossum宣布加盟微软。他在声明中称,退休太无聊了,所以他加入微软的开发者部门。Guido van Rossum 称,他可以选择做很多事情,其中之一是帮助更好的使用 Python。他是 Python 语言的最初设计者及主要架构师,被公认为是 Python 项目的 BDFL,但在 2018 年宣布辞去 BDFL 退休。
Python 2 已经结束支持,根据 Python 软件基金会和 JetBrains 发布的第三年度 Python 开发者调查,被调查者中只有十分之一的人还在用 Python 2。这项调查收到了 2.4 万多名开发者的回应,结果显示 59% 的开发者将 Python 用于数据分析,51% 用于 Web 开发,40% 机器学习,39% DevOps 和系统管理,37% 用于开发爬虫类 Web 工具,31% 软件测试,26% 教育,25% 原型,21% 网络编程,18% 桌面开发,14% 计算机图形,8% 嵌入式系统开发,7% 游戏开发,6% 移动开发。Web 开发仍然是 Python 最常见的用途,其次是数据分析、机器学习、DevOps 和系统管理。九成的开发者现在使用 Python 3,相比下 2018 年的比例是 84%。在继续用 Python 2 的开发者中,45% 将其用于 Web 开发,41% 用于 DevOps 和系统管理。如此多的开发者将 Python 2 用于 Web 开发的原因被认为是旧的遗留代码。Linux 是 Python 开发者最常用的开发系统,其次是 Windows 和 macOS。
Python 语言项目发布了 Python 2.7 分支最后一个版本也是一个非常特殊的版本:Python 2.7.18。2.7.18 是接近欧拉常数的 Python 版本号。欧拉常数 e 是无理数,约等于 2.71828。开发者表示,仍然使用 Python 2 分支的用户可以使用欧拉常数去计算技术债务复利。开发者最后对已退休的仁慈独裁者 Guido van Rossum 表达了感谢。2.7.18 之后开发者不再发布任何更新,接替 Python 2 的 Python 3 早在 2008 年就已经发布,但由于它不向后兼容,导致许多用户仍然停留在 Python 2 分支。
Python 开发者现在可以观摩下美国情报机构 NSA 是如何培训 Python 程序员的。软件工程师 Chris Swenson 根据信息自由法案递交申请,要求访问 NSA 的 Python 培训材料,结果收到了 400 页经过编辑的 NSA COMP 3321 Python 培训课程打印资料。Swenson 扫描了打印稿,用 OCR 进行识别,确保数字档案可搜索,将其托管在 Digital Oceans Spaces,之后又被上传到了互联网档案馆。Swenson 称他问 NSA 索要 Python 培训材料纯粹是出于好奇。Python 开发者 Kushal Das 观摩之后摘录些有趣的细节:NSA 有内部的 Python 包索引,其 GitLab 实例是 gitlab.coi.nsa.ic.gov,为 CentOS、Red Hat Enterprise Linux、Ubuntu 和 Windows 提供了 Git 安装指南,但不包括 Debian。
Python 安全团队从 PyPI (Python Package Index) 移除了两个被发现会窃取 SSH 和 GPG 密钥的恶意 Python 库。两个库都由同一名开发者创建,利用名字相似的方法去模仿已知的流行库:python3-dateutil 试图模仿流行的 dateutil 库,jeIlyfish 模仿 jellyfish 库。德国开发者 Lukas Martini 上周日发现了这两个恶意库,在通知安全团队之后它们被立即移除。Martini 称,恶意代码只存在于 jeIlyfish 中,python3-dateutil 本身不包含恶意代码,但它会导入 jeIlyfish 库。dateutil 开发团队成员 Paul Ganssle 分析后认为,恶意代码是尝试从用户计算机上窃取 SSH 和 GPG 密钥,然后发送到一个 IP 地址。