rust

Java 地位不保,落后已成定局 ?| 10月编程语言排行

笑着哭i 提交于 2020-11-08 09:50:23
在去年,Python 在 TIOBE 索引中排名第三,但它的受欢迎程度仍持续上升。本月它达到了历史新高点,11.28% 。 而 Java 恰恰相反,自从 2001 年以来,Java 正在接近它的历史最低点,Python 和 Java 之间的差距不断的缩小,相差仅为 1.3%。自从 TIOBE 指数开始以来,C 和 Java 一直占据着前两名的位置。 所以,如果 Python 达到第2位,这将是一个历史性事件。让我们看看接下来几个月会发生什么。 排名明显变化的语言: GO: 从 17 位 升到 14 位 Perl: 从 13 位 升到 11 位 Ruby: 从 15 位 升到 13 位 Swift : 从 12 位 降到 16 位 Assembly Language: 从 14 位 降到 17 位 Classic Visual Basic: 从 17 位 降到 22 位 Zig : 榜单新增语言 排在 114 位 Zig 是一门通用编程语言,专为稳定性、可维护性和性能而设计,追求替代 C 语言在系统编程上的最佳地位。Zig 具有以下值得关注的特性: · 手动管理内存; · 与 C 语言竞争而非依赖它,Zig 标准库不依赖于 libc; · 轻量而简单,专注于调试应用而不是调试编程语言的知识; · 新的错误处理方法,与编写良好的 C 语言错误处理类似,但减少了很多冗余; ·

[招聘][南京][可远程] 求Rust开发工程师

与世无争的帅哥 提交于 2020-11-06 07:03:44
坐标南京,上班 965,同时上下班可以根据自己的情况弹性 1 小时。目前公司是远程+坐班的形式,一部分小伙伴远程工作一部分小伙伴坐班工作,以下职位只要您能力够强,接受远程。也欢迎仅希望技术交流的小伙伴来撩~ 联系方式:zhoujing@itering.com Rust 开发工程师(全职) 薪资 15-30K 作为 Rust 开发工程师,您将与其他 Rust 开发人员(目前公司 4 位 Rust 小伙伴)一起使用 Rust 语言,基于前沿区块链开发框架,开发跨链网络。 职位要求: 1.计算机或相关专业,本科及以上学历; 2.年及以上开发经验(优秀的应届生也可以联系,但是对学习能力会要求很高); 3.熟练使用 Rust (如果学习能力很强,想要转 Rust 也欢迎来试试啦); 4.了解区块链技术,对区块链相关的机制和原理或有强烈兴趣; 5.具有良好的学习能力和沟通能力,喜欢解决问题。 加分项:英文水平强;密码学、网络或分布式系统背景;关注新技术,对新技术有热情并乐于分享;关注开源社区,提供 Github 账号或其他技术论坛账号以及个人技术博客地址。 本文分享自微信公众号 - Rust语言中文社区(rust-china)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接:

深入浅出Rust异步编程之Tokio

让人想犯罪 __ 提交于 2020-11-05 04:10:44
深入浅出Rust异步编程之Tokio 本文以tokio为例简单介绍Rust异步编程相关的一些知识。 首先让我们看看为什么使用rust来进行异步编程。这里tokio官方给出了一个性能测试的对比,可以看到tokio是性能最好,实际上运行这个基准测试的时候,tokio性能更好的2.0版本尚未发布,否则估计性能还有很大提升。因此,我们可以认为需要非常极致性能的时候,我们可以选择rust+tokio来实现。 Rust网络编程 Rust实际上并不跟一定的网络编程模型强绑定,实际rust可以实现阻塞IO+多线程,非阻塞IO+回调,用户态线程等多种模型。这里着重介绍Rust实现的用户态线程。 首先,Rust的用户态线程是一种基于Future的用户态线程,关于Future本身,本文后续部分有详细论述。 其次,由于是Rust实现,因此可以做到零成本抽象,并且更容易做到安全。 最后,由于没有运行时大量内存分配,没有动态逻辑分派,也没有GC开销,所以该实现的效率非常高。 Rust异步编程是构建在操作系统相关API上,MIO库类似Java的Nio库,针对多种操作系统的不同API做了统一封装。Future库类似Java的Future库,提供了相关接口和常用的组合能力。Tokio构建于两者之上,在MIO和future的基础上实现了用户态线程。使用Tokio进行异步编程的技术栈如下,需要注意的是

[Rust] Setup Rust for WebAssembly

天涯浪子 提交于 2020-11-03 14:03:39
In order to setup a project we need to install the nightly build of Rust and add the WebAssembly target. For an improved workflow we also install the CLI tools wasm-pack and wasm-gc. Install: brew install rustup Run: rustup-init Setup nightly toolchain as default. rustup default nightly Then we add the target wasm32-unknown-unknown rustup target add wasm32-unknown-unknown In addition, we use cargo , Rust's package manager, to install wasm-pack cargo install wasm-pack This tool seeks to be the one-stop shop for building and working with Rust-generated WebAssembly that you would like to interop