2024年,Rust开发语言,现在怎么样了?

Rust开发语言有着一些其他语言明显的优势,但也充满着争议,难上手、学习陡峭等。

Rust 是由 Mozilla 主导开发的通用、编译型编程语言,2010年首次公开。

在 Stack Overflow 的年度开发者调查报告中,Rust 连续多年被评为“最受喜爱的编程语言,以下是2023年的投票。

图片

一,Rust语言优势有哪些

01 内存安全

Rust 最显著的特性之一是其内存安全性

通过所有权系统、生命周期、借用检查器来确保内存安全

与 Go 和 Java 等语言不同,Rust 没有垃圾回收器

Rust 在编译时防止了许多常见的内存管理错误,例如空指针引用、悬挂指针和缓冲区溢出等

02 高性能

Rust 的性能可以与 C 和 C++ 相媲美,适合需要高效执行的场景,操作系统、嵌入式系统和游戏开发。

提供零成本抽象,使编译器能够优化与接口定义无关的代码,从而达到零开销的目标

零成本抽象实现有泛型和trait、静态分派、优化编译器等。

03 高并发

Rust 通过其所有权系统和类型系统,使得并发编程既安全高效

Rust 的编译器在编译时检查并发代码,确保无数据竞争,保证了数据在多个线程之间的安全共享和修改

Rust 允许通过 SendSync 特性安全地在线程之间传递所有权

04 跨平台

Rust 支持跨平台开发,可以编译成多种平台的二进制文件,包括 Windows、Linux、macOS ,以及Android和iOS的使用

过配置 Cargo 文件,开发者可以为不同的平台生成对应的可执行文件

外部函数接口FFI,可以与其他语言操作,通过编译so 编译成静态库, 与android和iOS提供使用

04 其他优势

Rust 的包管理器和构建系统,提供了依赖管理、构建和测试等

Crates.io Rust 的官方包仓库,包含了大量开源库,可以直接使用

Rust 拥有丰富的文档资源和相关例子,上手起来其实也比较简单和快捷

图片

二,Rust应用场景

系统编程、WebAssembly、web开发(现在看起来还不是很好)、桌面应用、命令行工具、区块链行业(Polkadot)、游戏行业、包括现在做的web3以及AI都不乏有rust语言的身影。

2024年行业里有更多的rewrite来使用rust,目的为了更安全和稳固的系统。

移动端的底层开发,比如google的android系统底层也有rust的身影。

国内华为、字节、百度、阿里、美团等在通用组件、基础平台系统都在使用rust,其他国内数据库厂商、交易所、理想汽车、小鹏汽车等,以及大量在区块链、游戏行业提供的远程职位(也是不错选择)

飞书应用包括桌面、android、iOS非UI部分也有rust来实现

三,Rust社区RoadMap

也表示2024 要降低学习门槛,拥抱更广泛的开发者社区。

Rust Lang Roadmap for 2024 | Inside Rust Blog

四,关于Rust的一些学习和机会

后边公众号的Rust合集里将介绍一些Rust的使用和快速学习笔记,帮助对Rust感兴趣的朋友快速上手,毕竟Rust给人的感觉会比较难学一些。

Rust到底好不好用,最终还是要看具体的业务场景应用。比如,目前用Rust来编写纯UI的前端,可能还不是很成熟。但在内存管理、安全性和性能优化等领域,Rust无疑是一种非常优秀的语言选择。

每种开发语言都有其独特的优势,也需要整个生态系统的完善来发挥其最大潜力。

Rust目前看是有很大可能可以在全栈领域发挥语言特性优势,并能有对应多领域岗位提供。期待你的持续关注和参与,一起学习和探索Rust的无限可能。

PS: 也欢迎大家评论和交流~ 更多文章也可关注微信公号:良技漫谈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

c# 值类型

目录 1、c#类型2、值类型2.1 结构体2.2 枚举 1、c#类型 类型(Type)又叫数据类型(Data Type)。 A data type is a homogeneous collection of values,effectively prensented,equipped with a set of operations which manipulate…

怒刷666条提示词后,终于总结出终结 AI 味儿的3种方法(强烈建议收藏)

大家好,我是凡人。 最近一个朋友给我发了几张他知乎的评论,是这样的: 这样的: 还有这样的: 无奈他就问我 “ AI 怎么能生成没有 AI味儿 的回答?” ,说实话这真是个神奇的问题。 老话儿讲 “ 耳…

Angular实现gridview效果

说明&#xff1a;使用angular实现grid效果&#xff0c;支持文字图片多条数据展示 效果图: step1: <mat-grid-list cols"2" rowHeight"2:1"><mat-grid-tile *ngFor"let course of courses">{{ course }}</mat-grid-tile> &l…

2、顶点着色器之视图矩阵

1、作用&#xff1a;将物体从世界坐标系转换到相机坐标系&#xff0c;相当于从世界坐标系转换到相机的局部(本地)坐标系。 2、基于LookAt函数的视图矩阵&#xff1a; 相机位置eye&#xff1a;(ex,ey,ez)&#xff0c;世界坐标系下的位置 目标位置center&#xff1a;(cx,cy,cz…

react使用Fullcalendar 实战用法

使用步骤请参考&#xff1a;react使用Fullcalendar 卡片式的日历&#xff1a; 需求图&#xff1a; 卡片式的日历&#xff0c;其实我是推荐 antd的&#xff0c;我两个都写了一下都能实现。 antd 的代码&#xff1a; antd的我直接用的官网示例&#xff1a;antd 日历示例 i…

基于SpringBoot+Vue实现智能停车收费系统

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用

本文整理于 2024 年云栖大会阿里云智能集团高级技术专家金吉祥&#xff08;牟羽&#xff09;带来的主题演讲《ApsaraMQ Serverless 能力再升级&#xff0c;事件驱动架构赋能 AI 应用》 云消息队列 ApsaraMQ 全系列产品 Serverless 化&#xff0c;支持按量付费、自适应弹性、跨可…

基于SpringBoot+Vue实现高校毕业与学位资格审查系统

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

0.STM32F1移植到F0的各种经验总结

1.结构体的声明需放在函数的最前面 源代码&#xff1a; /*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //开启USART1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructu…

RDT——清华开源的双臂机器人扩散大模型:先预训练后微调,支持语言、图像、动作多种输入

第一部分 清华开源全球最大双臂机器人扩散大模型RDT 2.1 什么是RDT 2.1.1 RDT推出的背景及其与以前工作的对比 受到最近在单手操作方面尝试的启发&#xff08;Brohan等&#xff0c;2023&#xff1b;Kim等&#xff0c;2024&#xff09;&#xff0c;清华一研究团队推出了RDT&a…

C++基础三(构造函数,形参默认值,函数重载,单例模式,析构函数,内联函数,拷贝构造函数)

C有六个默认函数&#xff0c;分别是&#xff1a; 1、默认构造函数; 2、默认拷贝构造函数; 3、默认析构函数; 4、赋值运算符; 5、取址运算符; 6、取址运算符const; 构造函数 构造函数(初始化类成员变量)&#xff1a; 1、属于类的成员函数之一 …

「DSA」C++排序算法 之 选择排序_Selection Sort_O(n²)

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

完美洗牌的秘密(十三)——(反)完美洗牌第二定理的应用(16张的Anti faro周期魔术)...

早点关注我&#xff0c;精彩不错过&#xff01; 在前面的文章中&#xff0c;我们介绍了&#xff08;反&#xff09;完美洗牌定理的应用的海量魔术&#xff0c;详情请戳&#xff1a; 完美洗牌的秘密&#xff08;十二&#xff09;——反完美洗牌定理的应用扩展&#xff08;三叠发…

TOEIC 词汇专题:旅游计划篇

TOEIC 词汇专题&#xff1a;旅游计划篇 制定旅行计划时&#xff0c;尤其是跨国旅游&#xff0c;会涉及到很多独特的英语词汇。以下是与“旅游计划”相关的托业词汇&#xff0c;帮助你更加自如地规划行程。 1. 旅行服务和优惠 出发前了解一下与服务和优惠相关的常用词汇&#…

PVE定时开启关闭虚拟机,实现PVE中群晖虚拟机的定时开机和关闭

如果在PVE中安装了群晖&#xff0c;又不想每天关闭PVE(不在家&#xff0c;怕服务器起不来)&#xff0c;因此想每天定时关闭开启黑群晖和其他虚拟机释放资源。 在网上查了很多&#xff0c;说在crontab添加命令 00 2 * * * pvesh create /nodes/pve/qemu/102/status/stop 00 6 …

JDBC/ODBC—数据库连接API概述

JDBC/ODBC概述 在数据库连接领域&#xff0c;有两种广泛使用的技术&#xff1a;ODBC&#xff08;Open Database Connectivity - 开放数据库连接&#xff09;和 JDBC&#xff08;Java Database Connectivity - Java 数据库连接&#xff09;。 一、什么是 ODBC&#xff1f; Ope…

2024年NSSCTF秋季招新赛-WEB

The Beginning F12看源码&#xff0c;有flag http标头 黑吗喽 题目说要在发售时的0点0分&#xff0c;所以添加标头data Date: Tue, 20 Aug 2024 00:00:00 GMT然后改浏览器头 User-Agent: BlackMonkey曲奇就是Cookie cookieBlackMonkey这个一般就是Referer Referer:wukon…

后台管理系统的通用权限解决方案(十一)SpringBoot的统一异常处理

文章目录 1 统一异常处理介绍2 统一异常处理案例 1 统一异常处理介绍 在实际项目中&#xff0c;不可避免需要处理各种异常。如果每个都单独处理&#xff0c;代码中则会出现大量的try {...} catch {...} finally {...}代码块&#xff0c;不仅有大量的冗余代码&#xff0c;而且还…

Axure使用动态面板制作新闻栏目高级交互

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;使用动态面板制作新闻栏目 主要内容&#xff1a;动态面板State切换、控制&#xff1b;动态面板滚动设置&#xff1b;设置选中 应用场景&#xff1a…

android数组控件Textview

说明&#xff1a;android循环控件&#xff0c;注册和显示内容 效果图&#xff1a; step1: E:\projectgood\resget\demozz\IosDialogDemo-main\app\src\main\java\com\example\iosdialogdemo\TimerActivity.java package com.example.iosdialogdemo;import android.os.Bundl…