12 ms·
How I got involved in the Rust community
- wofo 4y agoGreat to see people found my article interesting! I wrote it after I was asked by a company about the possibility of helping them by contributing to some open source Rust projects. During the conversation I tried to explain my involvement in the community, but I noticed the story wasn't that fresh in my mind. A few days later I decided to research it, write it down and publish it, because it might inspire other people to contribute and also because there might be other companies willing to bring an old contributor back, if they only knew
- jstx1 4y agoThe Rust community is easily the worst thing about Rust. The constant preaching and cult-like reaction to any criticism is very offputting.
- mattrighetti 4y agoSame for the Go, Python, JS, Java communities. People will always try to “defend” what they like one way or another. Also, what can you criticise about Rust? /s
- jstx1 4y agoI don't think it's the same for the languages that you listed, they seem much more pragmatic and willing to acknowledge flaws and tradeoffs. Maybe the Julia community comes close to Rust in the degree of cultiness.
- mattrighetti 4y agoI feel like the Rust community right now is being flooded by “fanboys” that have heard that the language is great for x and y (and x, y really are great probably), therefore they continue to push only those cool parts of the language but they didn’t even write a single line on code in production with it. That’s why I’m saying that you find those people in most communities. Rust is just the trendy one right now so you just notice it more.
- aussiesnack 4y agoThat's true in the limit - if you go in guns blazing then any community is going to get defensive. But I have found the Rust community to be uniquely thin-skinned. This is only one person's experience, I can't provide any real evidence beyond my own memory of interactions. Crude sketches of my experience presenting beginner difficulties to a few communities: Clojure: "yes, clojure does tend to be used largely by experts, which can present some difficulties", followed by many friendly suggestions about how to get there Elixir: "you're having trouble? Hmm that's not good. Try this for now, and let's see what we can do to improve matters" Rust: "no, you're mistaken, nothing in Rust is difficult if you're smart or hard-working enough"
- worik 4y ago> uniquely thin-skinned I have not found that. Occasionally, but rudeness, bullying, and intolerance is not tolerated. Compared to the GNU world. Try reporting a bug in Emacs. "You complete idiot". Or Dog help us: OpenBSD.
- aussiesnack 4y ago
- TillE 4y agoEven if you have some legitimate grievance, this sort of incredibly vague complaint tells nobody anything, it's completely uninteresting.
- Ygg2 4y agoHaving been moderately involved in it, that isn't my impression. They were a helpful and informative bunch, and I learned a lot from them. That said, being an outsider, I'm reminded of this quote from a recent article: > "What was the deal with [person X] on your team, why are they such a jerk?" (Sadly, if you worked on Chrome you probably know exactly who I'm talking about.) The experience gave me an appreciation for how a group, especially a faceless internet group, can be perceived by its worst behavior. Source: https://neugierig.org/software/blog/2022/12/chrome.html https://neugierig.org/software/blog/2022/12/chrome.html
- aussiesnack 4y agoI do a sort of language-per-year thing for my sins. My previous two were clojure then elixir, Then this year it's been Rust. I've found the Rust community by far the least pleasant to deal with. For the most part, it is fairly helpful (though no more than the others). But there is an implicit contract that to get help you must admit that Rust is the best thing ever, and that if you have any difficulties with it, you agree that it's because you're a bit thick or lazy. Stay within that lane, and smiles & help will abound. I'm not quite sure why the Rust community is so dogmatic about the language's intrinsic excellence. I never found anything similar with the clojure or elixir communities (which each has its own distinctive style of response to beginner difficulties). My speculation is that Rust has such a strong inclusiveness mandate (which is a good thing in my view), that intrinsic difficulty is threatening to the group's identity. The impulse therefore is to deny the difficulty, from which it's a short step to pointing to the beginner as the source of the problem.
- bombela 4y agoRust forces you to think of memory ownership. In turn challenging you to design more carefully your data structure and their relationship. I think this extra effort is experienced differently by different people. But then comes the enlightenment. When you are comfortable thinking of ownership and pleasing the borrow checker without fighting. And I wonder if sometimes people try to hide how long it took them before enlightenment. Or forgot how much work it was to update ones thinking. My personal experience with the Rust community has been great. But it was also almost 9y ago. Things may have changed.
- SomeoneOnTheWeb 4y agoI've had quite the opposite experience in fact. You can find numerous topics on places like r/rust where people talk about the downsides of the language compared to others (for instance).
- stusmall 4y agoI think this is the big difference. The tone in comments about /r/rust is dramatically different than the tone in /r/programming. I often see some pretty crazy RIIR evangelism in /r/programming. I don't know if this is a comment about rust the language or reddit commenters.
- xboxnolifes 4y ago/r/programming (and all of the other major generic programming subreddits) generally just do not have good conversation (or at least have much more noise to signal), as a large percentage of the community is very inexperienced. Same thing goes for non-programming, high subscriber count communities. You eventually get a lot of people who think they are knowledgeable about a topic because they've read a lot of topics on the subreddit, but they're really just inexperienced people parroting the opinions of other inexperienced people.
- friedman23 4y agoAs someone else has stated, you have not said anything of value here and are just vaguely screaming into the wind. Do you just find people being highly enthusiastic about something off putting? If so, do some introspection.
- alphanullmeric 4y agoYep. Just search “borrow checker” on their subreddit. Any post pointing out an instance where it makes things overly verbose and complex is immediately met with downvotes and “why do you need to do that”s.
- bombela 4y agoThey forget themselves how it was for them at first (the curse of knowledge). New comers might even get onto the train and pretend they know better for appearance's sake. Murking the water. Remember if you know better than the borrow checker you can use raw pointers. There is very little friction. But are you sure you can do better without the safety of the borrow checker having your back?
- alphanullmeric 4y agoRaw pointers in rust are a pain to work with. This rust code is significantly less verbose in C++: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=2090306ea0822fecf4fc154df8adb5a9 https://play.rust-lang.org/?version=stable&mode=debug&editio... Rust purposely handicaps ergonomics, even when it wouldn't come at the expense of safety. This is just one example. Rust also doesn't have function overloading, default arguments, named parameters, anonymous structs, unwrap sugar (like !! in kotlin), etc. Rust's aversion to user choice precisely what is hampering its adoption. Docker and kubernetes are written in go. Unreal engine, high frequency trading systems and most of google is written in C++. What significant thing has been written in rust? it's forever going to be a hobbyist language competing on stackoverflow surveys instead of actual large-scale applications. Nobody with any actual money on the line wants to take the hit in productivity to switch to rust, at most it's used for a small part of a larger project written in another language. By the end of the decade there's going to be more things written in carbon than in rust, and that sucks because it was completely preventable.
- pjmlp 4y agoOne has to start somewhere, https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html https://security.googleblog.com/2022/12/memory-safe-language... https://twitter.com/dwizzzlemsft/status/1578532292662005760?lang=en https://twitter.com/dwizzzlemsft/status/1578532292662005760?... https://devclass.com/2022/06/21/rust-applications-previewed-on-azure-sphere-a-lifeline-for-embedded-systems-says-microsoft/ https://devclass.com/2022/06/21/rust-applications-previewed-... https://aws.amazon.com/fargate/ https://aws.amazon.com/fargate/ https://krustlet.dev/ https://krustlet.dev/ https://github.com/EmbarkStudios/rust-ecosystem https://github.com/EmbarkStudios/rust-ecosystem https://research.activision.com/publications/2021/09/the-rust-programming-language-for-game-tooling https://research.activision.com/publications/2021/09/the-rus... Carbon is still an AST interpreter with half baked language design, and it remains to be seen how many of the features are to be designed. From Carbon, Val, Cpp2, Circle, the last one is the only one that has a chance to actually provide a proper migration path from classical C++. If I would have to put money in any of those wannabe C++ replacements, Circle would be it.
- PragmaticPulp 4y agoI've found there are two entirely different worlds within the Rust community. Rust does attract a weird subgroup of people who can get preachy and pushy about there only being one way to do things. But the helpful part of the community is much bigger and much better to work with. You just have to look past the loud people pushing agendas and stay out of flamewars on Reddit and HN.
- Arnavion 4y agoIt's the over-enthusiastic zealots. They're not unique to Rust. For example the golang community has equally defensive people who believe that Moses carved `if err != nil { return err }` as the 11th commandment, and anyone who wants less verbose error handling is an enemy of simplicity.
- Waterluvian 4y agoI have yet to run into the first type and I hope I never do. I’ve had such wonderful experience of people willing to help. Even big names like Steve Klabnik graciously offered some responses to my very elementary comments and questions. The only community that’s been just as wonderful is the TypeScript community on Discord. Gosh they set the bar high for expectations on getting language help.
- mlindner 4y agoMy personal bigger issue is that at least some parts of the "community" often has a very harsh left to far-left swing to it that I've run into a couple of times that reacted with explosive hatred toward me when they realized I wasn't one of them. Yes I have some right wing views, I still want to use Rust though, but that doesn't mean I should feel forced to adopt your personal brand of far-left progressiveness. I hope that will even out given time.
- stcroixx 4y agoIt's kind of unnerving there even is a community as part of a programming language. I learned C from the K&R book and an old Russian guy.
- deathanatos 4y agoI think it makes a lot of sense? A language has a surrounding set of commonly used and well adopted libraries for things that are common, but just not critical enough to get included within the standard library. E.g., having serde as a cornerstone for encoding/decoding means that, e.g., I can integrate with a decoder for complicated types easily, and I know how to do that independently of whether it's JSON, or TOML, or …. Having thiserror to help make rich error types. C, admittedly, doesn't really have that. But I think that's mostly to C's detriment; projects have to sort of fill in those blanks themselves. Largely, I don't think they do: C libraries heavily prefer to return ints for errors, and I don't know that there are really "common" libraries out there? Certainly not to the same degree. (I wonder if the efforts didn't get focused onto higher level languages.) Today, I'd mostly reach for C++ before C. Relatively¹ safer language, and the STL is far richer, and has basic data-structures that one requires for ordinary tasks. The situation is marginally better, e.g., there's boost, and the STL has seen some growth over time. The downside, I'd say, is a single implementation and a looser spec, whereas C is standardized and runs on far more platforms. ¹and I mean relatively, as it is pretty trivial to utterly annihilate one's leg with C++
- aussiesnack 4y agoThat's funny. My first programming 'community' was entirely comprised of computer magazines and a gruff alcoholic ex-academic who would occasionally throw a manual at me and bark corrections.
- pjmlp 4y agoC community was originally on comp.lang.c and comp.lang.c.moderated, and there was this magazine thing called "The C User's Journal".
- Georgelemental 4y agoC is standardized by an ISO working group, and then there are multiple independent implementations. Rust is developed in the open, on GitHub by a single organization, which creates a single center for community to naturally aggregate around.
- stusmall 4y agoI've noticed a very big difference between comments about rust on general programming sites like here and /r/programming and comments in rust specific spaces. I find people in rust-centric spaces to be calm, reasonable, kind and pragmatic. Some of the worst rust evangelism I've seen comes from posters who I'm not even sure have written serious amount of it. I agree with you that it can be really off-putting. From my perspective what you are seeing could be more of a comment on some of the know-it-all dilettante types who fawn over trendy tech in comment sections than the rust community itself. I've always had great experiences when reaching out for help in discords, user forums or other spaces. I've seen similar patterns with other trendy technologies in the past too.
- StreamBright 4y agoAt some stage there was a squad on StackOverflow who closed all Rust related beginner questions and it was impossible to get started. Most devs new to Rust do not understand &str and String and 99% of the content about is how implementation details backing those types are different. I have not seen any blog post, documentation about how and WHEN to use &str vs String. I want to have a function that returns the UTC now as a string. Now what? Opening a question on SO -> question closed, here is a question about &str and String that has nothing to do with the use case and everything about the implementation details of &str. Good stuff. I think the creator of Rust assume that if they explain where a piece of data is allocated suddenly everybody is going to be on the same page about the use of that data.
- estebank 4y agoRule of thumb: use &str when you don't need more than that, use String when creating text at runtime, returning from a function or storing it in a struct field. Using borrowed values in general in fields is best avoided until you get more comfortable with the rest of the language.
- Georgelemental 4y agoRust has no GC, so to use it you need to learn how memory allocation works. If you don't want to bother with those details, use a GC language instead of Rust. If you are struggling to learn these things, even after working through the Rust book and other commonly cited resources, my suggestion would be to drop Rust for now and learn C. In C, pointers, stack/heap, malloc/free are things you have to deal with directly, so you can see how things work under the hood. And then, when you go back to Rust, you can map your hard-earned C understanding to the Rust abstractions
- Ygg2 4y agoFirst off, Stack Overflow is super close questions happy. Asking a question without a minimum code example gets it closed before you can say MVP. Same for mark as duplicate. > Most devs new to Rust do not understand &str and String and 99% of the content about is how implementation details Looking at doc like this: https://doc.rust-lang.org/rust-by-example/std/str.html https://doc.rust-lang.org/rust-by-example/std/str.html https://stackoverflow.com/questions/24158114/what-are-the-differences-between-rusts-string-and-str https://stackoverflow.com/questions/24158114/what-are-the-di... Which part didn't convey the info you wanted? How would you convey it? Curse of Knowledge is real, so to me it looks trivial, but I started Rust before str/String were a thing. I don't know what it's like to start learning Rust. > I want to have a function that returns the UTC now as a string. Now what? Opening a question on SO -> question closed, here is a question about &str and String that has nothing to do with the use case. That's on Stack Overflow overzealous moderation. If I had a dollar for every question of mine that was closed with mark as duplicate, I'd be a richer man. Doesn't mean it was specifically Rust community. Did you consider Rust Discord? I asked few very technical questions and I got some really good answers.
- satvikpendem 4y ago> The Rust community is easily the worst thing about Rust. The constant preaching and cult-like reaction to any criticism is very offputting. I've seen more comments talking about this supposed phenomenon than instances of this phenomenon actually happening. I haven't really seen any examples of preaching and cult-like reactions, I just see people talking about how it supposedly exists somewhere.
- jstx1 4y agoMaybe it's a coincidence that people keep bringing it up.
- satvikpendem 4y agoOr maybe it's a meme at this point. I really would like to be furnished any examples of "cult-like" behavior from Rust users, because I have not seen any.
- throwawayacc3 4y ago>The Rust community is easily the worst thing about Rust. Completely agree, but for a different reason: The community and leadership is overran with woke leftist types. It's insufferable.
- Georgelemental 4y agoAs someone who both loves Rust and is very much anti woke leftism, I don't think it's a huge concern at present. Much of the leadership happens to be woke but it doesn't get in the way of technical discussion. That could change, of course, but for now it's not causing problems
- vvpan 4y agoI know Rust is very popular right now but as a back-end dev I always wondered what's in it for me. I never had to write programs where garbage collection was a problem and learning a whole new paradigm (borrow-checking) just seemed unnecessary. And it seems like it is a language that is more difficult for junior developers than almost any other one. What does Rust solve for the casual user?
- jtwaleson 4y agoDefine casual user :)
- wofo 4y agoPersonally, I'm finding myself reaching for C# to solve most problems I come across. Rust is appealing to me on a more theoretical level (or when there is a domain where it truly shines, such as concurrency or C-like performance). IMO the strengths of the language are not a deal-breaker for a casual user (e.g. someone writing CRUD or line-of-business applications)
- stusmall 4y agoSo I deeply love rust and it's my goto even for applications that it's not especially well suited for. I just know it well and it's easy and natural to work in. It's a flexible language so it plays well in a lot of use cases even outside the ones it excels most at. With that said, it's okay if there isn't much in it for you. If it doesn't sound useful for your current use cases, that's okay. Don't use it. Use things because they are interesting and fun or because they make your life better. Don't feel the need to use it just because it's on The Orange Site a lot.
- SomeoneOnTheWeb 4y agoMany reasons actually. The tooling is excellent (builtin package manager, test suite handling, etc.) The language itself is also very good in that it prevents you from doing many mistakes you'd do in other languages. It's hard to show an example when you don't know Rust at all, but usually Rust programs tend to have less bugs than others. That being said, there are also downsides - apart from the steep learning curve, compilation is pretty slow and the language itself isn't as good as some others for prototyping - if you make something simple and want to go fast, then maybe TypeScript will do a better job, despite its numerous problems. Rust is more about robustness and correctness (and performance of course). If these are not appealing to you, then sure some other languages like Java, Go, C#, TypeScript or others can do the job.
- jtwaleson 4y agoThanks for the mention Adolfo! Never knew that I was in the causal chain of your journey to Rust. Hacker News is definitely a gateway to random experiences :)