4 ms·
Why does Rust get articles about eg an operating system written in Rust, but all the Go posts are how to tie your shoe laces? Somebody explain, please.
by logingone 11y ago
Why does Rust get articles about eg an operating system written in Rust, but all the Go posts are how to tie your shoe laces? Somebody explain, please.
- steveklabnik 11y agoI would acually prefer that there were many more "getting started" posts in Rust-world, personally. I think it's a very under-served area.
- eropple 11y agoAgreed - getting started was really hard. I think, as my sibling post notes, that's a function of the existing community - unlike many languages where adoption trends heavily towards the wide end of the pyramid and moving upward over time, Rust seems to be starting at the tip and broadening (more slowly than one might like) on its way down. Or maybe that's the result of a scarcity of those kinds of resources. Hard to say.
- steveklabnik 11y agoI think it's also because people undervalue these kinds of posts. Many people think that the idea must be novel to be worth a post, but that's not true! There's a lot of value in posts that cover the basics. Sometimes, seeing a concept explained in a different way is all that's needed to get something to click.
- eatonphil 11y agoProps for understanding this! Many communities around non-mainstream projects have difficulty grasping this, I think.
- Retra 11y agoRust is a pretty tricky language. So there's the fact that you need to learn more before you can write an accurate article, and if you learn too much, you start losing the beginner's perspective. And if you don't learn enough, you don't have a good enough picture to teach. Thus the number people in a position to write high-quality introductory articles is deflated. That's my excuse, anyway.
- smt88 11y agoThey're different languages with different design goals, different corporate backers, and different communities. Why should they attract the same projects or developers?
- eric-hu 11y agoAs I understand, Go is garbage collected, so it doesn't make much sense to write an OS with it.
- logingone 11y agoA bit too literal. My point was rookie vs experienced.
- peterkelly17 11y agoI'm far from a rookie overall but am new to Go, so an article like this is useful and it seems a lot of people agree.
- vorg 11y agoPerhaps we need an edition of Go without garbage collection, but with Alloc and Delete methods added to the unsafe package.
- deleted 11y ago[deleted]
- wolf550e 11y agoGo is for writing api servers which otherwise should be written in python but must be fast. Rust is for the lowest level code which is not assembly, with all the performance tricks, but that should be secure. Rust is expensive to develop - if you can afford to use a GC, you should use a GC. So people want to rewrite all the world's C and C++ to rust, for security. But people are less passionate about rewriting all the world's python into go for performance.
- MichaelGG 11y agoI used to feel the same way about Rust. But the more I started using it, the more I realised that it's fairly capable and I could use it much more than I had originally planned. While it's not as high level as, say, F#, some features are higher level than Go. For instance, error handling in Rust is nicer than Go. Rust's cost-free functional style is also pretty neat.
- TheHydroImpulse 11y ago> Rust is expensive to develop - if you can afford to use a GC, you should use a GC This has not been the case for many people using Rust, including myself. Once you learn the language, there is no "cost" to use it. In fact, the compiler simplifies much of the mental overhead when dealing with concurrency, sharing data, mutability, etc... Sure the compiler has some strict rules, but it's not expensive to develop in by any means. I would also say Rust is in a sense higher-level than Go in terms of expressiveness and abstractions.
- Retra 11y agoRust can be hard to refactor. Not sure if that's a problem with Go, but it's a real cost.
- TheHydroImpulse 11y agoHow so? From my experience, I was able to make massive changes and the compiler would guide me through to make sure I didn't miss anything. If it compiles, it'll generally work minus any logical errors/changes.
- deleted 11y ago[deleted]
- Zikes 11y agohttps://news.ycombinator.com/item?id=11309907 https://news.ycombinator.com/item?id=11309907
- eropple 11y agoTo me it's largely about the communities that each have attracted. Golang has a lot of overlap with the Node world and the more trend-following parts of Ruby and Python, IME, and my experience with all of those suggests to me that that's selecting for a very product-focused community with, frankly, a generally lower need for high-end approaches and tactics. But Golang is popular, and it is thought to be easily accessible, and so the easily accessing need more stuff to read and talk over. So you will see many more introductory and "obvious" posts, and it'll be reflected in the ones that jump out of the Golang pond into more general environments. It's not exclusively that, of course - there are plenty of console emulators, etc., written in Golang - but they're not what Product People are reading because they don't know how to handle errors in their new pet language of choice yet. n.b.: While I have seen very, very competent programmers writing good software in Golang despite the language's considerable efforts to thwart them, and doing so in a product-focused environment, my intuition, as an outsider (which I disclaim because, as somebody whose job is to build systems that do not fail, the worse-is-better ethos of the Golang community scares the hell out of me), is that there's not as much deeper discussion to be had when you are of a generally product-focused mode; many things are unspoken and many others are very specific to your tiny slice of the world--is there as much to say, publicly, about that stuff? And are the other loud people in that community even listening when you do? Rust seems instead to attract immigrants from what I consider better programming environments; not necessarily better business environments (almost certainly not, in the cases of people I personally know) but environments that are more welcoming and enabling of building hard stuff. The Rust people I know are migrants from heavy-hitter C++ backgrounds, functional programming backgrounds (the biggest fan I know personally previously lived and breathed OCaml), and a few from the deep end of the Ruby community. Thus to me it follows that the interesting stuff that leaks out into the general public is going to be more esoteric to many outside of it (and maybe, for you personally but certainly for me, more interesting). It also probably helps that the Rust APIs are really smartly designed and it seems--though I am a Rust novice, and this is a personal take--much harder to shoot yourself in the foot. There may just be less need for "these things work but will secretly ruin your day" in general. A single language that can demonstrate this continuum pretty well is actually Java, I think--you see tons upon tons of "here's why you don't use == in Java"-level posts, but you also see stuff like Aleksey Shipilev absolutely throwing down useful and actionable stuff about the JMM. Java as a community is fragmentary and huge, and there's more space for, and more need for, discussion at both ends of things.
- Veedrac 11y agoFor the same reason the Stack Overflow's C++ tag has the best questions. If you start out on Rust, the first thing you hit is the borrow checker. There are a billion articles on that, but the questions there seem less novice because the problem is harder. And then when you have gotten to the point you need best practices in error handling, Rust greets you with this: https://doc.rust-lang.org/book/error-handling.html https://doc.rust-lang.org/book/error-handling.html Go has easier problems because it's an easier language. I say this as someone who loves Rust.
- rodgerd 11y agoBecause Go is being used by everyone from rocket scientists implementing consensus algorithms for managing distributed systems sanely to numpties like me hacking out utilities to migrate blogs from one engine to another. Those of us at the latter end of the spectrum migrate from perl to python to ruby to go to whatever is the most cromulent systems-glue language this year, and we like those articles. Rust is almost entirely at the rocket scientist end of the market.
- kibwen 11y agoI'm not sure where this conception of Rust comes from. I'm just as much of a numpty as you are, slinging Python and Javascript and really, really bad PHP by day, and yet Rust is what I do for fun. It's the systems language that makes systems programming accessible to those of us who don't have a lifetime to devote to memorizing all the ways a C program can explode in your face.