写点什么

苹果发布 Swift 6,改进了并发性、测试和跨平台支持

  • 2024-10-16
    北京
  • 本文字数:1294 字

    阅读完需:约 4 分钟

大小:603.85K时长:03:26
苹果发布 Swift 6,改进了并发性、测试和跨平台支持

苹果发布了 Swift 编程语言的 6.0 版,与 macOS 15 和 iOS/iPadOS 18 的正式版本同时推出。新版 Swift 带来了一系列改进,包括更安全的并发性、新的标准测试库以及跨 Linux、Windows 和苹果平台的更广泛的跨平台支持。

 

Swift 是一种编译语言,性能接近 C 或 C++,但对开发人员来说更安全、更易用。它的安全特性包括变量必须在使用前初始化、溢出检查适用于数组和整数、内存管理是自动的、默认情况下对象永远不会为 nil(相当于 null)等。

 

在 Swift 6 中有一种新的可选模式,可通过编译器检查将数据争用错误检测为错误,从而让并发编程更加安全。当两个或多个线程访问同一内存位置时就会发生数据争用,其结果不可预测。发布公告中将这一安全特性描述为“旅程的开始”和“积极开发的领域”。该模式之所以是可选而非默认,主要考虑到误报(假正)的风险,这会阻止正常代码的编译,还有可能遗漏一些错误。

 

另一个关键的新特性是引入了一个名为 Swift Testing 的标准测试框架。这意味着开发人员只需将“import Testing”添加到他们的测试代码中即可,无需添加进一步的依赖项。

 

通过支持更多 C++ 类型和一众虚拟方法,Swift 6 的 C++ 互操作性也得到了改进。这很重要,因为它简化了开发人员将现有代码库迁移到 Swift,并使用 Swift 编写新代码的过程。

 

其他新特性包括了 128 位整数类型、指定函数抛出的异常类型的能力、对泛型代码中不可复制类型的支持,以及嵌入式 Swift(适用于微控制器等目标)的版本预览。

 

苹果和开源 Swift 社区都在努力扩大该语言支持的平台数量,现在它的支持范围包括了苹果自己的 Mac 和系列设备平台、Windows 10 及更高版本(x86 和 Arm)、Ubuntu、CentOS 7、Amazon Linux 2、Red Hat 9、Debian 和 Fedora。目前它还不支持取代 Amazon Linux 2 的 Amazon Linux 2023。

 

由于添加了针对 Linux 的静态 SDK,用 Swift 6 编写 Linux 上的服务端应用程序更容易了——例如,开发目标是 Linux 的时候可以在 macOS 或 Windows 上编译代码。使用静态编译还可以消除大多数兼容性问题,但代价是更高的内存使用率和更大的可执行文件。

 

跨平台的另一个关键特性是,提供核心功能的 Foundation 库现在是用 Swift 编写的,并且在所有平台上都是相同的——这个 2022 年 12 月开始的项目宣告完成。

 

Swift 能否摆脱其仅限苹果平台的形象?

跨平台支持问题涉及到一个更广泛的问题,即 Swift 是否会完全摆脱其在苹果平台的局限而成为主流。原则上,它具有 Rust 等语言的一些优势——包括原生编译和内存安全——但更容易学习和使用。

 

到目前为止的证据表明,Swift 的市场依旧是个小圈子。例如,GitHub 存储库的语言统计数据表明,Swift 的使用率实际上有所下降——从 2016 年的 1.75% 下降到 2024 年的 1.08%——尽管这绝不是一个全面的使用指标。

 

推动跨平台支持可能会提高采用率。挑战在于,苹果对 Swift 的投资将一直优先考虑自家平台而非跨平台支持——而且编程社区大多尚未相信该语言的跨平台潜力。

 

原文链接:https://devclass.com/2024/09/19/apple-releases-swift-6-with-improved-concurrency-testing-cross-platform-support-enough-to-lift-it-out-of-its-niche/

2024-10-16 15:174420

评论

发布
暂无评论
发现更多内容

ToB软件遇上ChatGPT,没有天翻地覆

ToB行业头条

DAPP智能合约开发链上技术

薇電13242772558

智能合约

【漏洞真实影响分析】Apache Kafka Connect 模块JNDI注入(CVE-2023-25194)

墨菲安全

SCA 代码安全检测 软件供应安全

GaussDB(DWS)迁移:一种执行高效的TereData的marco迁移方案

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

​网易游戏实时 HTAP 计费风控平台建设

PingCAP

TiDB

MASA Stack 1.0 发布会讲稿——生态篇

MASA技术团队

.net 开源 MASA MASA Stack

flutter系列之:使用SliverList和SliverGird

程序那些事

flutter 架构 大前端 程序那些事

低代码开发平台 让数据应用不再复杂

力软低代码开发平台

业务流程将因生成式AI变革,ChatGPT引领的AIGC正在改变组织运营

王吉伟频道

人工智能 业务流程优化 AIGC ChatGPT 生成式AI

GPT发展史

鼎道智联

openai

java技术培训机构哪里好

小谷哥

Apifox 自动化测试新增流程控制条件,复杂测试场景不再是问题!

Apifox

测试 测试工具 程序员‘ 测试管理工具

新思科技点拨DevSecOps安全“左移”的9大要点

InfoQ_434670063458

DevSecOps 软件安全 安全左移

线下java培训机构哪个比较好

小谷哥

什么是极速文件传输,极速文件传输如何进行大文件传输

镭速

你知道2023年堡垒机报价是多少吗?谁能回答!

行云管家

网络安全 等保 堡垒机 等级保护

led显示屏升级这些技术才能更节能

Dylan

广告 LED LED显示屏

StarRocks技术内幕 | 资源隔离原理解析

StarRocks

数据库 开源 资源隔离

前端培训机构怎么选择

小谷哥

前端培训机构哪家比较适合学习

小谷哥

盘点导致sql执行速度慢的几种情况,都是生产环境踩过的坑

程序员拾山

MySQL

直播预告 | 对谈谷歌云 DORA 布道师:聊聊最关键的四个 DevOps 表现指标

思码逸研发效能

DevOps

实现订单到期未支付自动关闭不会写?这6种方案任你挑选

程序员拾山

Java 技术方案 关闭订单

提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇(二))

京东科技开发者

人工智能 运维 AIOPS 时间序列 企业号 2 月 PK 榜

2023年中国数字化活动行业专题报告

易观分析

数字经济 产业数字化

提速还能不掉点!深度解析 MegEngine 4 bits 量化开源实现

MegEngineBot

深度学习 开源 MegEngine CUDA int4

前端开发如何选择培训机构

小谷哥

在中国程序员工作是青春饭吗?

小小怪下士

Java 程序员 面试

促进关键软件高层次人才培养:平凯星辰与华东师范大学签订联合博士培养合作协议

PingCAP

教育

一图读懂 | 2023年中国产业数字化十大趋势

易观分析

数字经济 产业数字化

MQTT X 1.9.1发布:资源消耗降低80%,稳定性大幅提升

EMQ映云科技

物联网 IoT mqtt 版本发布 企业号 2 月 PK 榜

苹果发布 Swift 6,改进了并发性、测试和跨平台支持_Android/iOS_Tim Anderson_InfoQ精选文章