作者 w180112 ([NOOB]我超RETARD我超廢 )
標題 Re: [討論] Rust 2024 發佈正式版
時間 Sat Mar  1 10:23:06 2025

 
開戰了
 
說Go是C繼任者真的是很難接受欸
 
一堆地方不好用Go寫吧
 
k8s/docker並不是真的效能很吃緊而是需要併發度夠高又稍微方便的語言
 
但很多地方Go的效能都不夠吧
 
而且Go的自由度也低
 
就說平常需要對structure pointer cast就很不方便
 
現在上班在寫的c project 很在意cache hit rate /memory management/system call耗時?
些   Golang都很難做到高效與方便的管理
效能分析Golang也難以像C可以高度最佳化
GC就是一個最好的例子
 
至於C的&& 跟&
套一句Jserv的話:C假設使用者都是成熟的大人
 
※ 引述《PosetMage》之銘言
: ※ 引述《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系參數順位並不統一
: --
: 至於問我喜歡哪個語言喔   我不會rust 我只會c++23
----
Sent from BePTT 
 
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 72.143.218.142 (加拿大)
※ 作者: w180112 2025-03-01 10:23:06
※ 文章代碼(AID): #1dmc-CMv (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1740795788.A.5B9.html
※ 同主題文章:
Re: [討論] Rust 2024 發佈正式版
03-01 10:23 w180112
pot1234: 一開始就是聽同學說golang跑的跟C++一樣快,想說論文用golang寫。結果golang big被gnu打爛,還要外接c ++library1F 03/01 11:16
crazycy: Go除了Goroutine這功能之外 寫起來也不像一個現代語言4F 03/01 11:56
tsaigi: go跟c差遠了…5F 03/01 13:22
MATT1899: 寫C過的人應該會覺得Rust的Thread很直覺 畢竟同樣都是OS level的東西 Goroutine我到現在還是沒有很懂到底怎麼運作的 直到最近看了一本解說底層的書才稍微有些理解6F 03/01 13:41
pot1234: c++20跟boost都有類似goroutine的設計。thread跟routine應該是不同層級的東西9F 03/01 14:42
KanzakiHAria: 找工作遇到go基本上就是高併發 其他常見node-ts
c現在定位就是跟asm dsp這類底層指令在一起的語言了寫C的人是硬體業  寫go現在就純軟後端11F 03/01 14:58
不一定喔  我現在也是純軟  但project要高效能所以是用C
KanzakiHAria: C++把一堆東西搬到編譯器算完是要怎麼比快XD
Go的STW主要靠高併發去藏 併發越高STW藏越好14F 03/01 15:00
ILoveAMD: && & 根本是不一樣的東西  不知道 防呆到近乎偏執的 C#也沒有引進 and or 的關鍵字 (雖然編譯的時候會擋)
&& & 根本是不一樣的東西  不知道為何混再一起講16F 03/01 15:33
我也不懂為什麼前面要一起講
ohmylove347: 有GC的語言沒資格和C/C++比效能19F 03/01 15:59
MoonCode: 我還以為 && & 是在講引用或指標20F 03/01 16:56
Burwei: 現在沒有人還拿Go跟C對標了吧 戰Go跟Java比較有意思lol21F 03/01 17:44
Lhmstu: Go在雲端元件上真的蠻強的
go強項真的就是高併發22F 03/01 19:32
windows2k: high concurrency也不會是c/c++/rust這等級的水準,真能說的是花費少許精力就能有個還不錯的方案24F 03/01 19:39
我也寫過Go  的確很方便  但高併發也只是一直聽人講  實際跟C比也不知道怎麼樣
superpandal: 就是比較好寫的c 外加反射可以少寫很多東西
現在有泛型 基本上cast也很少寫了 雖然編譯速度變慢效能的話我寫的效能很不錯 fmt包少用 尤其Sprintf方法 基本上goroutine配channel外加select多工就很不錯
強型別寫的很不爽快就是了 外加runtime過大這個缺點不然其實不錯26F 03/01 19:54
KanzakiHAria: rometheus node_exporter也都是go 完全就是超多工專門場景
不夠多工用go拿不到什麼好處33F 03/01 20:09
Ekmund: 沒有太多邏輯上的運算或效能要求 Go的輕鬆程度遠超C/C++也因此把他講成繼任者就很奇怪 Go犧牲的就是C的強項啊
你要比記憶體管理還真沒幾個語言能拿來跟C/C++比
而且這一切都是建立在面向web service的場景下
脫離這邊就沒Go的事了 連比都沒得比 怎麼繼任w36F 03/01 20:13
superpandal: 繼不繼承是使用者角度來說的 gc目前來看也還好
寫系統也不是不可以 現在敏感場景少一些了
一樣配上unsafe也可以快一點
一般常見寫法go效能確實不好41F 03/01 20:21
Ekmund: 由我自己出發的話 使用時的直覺上是像的沒錯
C/C++跳Go時有很多即視感
但回到兩者客群的話 相當程度的不重疊..XD
在C做過很多奇怪的東西 Go幾乎就純純的backend45F 03/01 21:01
superpandal: 奇怪的東西多的是 是台灣整天在backend
多接觸類unix世界會知道更多49F 03/01 21:19
KanzakiHAria: 就像上一篇提到有rust寫的os redox 其實也有不少os是用go寫的 biscuit, gopher 很多小玩具也是go寫的51F 03/01 21:50
kimi112136: 切牛排用牛排刀,野外生存用多功能刀,交換用不是不行,但是我為啥要多費工夫用不適合場景的工作?語言只是工具,懂得在不同場景用不同工具才是重要的好嗎53F 03/01 22:50
cancelpc: Go算是特定領域較好,通用性沒比較好.
c++真的語言過度複雜化,簡單點反而不容易錯誤56F 03/01 22:53
 
※ 編輯: w180112 (216.232.177.222 加拿大), 03/02/2025 01:49:53
BoXeX: 其實那邊我講錯  我應該要講優先級才對
&| 的優先級直觀上應該要跟 +-之類一樣
但現在這樣搞很反直覺  雖然實務上C語言在用的時候
括號都加好加滿就是了58F 03/02 12:08
atst2: &|是位元運算,+-是數值運算, 放在一起比較有什麼意義嗎?62F 03/02 13:17

--
作者 w180112 的最新發文:
點此顯示更多發文記錄