solidot新版网站常见问题,请点击这里查看。
Ruby 语言项目在圣诞节这天释出了一个大的更新版本 Ruby 3.0.0。新版本的一个重要目标是大幅提升性能,速度要达到上一个大版本 Ruby 2 的 3 倍也就是 Ruby 3x3。测试显示 Ruby 3 在 NES 游戏模拟工作负荷中的单线性能确实达到了 Ruby 2 的 3 倍。新版的变化包括改进了 MJIT 性能,实验性角色模型 Ractor,Fiber Scheduler,RBS,TypeProf,重新设计单行模式匹配,粘贴长代码的速度是 Ruby 2 的 53 倍,等等。
Rust 语言项目公布的最新调查显示,83% 的回应者表示正在使用 Rust 从事开发。Rust 是由 Mozilla 创造的语言,Mozilla 用它开发了实验性的渲染引擎 Servo,并逐渐将部分组件整合到 Firefox 中,但在前不久的裁员中 Mozilla 裁掉了许多 Rust 项目的核心开发者。Rust 项目宣布独立,而 Servo 项目则成为了 Linux 基金会托管项目。微软和亚马逊 AWS 部门的工程师都在尝试使用 Rust 项目开发更安全的软件。
编程语言 JavaScript 诞生二十五年,虽然饱受批评,但 JavaScript 已成为 Web 和浏览器应用的重要组成部分。Brendan Eich 在 1995 年花了 10 天设计出了 JavaScript 原型,在它大获成功之后,微软设计出了超集 TypeScript,之后 Google 的 V8 引擎,基于 V8 的 node.js,Facebook 的 React,等等帮助 JavaScript 迅速占领了从桌面到移动的广泛平台。JavaScript 现在是世界最流行的编程语言。
亚马逊云服务 AWS 雇佣了 Rust 编译器团队负责人之一的 Felix Klock。AWS 开源团队还表达了对 Rust 语言的强烈兴趣。亚马逊开发者称他们越来越多的用 Rust 构建关键基础设施如 Firecracker VMM,因为它的开箱即用功能减少了满足公司高安全标准所需要的时间和精力,同时又能提供类似 C 和 C++ 的运行时性能。AWS 对 Rust 语言是如此喜欢以至于它还赞助了该项目,甚至还开始雇佣了 Rust 和 Tokio 开发者确保他们拥有进一步改进 Rust 所需的时间和资源。亚马逊雇佣的知名 Rust 开发者除了 Felix Klock 还有 Sean McArthur、Lucio Franco 和 Jon Gjengset。
GitHub 宣布从下个月开始,用户创建的新代码库将用 main 替代 master 作为默认的分支。现有的库将保持不变,默认分支继续使用 master。GitHub 此举旨在清除对奴隶制的不必要引用,改用更具有包容性的术语。GitHub 表示,新的中性术语将从 2020 年 10 月 1 日启用。它表示,重命名现有代码库的默认分支面临许多挑战,到今年年底它将让现有代码库默认分支的重命名变得更顺畅。
法国空中客车直升机公司宣布选择 AdaCore 公司的 GNAT Pro Ada 工具套装和 Ada 语言开发 VSR700 原型项目的无人驾驶航空系统。Ada 是一个有 40 年历史的结构化、静态类型、命令式和面向对象的高级编程语言,由 Pascal 及其他语言扩展而成,它在几十年前就解决了今天 Rust 语言试图解决的部分内存安全问题。
作为一种现代系统级语言,Rust 比 C 或 C++ 更安全也更容易使用,Linux 内核主要是用 C 开发的,Rust 被很多人认为是 C 和 C++ 的最佳替代,而 Linus Torvalds 等内核的核心维护者对在内核中使用 Rust 持开放态度。为了用于内核开发,Rust 只是能生成可链接到内核的代码是远远不够的,需要找到一种方法让 Rust 能访问内核使用的 API,而内核所有的 API 都定义在 C 头文件内。 Rust 支持与 C 代码的互操作,包括调用使用 C ABI 的函数。表面看,Rust 能很好的与现有的 C API 整合起来,但魔鬼在细节中。在最近举行的虚拟 Linux Plumbers Conference 会议上,开发者谈论了内核使用 Rust 开发所面临的挑战
ISO/IEC 14882:2020 标准草案获得批准。相比 C++17,C++20 是一次重大的更新,引入了新的语言概念、模块、操作符“<=>”、协程、指定初始化、新标准属性等等。C++20 库标准还加入了范围、特性测试宏和位操作等。详细变化列表可参考维基百科cppreference.com open-std.org
Rust 语言项目宣布成立自己的基金会,基金会的第一项任务就是接管所有权。与 Rust、Cargo、crates.io 相关的商标和域名将转移到基金会名下,而基金会也将承担相应的财务责任。Rust 最初是 Mozilla 的一个研究项目,2015 年发布了 1.0 版本,此后它确立了项目方向,独立于 Mozilla 组织进行治理。2020 年 8 月 11 日,Mozilla 宣布了重组,裁掉了大约 250 名员工,其中包括 Rust 项目和社区的活跃成员。裁员对 Rust 项目本身也产生了不确定性和混乱。Rust 项目表示,担任 Rust 团队成员的 Mozilla 雇员将仍然是项目成员,即使他们受到裁员影响。如果他们选择减少对项目的参与,Rust 项目也将理解并完全支持其决定。
IEEE Spectrum 通过综合 CareerBuilder、GitHub、Google、Hacker News、IEEE、Reddit、Stack Overflow 和 Twitter 八个来源 ,分析了 55 种编程语言的流行度,公布了它的 2020 年度编程语言排行榜:Python 是 Web、企业级和嵌入式类别中最流行的语言,而 Java 则移动类别中最流行的语言。Web 类别的最流行语言是:Python、Java、Javascript、Go、Ruby、Dart 和 PHP;移动类别是:Java、C、C++、Swift、Dart、Scala、Kotlin、C#、Objective-C、Delphi、Scheme 和 D。企业级类别是:Python、Java、C、C++、R、Go、Swift、Matlab、Ruby 和 SQL。嵌入式是:Python、C、C++、Arduino、Assembly、Rust、C# 和 Verilog。综合排名:Python、Java、C、C++、Javascript、R、Arduino、Go、Swift 和 MATLAB。
最新的 TIOBE 语言流行度指数显示 R 语言从去年同期的第 20 名进入到了前 10 名,前 10  其它语言的排名基本没有变化。C 语言超过 Java 成为最流行语言,Swift 取代了 SQL 排名第十。 R 语言提高了 8 个名次,Go 从 16 提高到了 12 名, Perl 从 19 提高到了 14 名,Scratch 从 30 名升到 17 名, Rust 从 33 升至 18,PL/SQL 从 23 升至 19。Ruby 从 11 名降至 16 名, SQL、MATLAB 和 Assembly Language 的排名也都出现了略微下滑。
为了试图解决公司内部的种族主义问题,摩根大通(JPMorgan Chase)正从内部代码和技术材料中替换掉 blacklist、master 和 slave 等术语。它不是第一家这么做的公司和机构,但可能是金融行业首个采取这一措施的投行。在程序或硬件中,master 和 slave 被用于描述一个进程控制另一个进程或一个设备控制另一个。blacklist 则被用于描述被自动拒绝的条目,Whitelist 意思相反表示自动批准。哥伦比亚商学院编程教授 Mattan Griffel 称,此类的术语长期受到争议,很难改变。在银行内部代码中替换掉这些术语可能需要花费数百万美元和数个月的工作。
Amazon Web Services 发布了基于浏览器的零编程应用构建服务 Amazon Honeycode,让无编程经验的人能构建移动和 Web 应用。AWS 推荐用户使用 Chrome 浏览器构建应用,称使用其它浏览器可能会遇到问题,但 Web 应用可以正常运行在各种主流浏览器上。客户可使用 AWS 的数据库去构建各种应用,从简单的任务跟踪应用到较为复杂的管理多个工作流的项目管理应用。零编程工具最近一段时间比较流行,它被认为可以让没有多少经验的人快速构建所需应用,在疫情流行社会实现隔离政策期间可能更为有用。Honeycode 可免费使用,有付费选项。
Ruby on Rails 作者 David Heinemeier Hansson 接受采访谈论了如何写出出色的代码。他被问道作为一个见识了大量代码的人,好的差的代码是否能一目了然。Hansson 回答:如果代码很糟糕,在检查逻辑前你就察觉到。没有缩进,代码风格混乱,一点也不细心。学习写出出色的代码是一生的追求。正如我在 RailsConf 2014 上所说的,我们不是软件工程师,而是软件作者。相比工程,写作是更适合我们所从事工作的比喻。写作事关清晰,以一种清晰易懂的方式展示信息,因此人人都能理解。成为优秀的作者靠背字典是不行的。知道可用的单词知道开发模式不能让你成为出色的开发者。你必须发展出自己的见解,你需要决定你的系统最重要的是清晰。优秀程序员的定义是能写出清晰软件的人,而要成为优秀的程序员,唯一的方法是你必须阅读大量的软件和写大量的软件。
微软云计算开发大使 Ryan Levick 在 AllThingsOpen 虚拟会议上称,就其核心而言,C++ 不是一种安全的语言。他解释了为什么微软正逐渐转移到 Rust 去构建基础设施软件,远离 C/C++,微软也鼓励软件行业的其它巨头考虑这么做。他说,我们正在使用的语言来自于一个不同的时代,C++ 不是一种内存安全的语言,对此人人都心知肚明。微软现在认定将 C++ 用于开发关键任务软件不再是可以接受的。行业需要转移到一种高性能、内存安全的语言去开发底层软件,而 Rust 语言是软件行业的最佳机会
GitHub CEO Nat Friedman 周五在 Twitter 上表示,GitHub 将用中性词如 "main" 去替换 "master"这个让人联想到奴隶制的术语。GitHub 成为最新一个支持移除可能冒犯部分群体的术语的公司。替换的术语包括 "master" 和 "slave" 替换为"main/default/primary" 和 "secondary" ,"blacklist" 和 "whitelist" 替换为 "allow list" 和 "deny/exclude list"。最近几周,因为 Black Lives Matter(黑人的命也是命)抗议活动,多个开源项目采取行动替换冒犯性的术语,其中包括 PHPUnitCurlOpenZFS,Google Chrome 和 OpenSSL 等项目也都考虑采取类似的行动。
Swift 5.3 进入到了开发的最后阶段,它的一大目标是扩大支持平台,包括 Windows 和更多的 Linux 发行版。Swift 已经支持的 Linux 发行版包括 Ubuntu 16.04 和 Ubuntu 18.04,新增的发行版包括 Ubuntu 20.04、CentOS 8 和 Amazon Linux 2。移植到 CentOS 和 Amazon Linux 需要做出大量小的改编,如 FoundationNetworking 需要切换到不同的 libcurl 版本,Swift 包管理器需要适应 Fedora 包系统,不再依赖 libatomic 等等。 Swift 项目为每一个支持的平台提供了可下载的工具链和 Docker 镜像。
根据 HackerEarth 对 76 个国家的 16,655 名开发者的调查,Google 的 Go 语言最受开发者的青睐。调查显示,开发者多不喜欢会议,而跨国公司里的工作也不怎么让人开心。HackerEarth 在印度和美国旧金山都设有办事处,为招聘人员提供了工具远程评估程序员的编程技术。调查结果显示,Go 语言是开发者最想学的语言,在有经验的开发者中有 32% 的人想要学,相比下想要学 Python 的比例为 24%。这一结果与招募远程开发者的 HackerRank 公司的另一项调查相吻合。Google、Netflix、American Express、Salesforce、IBM、Target、Twitch、Twitter、Uber 和 Dropbox 都在使用 Go 语言。
一个 npm 小项目的更新给整个 npm 生态系统制造了一场混乱,影响到了数百万 JS 项目。名叫 is-promise 的库包含了两行代码,其它项目可通过一行代码调用使用该库。它的功能是让开发者测试一个 JS 对象是否是 Promise。尽管这个库只有两行代码,但它却是最流行的 npm 包之一,被超过 340 万个项目使用。上周末 is-promised 释出了一个更新,结果由于它不符合正确的 ES 模块标准,导致使用该库的其它项目在构建时出错。问题并没有导致现有 JS 项目崩溃,而主要无法编译新版本。许多知名的 JS 项目都受到影响,其中包括 Facebook 的 Create React App,Google 的 Angular.js 框架,Google 的 Firebasse-tools,亚马逊的 AWS Serverless CLI,Nuxt.js 等等。npm 生态系统的依赖问题早在 2016 年就引发过广泛关注。
在编程问答社区 Stack Overflow 的最喜欢编程语言投票中,Rust 连续四年高居第一。但 Rust 项目承认,尽管如此,Rust 存在严重的普及度问题:Stack Overflow 的投票显示:开发者对 Rust 有普遍好感,但 97% 的开发者并不真正使用它。为什么不使用 Rust 的调查显示:受访者称公司不使用,或者学习曲线太陡,缺乏必要的库,缺乏集成开发环境的支持,需要更好的培训和文档。换句话说,Rust 缺乏走向大众的生态系统,这不是一朝一夕能建立起来的。
上一页123下一页