TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why Turborepo is migrating from Go to Rust

7 pointsby harikbabout 2 years ago

4 comments

latchkeyabout 2 years ago
&gt; While this sounds convenient, this abstraction does not work across platforms; Windows actually doesn&#x27;t have the precise concept of file permissions. Go ends up allowing us to set a file permission code on Windows, even when doing so will have no effect. ... If you want to set a file permission code in Rust, you have to explicitly annotate the code as Unix-only.<p>Go is already doing that explicit annotation for you. You write the code once, and under the covers, it just works across platforms because it has already helped you with the decision.
andsoitisabout 2 years ago
&gt; Go&#x27;s strength is network computing in data centers and it excels at this task, powering these workloads at the world&#x27;s largest scales. The goroutine-per-request model, Context API, and the standard library inclusion of server infrastructure is testament to this community focus.<p>From a distance (and not knowing the breadth of needs&#x2F;use cases of Turborepo), it strikes me as <i>potentially</i> a poor decision in the first place to have picked a language and its ecosystem that is <i>expressly</i> optimized for network-y things.
harikbabout 2 years ago
&gt; Interoperating with these native libraries in Go requires the use of CGO, which switches us from a pure Go toolchain to a much slower C toolchain. Moreover, this switch is a global process, meaning that if we use a single native library, we have to build our entire codebase with CGO<p>If author is around, can they explain this part in detail? I don&#x27;t understand how one CGO usage slows everything else
评论 #35173339 未加载
newaccount2023about 2 years ago
I have a very hard time believing that the choice matters in their context<p>this is just a build runner, it isn&#x27;t even the thing doing the builds<p>Rust is cool and if you just want to get on the bandwagon, its okay to say so, you wouldn&#x27;t be the first dev to rewrite something &quot;just because&quot; and you won&#x27;t be the last