范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

RustVSPython为什么越来越流行,取代榜一Python?

  2021 年,Python 又获得了 TIOBE 年度编程语言,排名已经是第一。而 Rust 依然在 20 名以外。但依然有人认为,Rust 甚至可能取代 Python。不过这不重要,认清两者的优缺点,进而合适的地方使用合适的语言,这才最重要。
  在这个指南中,我们将比较 Rust 和 Python 这两门语言,同时将讨论它们各自的应用场景,回顾使用 Rust vs. Python 的优缺点,并解释 Rust 为什么越来越受欢迎(甚至可能取代 Python)。  01 Rust 是什么?
  Rust [1] 是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。Rust 在语法上和 C++ 类似,但是设计者想要在保证性能的同时提供更好的内存安全。Rust 最初是由 Mozilla 研究院的 Graydon Hoare 设计创造,然后在 Dave Herman, Brendan Eich 以及很多其他人的贡献下逐步完善的。Rust 的设计者们通过在研发 Servo 网站浏览器布局引擎过程中积累的经验优化了 Rust 语言和 Rust 编译器。
  Rust 拥有 优秀的文档 [2] 、友好的编译器和有用的错误消息,以及顶级工具,包括集成包管理器、构建工具、支持自动完成和类型检查的智能多编辑器、自动格式化程序等等。
  Rust 发布于 2010 年。虽然和 Python 相比,Rust 是一门年轻的语言,但是它的社区正在稳步增长。事实上,Rust 已经连续五年(2016,2017,2018,2019,2020)在 Stack Overflow 开发者调查的"最受喜爱编程语言"评选项目中摘取桂冠。
  乍一看,Rust 的静态化和强类型化可能看起来有点极端。但从长远来看,这有助于防止意外的代码行为。  02 Python 是什么?
  Python [3] 是一门旨在帮助开发人员更有效地工作和更有效地集成系统的编程语言。Python 提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。如果速度是最重要的,可以使用较低级别的 API 调用,如 CPython [4] 。
  1991 年 Guido van Rossum 推出了 Python,以其代码的可读性、无分号和花括号而著称。
  除了可扩展性之外,Python 还是一门解释型语言,这使得它比大多数编译型语言要慢。正如您可能期望的那样,Python 拥有一个庞大的库生态系统和一个庞大的专业社区。  03 什么时候使用 Rust
  Rust 被应用于系统开发、操作系统、企业系统、微控制器应用、嵌入式系统、文件系统、浏览器组件、虚拟现实的仿真引擎等。
  当性能很重要的时候,Rust 是一种常用的语言,因为它能很好地处理大量数据。它可以处理 CPU 密集型的操作,如执行算法,这就是为什么 Rust 比 Python 更适合系统开发的原因。
  Rust 保证了内存的安全性,让你可以控制线程行为和线程之间的资源分配方式。这使你能够构建复杂的系统,也使得 Rust 比 Python 更有优势。
  总而言之,你应在以下情况下使用 Rust:  你的项目需要高性能  你正在构建复杂的系统  你重视内存安全而不是简单性  04 什么时候使用 Python
  Python 可以用于许多应用领域,从 Web 开发,到数据科学和分析,到 AI 和机器学习,再到软件开发。
  Python 被广泛用于机器学习,数据科学和 AI,因为它:  简单且容易  灵活  包含大量面向数据的软件包和库  有出色的工具和库生态系统支持
  在以下情况下,你应该使用 Python:  你需要一种灵活的语言来支持 Web 开发,数据科学和分析以及机器学习和 AI  你重视可读性和简单性  你需要一种对初学者友好的语言  与性能相比,你更喜欢语法简单和开发速度  05 为什么 Rust 可以取代 Python
  考虑到 Rust 的迅速普及、受欢迎程度和广泛的使用案例,它几乎不可避免地会在不久的将来超越 Python,以下是一些原因。  性能
  Rust 超越 Python 的一个主要原因是性能。因为 Rust 是直接编译成机器代码的,所以在你的代码和计算机之间没有虚拟机或解释器。
  与 Python 相比,另一个关键优势是 Rust 的线程和内存管理。虽然 Rust 不像 Python 那样有垃圾回收机制,但 Rust 中的编译器会强制检查无效的内存引用泄漏和其他危险或不规则行为。
  编译语言通常比解释语言要快。但是,使 Rust 处于不同水平的是,它几乎与 C 和 C ++一样快,而且没有额外开销。
  让我们看一个用 Python 编写的 O(log n) 程序的示例,并使用迭代方法计算完成任务所需的时间:  import random import datetime def binary_searcher(search_key, arr):   low = 0   high = len(arr)-1   while low <= high:     mid = int(low + (high-low)//2)     if search_key == arr[mid]:       return True     if search_key < arr[mid]:       high = mid-1       elif search_key > arr[mid]:         low = mid+1 return False
  输出:  > python -m binny.py It took 8.6μs to search
  现在,让我们来看一下使用迭代方法用 Rust 编写的定时 O(log n) 程序:  >use rand::thread_rng; use std::time::Instant; use floating_duration::TimeFormat;  fn binary_searcher(search_key: i32, vec: &mut Vec) -> bool {   let mut low: usize = 0;   let mut high: usize = vec.len()-1;   let mut _mid: usize = 0;   while low <= high {     _mid = low + (high-low)/2;     if search_key == vec[_mid] {       return true;     }     if search_key < vec[_mid] {       high = _mid - 1;     } else if search_key > vec[_mid] {       low = _mid + 1;     }   }   return false; }  fn main() {   let mut _rng = thread_rng();   let mut int_vec = Vec::new();   let max_num = 1000000;    for num in 1..max_num {     int_vec.push(num as i32);   }   let start = Instant::now();   let _result = binary_searcher(384723, &mut int_vec);   println!("It took: {} to search", TimeFormat(start.elapsed())); }
  输出  > cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.04s Running targetdebugalgo_rusty.exe It took: 4.6μs to search
  在没有使用任何优化技术的情况下,Rust 和 Python 在同一台机器上执行类似的操作分别需要 4.6 微秒和 8.6 微秒。这意味着 Python 花费的时间几乎是 Rust 的两倍。  内存管理
  Python 和大多数现代编程语言一样,被设计成内存安全的。然而,即使没有垃圾回收。Rust 在内存安全方面却让 Python 望尘莫及。
  Rust 采用了一种独特的方式来确保内存安全,其中涉及所有权系统和借用检查器(borrow checker)。Rust 的借用检查器确保引用和指针不会超过它们所指向的数据。  错误检查与诊断
  Python 和其他语言一样,提供了错误检查和日志机制。但是在让开发者知道哪里出了什么问题的时候,Rust 和 Python 之间有一些差异。
  举一个 Python 变量错误的典型例子:  apple = 15 print("The available apples are:", aple)
  Python 输出  Traceback (most recent call last):     File "binny.py", line 2, in        print("The available apples are:", aple)     NameError: name "aple" is not defined
  Rust 中的类似示例:  fn main() {   let apple = 15;   println!("The available apples are:", aple); }
  Rust 输出  println!("The available apples are:", aple);    ^^^^ help: a local variable with a similar name exists: `apple`
  在这里,Rust 推荐了可能的变量,这些变量可能是你想输入的。Python 只会抛出错误,而不会给出如何修复的建议。
  再举个例子:  fn main() {   let grass = 13;    grass += 1; }
  此代码引发错误,因为默认情况下 Rust 中的变量是不可变的。除非它具有关键字   mut   ,否则无法更改。
  错误:  let grass = 13;       |         -----       |         |       |         first assignment to `grass`       |         help: make this binding mutable: `mut grass`
  修正错误:  fn main() {   let mut _grass: i32 = 13;    _grass += 1; }
  如你所见,现在它不会引发任何错误。除此之外,Rust 不允许不同的数据类型相互操作,除非将它们转换为相同的类型。
  因此,维护 Rust 代码库通常很容易。除非指定,否则 Rust 不允许更改。Python 是允许这种性质的更改的。
  与大多数编译语言相比,Rust 因其速度快、内存安全有保证、超强的可靠性、一致性和用户友好性而备受青睐。在编程中,我们已经到了速度开始变得毫不费力的地步。
  随着技术的发展,它变得越来越快,试图在更短的时间内做更多的事情,而不需要那么多的权衡。Rust 帮助实现了这一点,同时又不妨碍开发者的工作。当技术试图推动可以实现的边界时,它也会考虑系统的安全性和可靠性,这是 Rust 背后的主要思想。  并行运算
  除了速度外,Python 在并行计算方面也有局限性。
  Python 使用全局解释器锁(GIL),它鼓励只有一个线程同时执行,以提高单线程的性能。这是一大局限,因为它意味着你不能使用多个 CPU 核进行密集计算。  社区
  如前所述,Stack Overflow 的" 2020 开发人员调查"中有 86%的受访者将 Rust 称为 2020 年最喜欢的编程语言。
  同样," 2020 HackerRank 开发人员技能报告"的受访者将 Rust 列为他们计划下一步学习的十大编程语言:
  相比之下,2019 年的调查将 Rust 排在列表的底部,这表明 Rust 开发人员社区正在迅速增长。
  这些数据表明,Rust 正在成为主流开发者社区的一部分。许多大公司都在使用 Rust,一些开发者甚至用它来构建其他编程语言使用的库。著名的 Rust 用户包括 Mozilla、Dropbox、Atlassian、npm 和 Cloudflare 等等。
  Amazon Web Service 还对 Lambda,EC2 和 S3 中的性能敏感组件采用了 Rust。在 2019 年,AWS 宣布赞助 Rust 项目,此后为 Rust 提供了 AWS 开发工具包。
  公司正越来越多地用更高效的编程语言(如 Rust)取代速度较慢的编程语言。没有其他语言能像 Rust 一样在简单和速度之间做出平衡。  06 总结
  Rust 已经发展成为一门易于使用的编程语言,因此它的使用率有所提高。尽管 Python 在机器学习/数据科学社区中占有坚实的地位,但 Rust 在未来很可能被用作 Python 库更有效的后端。
  Rust 具有取代 Python 的巨大潜力。目前的趋势是,在应用程序、性能和速度方面,Rust 不仅仅是一种编程语言,它还是一种思维方式。
  各位看官你们觉得呢?评论区留下你的看法!

数字货币背后的区块链,币安慈善打破设定应用自由经过早期野蛮成长的洗礼,区块链行业越来越回归到理性客观的阶段。区块链长远发展的方法也受到互联网行业的关注,只有并驾齐行,才能是区块链发挥真正的价值,于是无论科技鸡头还是区块链从业者骁龙888双6400万主摄,旗舰机降至2198元,性价比颇高因为高通骁龙888的原因,今年的旗舰手机在价格上是跳水比较快的。虽然骁龙888因为发热的原因,无法很好地发挥它的性能优势(需要有很强的散热才能发挥),但骁龙888的外围实力显然更强ipadmini6退订了ipadmini6的机身尺寸为195。4134。86。3毫米,搭载的是一块8。3英寸的Liquid视网膜屏,拥有原彩显示P3广色域显示和超低反射率。跟mini5一样,没有任何变化,iQOO迎来劲敌!realme堆料堆到极致?GTNeo2发布万级调光一个手机除了好看的外观,还有强悍的配置,其实屏幕也是至关重要的一部分,因为一款好屏幕,不仅护眼,手机功耗也很低很省电,在前两年屏幕的感知并不是很强,也有很多而忽略了这一点,如今,手真香警告!AppleWatchSeries7的四个真香之处挂断了期待已久的加州来电,十分热闹的苹果秋季新品发布会已经落下帷幕。在本次秋季新品发布会上苹果一口气为我们带来了四款新品,分别是iPhone13iPadmini6新iPad,当然全程序员2021。9。180微信聊天将可访问外链9月17日下午腾讯发布关于微信外部链接内容管理规范调整的声明。声明称,在确保信息安全的前提下,用户升级最新版本微信后,可以在一对一聊天场景中访问外部链接。程序苹果成世界第一大5G厂商库克放大招!苹果成世界第一大5G手机厂商库克放大招!苹果成世界第一大5G手机厂商,国产厂家脸往哪放?库克放大招!苹果成世界第一大5G手机厂商,国产厂家脸往哪放?在国内市场上说起苹果公司,想必大家都还是比较熟悉的苹果公司作现在手机淘汰的那么快,在哪个平台购买二手iPhone最靠谱?伴随着苹果产品的更新换代,现在二手苹果手机淘汰下来的越来越多,很多人在预算吃紧又想体验新款苹果手机的情况下,考虑去买二手苹果也是一个不错的选择,既省下资金,又能体验到新款苹果带来的盘点能现货入手的四款麒麟芯片5G手机,款款经典最新消息,华为高层表示预计将在2030年左右建成6G网络,并投向市场。现在华为5G手机业务虽然遭遇到了挫折,但众所周知华为5G专利全球第一,5G建设也是遥遥领先,在全球占23以上。iPhone13系列发布后,你真打算换手机了么盛传的13香,15号终于尘埃落定了,还是原来的配方,还是原来的味道,只不过是碗变了。对于新发布的13系列iPhone,对于自己来说基本上还是那样,只不过是芯片换成了A15,镜头排列售价更亲民,升级更全面,三星ZFlip3折叠屏手机再引潮流两年前,当三星初代折叠屏横空出世时,你可能很难想象折叠屏手机竟然也能做到如此精致。而两年后,当三星GalaxyZFlip35G呈现在我们面前时,带来的惊艳感丝毫不逊于两年前。更重要
售价10万的妻子机器人,除了生孩子什么都能做?别被骗了人类对机器人的研发,从最早期的工业机器人,经过不断迭代,衍生出各种形态运用于各领域的机器人。近几年,有消息称日本有一个科研团队研发出了一款妻子机器人,功能非常强大,售价仅卖10万一华为开启2022年校招,偏爱浙大和哈工大,工资待遇羡煞旁人如果让大家提一个走向世界的中国品牌,相信很多人都会想到华为。作为一个知名的跨国公司,华为的薪资待遇和晋升机制在全国都是数一数二的。因此,每年都有数以万计的学生想要毕业后,顺利进入华小鹏一季度净亏17亿元,最强中大型纯电SUVG9小鹏三季度上市5月24日消息,日前小鹏汽车对外公布一季度财报。财报显示,一季度公司营收74。5亿元,同比增长152。6,第一季度净亏损17。0亿元,同比增长116。2截至一季度末,小鹏汽车现金储高通WiFi7芯片更多消息曝光,iPhone12低至百元沦为弃机5月24日,据台湾经济日报报道,高通今天表示,WiFi7芯片已经交付给客户,终端产品预计在今年年底之前上市。在202324年达到10。针对WiFi7渗透率何时达到10的问题,高通高数源科技目前5G通信壳业务占比较小中证网讯(记者董添)数源科技5月24日晚间发布股票交易异常波动公告。公告显示,近期公司关注到多家媒体关于公司研发生产的5G通信壳报道的相关新闻,5G通信壳属于特定用户的个人消费电子华为的招牌不灵了?换标Mate40销量惨淡华为曾是国内手机市场的第一大品牌,市场份额一度接近50。然而好景不长,华为遭遇了不公正的打压,最直接的影响就是从2019年9月之后无法再正常购买手机所需的芯片。因此这两年华为手机的美院士担心的事情出现了,小米联手徕卡,能超越华为的销量神话?就在昨日,华为代表确认了在3月底就已经结束了与徕卡长达5年的合作,随后徕卡就选择与国产后起之秀小米进行合作。这一刻,或许很多国人消费者不明白意味着什么,但对于国外厂商,甚至整个西方年供600吨稀土,帮苹果抢国内市场?网友华为的事才过去多久众多消息显示,苹果预计将在今年9月份推出iPhone14系列新机。众所周知,苹果在中国市场的竞争力一直很强,它占据了中国大部分市场。如今,年轻人喜欢使用苹果手机和其他苹果产品。可以数据如何变富矿,重塑企业治理模式和竞争力物料在一楼自动刷卡乘梯上楼,被送往五层的仓库中四楼出料区,AGV送货小车自由往返于仓库和车间生产车间里,电路板扫码进站搭车般进入流水线,从第一道工序开始按部就班跑起来。在佛山智造工1年流失6400万玩家,大佬出走腾讯网易?暴雪还有救吗?哈喽大家好,我是X博士。前阵子,动视暴雪发布了第一季度的最新财报,收入比去年同期掉了22,净利润暴跌36,用户活跃方面更惨了,直接少了6400万玩家。更让人意外的是,数据这么惨,动裸藻为什么还能抵抗90高温?深企这项研究有答案近日,植物学领域国际权威刊物新植物学家(NewPhytologist)在线发表深圳华大生命科学研究院德国马普合作研究成果。该研究发布了平藻纲首个染色体水平绿藻基因组,揭示了作为无细