Re: [討論] Rust 2024 發佈正式版

作者: PosetMage (AI魔法師公會長老)   2025-02-22 12:39:39
※ 引述《Rust (lang)》之銘言:
: https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html
: 知道Rust這個程式語言也超過十年了,
: 自從1.0穩定版推出之後,
: 就以每三年一個大版本的方式演進,
: 今年則是輪到了Rust 2024
: (對,因為延遲了一段時間到2025才發佈)。
: 不過我看了一下看起來是這次最大的改動RPIT,
: 然後根本不知道在寫什麼OTZ,
: 只能說Rust的複雜性越來越高了......
: 啊對了Future也進Prelude了~
好像蠻多人想問為什麼rust要存在XD
簡單說可以看看kotlin kotlin使用了JVM 換言之就是復用已經發展成熟的語言後端
rust復用的是成熟的LLVM IR後端 前端C++已經發展到亂七八糟的 早就該重新設計
就如同kotlin是一個現代前端 rust也是現代前端
推文有人說C C也是古老不良設計的語言 比如file系參數順位並不統一
作者: ILoveAMD (AMD)   2025-02-22 13:19:00
無所謂設計良不良 能完成任務的就是好工具
作者: labbat (labbat)   2025-02-22 14:30:00
會現代C/C++的都是狠人
作者: stallings (瓜子)   2025-02-22 14:30:00
現代世界還是要有現代工具希望 C (簡陋)、C++ (複雜) 能盡快被取代
作者: Matz (妹妹C吸)   2025-02-22 15:48:00
要取代C/C++,不是不可能,但我們到死應該都看不到
作者: DrTech (竹科管理處網軍研發人員)   2025-02-22 18:14:00
可以分享,簡單,複雜,亂七八糟的定義嗎?如果是 人造成的因素,別牽拖給程式語言吧。Rust也可以寫出亂七八糟阿!
作者: dildoe (Dildo)   2025-02-22 20:08:00
現有的c/c++專案鐵定不會換語言 一般人也不會整天寫c/c++都是特定行業比較多XD
作者: superpandal   2025-02-22 20:46:00
如果現代就是臃腫就是桎梏 我覺得這不夠現代輕量跨平台 編譯以及運行都足夠快才是人用的東西現代是速食文化工具就是工具而不是人 便捷好用才好
作者: ILoveAMD (AMD)   2025-02-22 21:09:00
想取代c喔? 不知道該從哪吐槽
作者: windows2k (程式宅 <囧>)   2025-02-22 21:59:00
那有什麼完美無缺的語言,一切都是trade off
作者: md3q6e (furu777520forever)   2025-02-22 23:05:00
rust 抽象是很好 但套件包真的好肥交給 analyzer 檢查又很吃資源
作者: superpandal   2025-02-22 23:17:00
確實目前沒有完美的語言 可以先放棄一些次要的東西開發人員開發快捷是主要的就是
作者: ohmylove347 (米特巴爾)   2025-02-22 23:41:00
怎麼可能沒有不良設計?不是優缺並存就代表設計沒問題耶,大腦要進化可都是萬年為單位的,只要大腦還有限制語法設計必然有好壞。為什麼現代語言都有明顯的設計趨勢,就是因為前人已經試錯告訴你那些設計容易導致開發上帶來問題,如果舊有設計沒有不良,為何新興語言要改變?
作者: ILoveAMD (AMD)   2025-02-22 23:49:00
趨勢是各種防呆 盡量在編譯階段抓出問題
作者: Bencrie   2025-02-23 02:10:00
參數順位不統一那個要去罵 POSIX 標準吧
作者: wsad50232 (阿豐)   2025-02-23 08:19:00
那種會變來變去的語言都是垃圾什麼時候看到C 在改版
作者: windows2k (程式宅 <囧>)   2025-02-23 11:50:00
c89/c99/c11/c17/c23都在改啊,只是沒引進大feature,最大的改動就是memory model
作者: kkes0001 (kkes0308)   2025-02-23 18:51:00
又到了我最喜歡的戰語言環節
作者: pot1234 (鍋子)   2025-02-23 20:01:00
go光vector效能就差不少吧
作者: superpandal   2025-02-23 22:30:00
倒也不是真的要升級cpu 多數應用夠用就好 機制搞好哪種語言多半不會差太大的至於js和py就是臃腫化了 專案也刻意複雜化了能手持設備掌中乾坤更好一點
作者: BoXeX (心愛騎士團異端審判騎士)   2025-02-23 22:57:00
C語言是有一些設計不良打死不改啦 像是結合律|&但做壞事的能力是一等一的 我們永遠需要這個自由的語言至於C++就算了 功能多到爆炸誰搞得懂他
作者: ILoveAMD (AMD)   2025-02-24 00:06:00
請問 結合律|& 是指什麼?
作者: linlin110 (酥炸雞丁佐羅勒)   2025-02-24 01:55:00
https://reurl.cc/r37zZ4這篇蠻有意思的,C++的使用者分兩派,對語言的需求完全不一樣,很難兼顧是說C++20開始我就沒在跟了 加太多新東西跟不上不知道module的支援度如何
作者: windows2k (程式宅 <囧>)   2025-02-24 07:34:00
人無法預測未來,3/5年內認為是好設計,放大到30年就變壞設計了,就像array cast to pointer,現在要修就困難了
作者: ILoveAMD (AMD)   2025-02-24 08:34:00
& 跟 && 為甚麼行為要一樣?手筋還定石 定石的由來跟日本的圍棋競爭史有關 很有趣
作者: b0920075 (Void)   2025-02-24 08:47:00
c++ 功能特性很多但你也沒必要全都懂吧,懂會用到的就好了,另外拿 coroutine 比 thread 兩個起跑線又不一樣,怎麼不拿c/c++ 的 coroutine 來比
作者: pot1234 (鍋子)   2025-02-24 09:09:00
我是針對go是c++後繼者這點回覆。你光看到right reference就知道這邊的使用者為了避免多餘的copy願意付多少effort,然後golang基本data structure慢個30-40%…重度使用thread的場景還是會用golang啦,但其他場景做不到。你看llama.cpp也不是用golang寫呀說c的後繼者就更好笑了,比vector慢難道能比c array快?你firmware能用golang寫,instruction memory不用錢?非產品級就不管喔?其他應用不是應用?你公司裡產品跟非產品的project比例是1:0?
作者: freeunixer (御劍客)   2025-02-24 10:18:00
go 不拿掉 gc 就下去吧,看 discord 為什換 go 改 rust
作者: pot1234 (鍋子)   2025-02-24 10:29:00
我可沒有說SaaS那些有的沒的應該改用C。但如果你說xxx是ooo的後繼者,那xxx應該要繼承ooo的優點吧?不然花一堆時間轉過去效能變慢怎麼跟客戶交代?還是firmware太髒了不算softjob?
作者: freeunixer (御劍客)   2025-02-24 10:30:00
我說 go 因為 gc 被 discord 換掉也沒說錯啊.go 到現在不給 bypass gc 就只能擔當中高等級負載
作者: pot1234 (鍋子)   2025-02-24 10:32:00
再說你說那些從一開始就不會用c/c++寫吧,干後繼者屁事我是說在意效能到一定程度的話會傾向用c++寫…llama.cpp是因為他要用cpu跑model,所以用go會慢個30%不能接受,這樣有聽懂我的意思了嗎??
作者: DrTech (竹科管理處網軍研發人員)   2025-02-24 10:49:00
雖然我想法跟原PO不同,但非常鼓勵這種有自己主見觀點的人。
作者: pot1234 (鍋子)   2025-02-24 10:49:00
是啊 人力比較貴啊,c++爛語言浪費人力呃 golang的slice會做邊界檢查,就像c++的vector::at比subscript慢一樣。golang哲學上不希望花時間debug這種垃圾。我也知道高頻用c++,找工作的時候會看到,不過想說舉個我確定會用到大量vector的例子。原本是想好好討論的,當你說得對吧@@
作者: DrTech (竹科管理處網軍研發人員)   2025-02-24 11:11:00
要戰了嗎?本來還不想戰你這個假外行。你一定沒參與過任何國際組織,而且是技術很多人使用的國際組織,歷史包袱本來就該變來變去的。今天的設計正確,本來就不適用10年後。10年後再改啊。就你這個菜鳥才會認為程式語言有最佳最棒的架構或語法設計,真的有夠菜鳥的想法。Rust也是常常改版啊,有夠爛,一直改,跟C++一樣爛。隨著時間越長Rust改越多,有夠爛!使用人數,程式語言排行榜,都證明Rust設計失敗,沒人想要用了。呵呵。設計得再好,沒人用?根本就是笑死人。成功的程式語言就是,有人用,有人賺到錢,商業成功。Rust設計成沒人想用,商業價值低,真的設計得得蠻失敗的。誰不知道科學與哲學的重要。程式語言不能讓更多人使用,不能讓更多人賺錢,有什麼意義。這就是Rust失敗的地方。Rust慘慘慘。再怎麼吹Rust,都改變不了,少人用的慘況啦。設計哲學,設計成沒人用,還敢一直吹耶!
作者: pot1234 (鍋子)   2025-02-24 12:14:00
vector的優化怎麼能算特例… 你任何壓縮演算法,加解密,圖像算法,AI模型,大部分的data structure,哪個performace不是dominated by vector。不確定為什麼你一直覺得vector不重要。那hash map重要嗎?他底下的data用什麼存?
作者: superpandal   2025-02-24 12:52:00
我是指js和py的可速食程度變低了 除非捨棄掉現有生態改用迷你的解釋器 全部自己來 現在的你不整個開發工具很難隨寫隨跑 瀏覽器更是重型應用開發上還是桌面端為主
作者: Lordaeron (Terry)   2025-02-24 14:50:00
Java出來時,捅C++ 幾下。C# 出來時,捅Java 幾下。Go出來,也捅C++ Java幾下。現在Rust 出來,C++也被捅看來C++ 衰小呢。
作者: cylee (Artisan)   2025-02-24 19:22:00
好奇問一下,你們 HFT 是不是一堆low latency的專家
作者: LipaCat5566 (不斷與時間競賽)   2025-02-25 11:12:00
看redox 之後會怎麼樣吧
作者: buffon (簡 單)   2025-02-25 13:53:00
我只會C 哭哭
作者: labbat (labbat)   2025-02-25 16:49:00
寫c++然後extern c包起來
作者: Lhmstu (lhmstu)   2025-03-01 19:38:00
現在說會c++都要加上年份XD

Links booklink

Contact Us: admin [ a t ] ucptt.com