【Rust日報】2019-09-13 - C/C++ vs Rust:開發人員的觀點
- 2019 年 10 月 4 日
- 筆記
C/C++ vs Rust:開發人員的觀點(譯)
在這篇文章中,將從開發人員的角度看到Rust和C / C ++之間的區別
最初由Maourice Gonzalez在https://www.onmsft.com上發布
C++是一種非常快速和高效的程式語言。它的多功能性無任何限制,其成熟度確保支援和可靠性是首屈一指的。用C ++開發的程式碼也非常隨身,所有主流作業系統都支援它。許多開發人員開始使用該語言進行Coding,這並非巧合。面向對象意味著它在,類,繼承,抽象,封裝和多態等概念方面做得非常好,它的概念和語法都能在現代語言中找到,如C#,Java和Rust。它提供了一個很好的基礎,可以提供更高速度,更易於使用和更現代的替代方案。
現在它並不都是美好的, C++有一個非常陡峭的學習曲線,需要開發人員將最佳實踐應用到程式中,否則最終會導致不安全或性能不佳的程式碼,標準庫的體積很小,雖然大多數時候被認為是一個好處同時也增加了難度。這意味著成功使用C++創建有用的複雜庫和應用程式可能具有挑戰性。在記憶體管理方面幾乎沒有提供什麼幫助,開發人員必須自己做。由於缺乏經驗會導致記憶體安全問題和其他棘手的情況,新手程式設計師最終可能會遇到調試噩夢。最後一點引導許多公司探索快速,安全且同樣強大的C++替代品,對今天的微軟來說,那個東西就是rust
修復了大多數漏洞且分配了CVE [常見漏洞和暴露]的漏洞是由開發人員無意導致記憶體安全問題,系C和C++中的程式碼所引起的 - Gavin Thomas,Microsoft安全響應中心
Rust在2006年的某個時候由一位名叫Graydon Hoare的Mozilla員工開始作為個人項目。這個雄心勃勃的項目已經在發布前開發了近十年,終於在2015年5月推出了1.0版本。在眨眼之間之間在Stack Overflow開發者調查中,自2016年以來被選為四年來最受歡迎的語言,已經偷走了大批開發者的心。
努力工作肯定得到了回報。最終結果是非常有效的語言,其特徵在於面向對象。事實上,它被設計為在語法上類似於C++,這使得它很容易接近。但與前面提到的不同,它還被設計為記憶體安全,同時還採用了一種新型的記憶體管理形式,而沒有明確使用垃圾收集。
醜陋的事實是軟體開發是一個試錯法(哈哈哈,玄學問題請重啟)。Rust已經超越了幫助我們調試我們的程式碼。編譯器可生成非常直觀且用戶友好的錯誤消息,並可直接鏈接到相關文檔以幫助進行故障排除。這意味著如果問題不明顯,大多數時候答案是點擊一下。我發現自己很少需要啟動瀏覽器來尋找Rust編譯器在解釋和文檔方面提供的解決方案之外的解決方案。
Rust沒有垃圾收集器,但大多數時候仍為您分配和釋放記憶體。它也被設計為記憶體安全,與C++不同,C++很容易讓您在懸掛指針和數據競爭時遇到麻煩。相比之下,Rust採用了可以幫助您預防和避免此類問題的概念。
還有許多其他因素使我從C++轉向Rust。但說實話,它與我們剛剛探索過的所有偉大的東西毫無關係。我從WebAssembly開始的旅程中來到了Rust。從我開始尋找一種更有效的網路JavaScript替代方案開始變成了確定Rust的強大功能。從它的無縫互操作......
在Rust,WebAssembly和JavaScript API之間自動生成綁定程式碼。利用像web-sys這樣的庫,為整個Web平台提供預打包的綁定。- rust website
它的性能有多快和可預測。我們生活中的一切都在發展。我們的智慧手機,汽車,家用電器,自己的身體。C ++雖然仍然非常強大,快速和多功能只能帶我們到目前為止。在探索替代方案方面沒有任何害處,特別是那些與Rust相比具有特殊性和承諾的替代方案。
Read More: https://morioh.com/p/95c294659991
async-std v0.99.5 - Rust非同步標準庫
async-std外觀和感覺像是Rust標準庫,一切如你所期待使用async/await的工作方式一樣。該版本主要更新內容如下:
- 增加了
io::timeout的測試 - 增加了
fs::create_dir_all - 增加了
io::prelude - 增加了
stream::Stream::all - 增加了
stream::Stream::filter_map - 增加了
stream::Stream::find_map - .....
Repo:https://github.com/async-rs/async-std
使用Rust構建Python擴展

本演講將集中討論pyo3和milksnake,這兩個流行的庫提供了非常不同的編寫Rust擴展的方法; 它將涵蓋對圖書館的基本介紹,並比較它們的相對優勢和劣勢。
Read More: https://morioh.com/p/14b736e8b8de
Rust的WebAssembly簡介,來自Rust Melbourne的演講
在2019-08-14的Rust Melbourne,David Cristofaro給了我們一個關於WebAssembly的介紹

Read More: https://www.youtube.com/watch?v=WONGc1zUxtc
From 日報小組 月泉
日報訂閱地址:
獨立日報訂閱地址:
- Telgram Channel
- 阿里雲語雀訂閱
- Steemit
- GitHub
社區學習交流平台訂閱:
- Rust.cc 論壇: 支援 rss
- Rust Force: 支援 rss
- 微信公眾號:Rust 語言學習交流