4 ms·
I have this feeling that I am wasting my time by not learning Rust. I am a proficient Go programmer but I have this sensation I cannot really describe about th
by pachico 4y ago
I have this feeling that I am wasting my time by not learning Rust.
I am a proficient Go programmer but I have this sensation I cannot really describe about that not being enough.
I feel something similar with Zig.
Am I the only one?
- impulser_ 4y agoI'm the opposite. Everytime I'm using Rust I feel like I'm wasting my time not using Go.
- Patrickmi 4y agoHonestly I get that feeling, when it comes to compile times it feels like a thousand years, it’s discouraging
- truthsayer123 4y agoDo you think moving to Rust would help you make enough money to retire in the next 3 years? If yes do it. It will definitely help you save the rest of your life and spend more time with your loved ones. If you think Rust doesn't really matter for that and you can even do that with PHP and it's the problem and the execution that matters then focus on building a great product instead of getting into the Hype wagon and missing out on the bigger picture of what really matters.
- pachico 4y agoBelieve it or not, this sensation isn't about a professional uplift but as engineering. I don't even code much anymore since I work mostly on platform related issues. And, BTW, I have a high respect for PHP and what you can achieve with it.
- dzikimarian 4y agoSometimes you need to understand broader surrounding to make sure you're building something great. I think every mature developer should understand tooling in his/her area and possibilities it brings. Do you want, in the next 20 years, to have cardiologist that's focused on early retirement, not on the result?
- DoubleFree 4y agoI personally really like using Rust, but I don't think it's necessarily better than go. There are some areas where Rust will definitely be better or more ergonomic, such as bare-metal or low level systems programming tasks, but many other areas where Go's design works better and Rust will only hold you back (looking at you, borrow checker). That said, I would still recommend learning Rust, because it will teach you about lifetimes and aliasing, even if you don't want to learn about them. When building for the web, I think Go's easier dynamic dispatch and GC will save you some headaches though.
- kjuulh 4y agoIt really depends on what you need to do. I work professionally with go, but do most of my own work in Rust (web, system, tooling, etc.) Rust is definitely strongest on the system / tooling level, it is what it is built for and what gives the least friction. If you need to use a lot of macros to do your work, you basically throw away most LSP (Intellisense), which can be quite bothersome to work with. Rust is definitely capable, but writing actual services and such in web rust, takes a lot of work, and isn't as friction-less as building tooling / low level code.
- esistgut 4y agoI don't know you so the following could be wrong or condescending, please take it as a general consideration towards people in a similar state of computer science fatigue and it really talks more about me than you: before learning a new language only because of a latent feeling of guilt please consider there is a world of knowledge not directly related to CS and STEM that could literally broaden your senses or at least the way you approach reality. Think of learning a musical instrument: you will literally perceive new nuances in an aspect of reality, akin to see new colors. You have only one shot at this, are you sure, in the end, another programming language will make any difference at all?
- pachico 4y agoI don't know why this was downvoted. Btw, I used to teach jazz guitar for years, I know what you mean :) Cheers
- nindalf 4y agoI use Go for work and Rust for personal projects. I use Rust because it makes programming fun. Programs just work after they compile, and often are fast with minimal effort spent optimising. If that sounds compelling to you, then it might be worth learning and getting over that initial learning curve. But if it doesn’t, that’s fine too. Go is a great language that works well in many domains. You won’t have trouble finding work in Go for years. It’s unlikely that you’ll have to solve a problem at work that can’t be solved in Go. You’ll be fine. Don’t guilt yourself about it.
- pachico 4y agoFun is really underrated in engineering, indeed
- Havoc 4y agoStarted learning it recently (considered go too). Between it getting included in Kernel and the whole WASM thing it seems reasonably future safe
- devjab 4y agoI’m not sure you are wasting your time by not learning Rust. I think the value of programming languages depend the most on where you live (and where you want to work) and very little on global tends. In my area of Denmark there is virtually no Rust jobs and there haven’t been for the past few years, there are even fewer Go jobs. Plenty of Java, PHP and C# jobs, and basically everyone uses Typescript. Rust has seen some uptake in a lot of the C++ community, but you’re going to need to be a proficient C++ programmer to get at those jobs, and you likely will for at least a decade. That being said. We recently build a replacement for Sharepoint because we sort of out-grew it and couldn’t find a decent headless CMS that fit our needs and also complied with the EU legislation for the Energy Sector, and since it had to be actually worth moving away from Sharepoint we actually did some thorough proof of concept testing before other needs basically dictated it needed to be ODATA and thus we ended up building it on C#. Anyway, two of the prototypes were Rust and Go, and I would never use Go professionally again if I could help it. Rust on the other hand seems like it’s genuinely a good language that sees actual real world adoption for major projects. I loved Go by the way, but we kept running into packages and libraries which can basically best be described like this: “Y needed to do X and build a library for it. Two years later Y got a new job and the library was semi-abandoned because nobody else really picked it up”. I know a lot of people are building a lot of things with Go, but we kept having to either reinvent the wheel with it, or to become guy X ourselves. Rust didn’t seem to have these issues, likely because it sees more adoption at more places which have similar requirements that we do. I’m not convinced I’ll ever see Rust blow up in my part of the world though. Out of all the recent hyped languages going back to Ruby on Rails, however, I think Rust may have the biggest shot at it. But I fully expect Typescript, Java, C# and PHP with some Python to remain dominant for the next 10-30 years outside of the areas where they do C++.
- avinassh 4y ago> I’m not sure you are wasting your time by not learning Rust. I think the value of programming languages depend the most on where you live (and where you want to work) and very little on global tends. In my area of Denmark there is virtually no Rust jobs and there haven’t been for the past few years, there are even fewer Go jobs. Plenty of Java, PHP and C# jobs, and basically everyone uses Typescript. Rust has seen some uptake in a lot of the C++ community, but you’re going to need to be a proficient C++ programmer to get at those jobs, and you likely will for at least a decade. It is the same for me too, almost zero Rust jobs where I live. However, I still benefited greatly from learning Rust, making me a better programmer overall. Now I think more about memory allocations, ownership, how I am passing the data around, and mutability.
- tommiegannert 4y agoI'm in the same situation. I really want to learn Rust, but prefer Go for high-concurrency code, and use C++ out of habit for other things. Rust (the syntax) grew too large, so I just feel lost anytime I read it. Cargo seems nice, though. Started picking up Verilog instead... It doesn't risk overlapping in the Go/Rust/C++/C category. There are so many things I want to learn and do, and so finite attention and lifespan. I'll have to rely on others doing great things with Rust. I'll focus on extracting more value out of the ones I know already.
- danielvaughn 4y agolol I was just thinking this, literally just a few minutes ago. I saw a rough benchmark test between Rust and Node, and the memory consumption over time stayed completely flat with Rust while Node just skyrocketed. Pretty interesting.
- diarrhea 4y agoYeah, the minimal memory usage is actually more appealing to me than the speed. The latter is much more important in reality though, as more RAM can always trivially be thrown at a problem.
- bayesian_horse 4y agoRust won't give you a lot that Go doesn't give you. Certainly not a better salary. Beyond that... Rust forces you to care about allocation, deallocation, borrowing, all the low level stuff, while not necessarily being faster. To me it doesn't feel like Rust beats Typescript or Go as a higher level language at what Typescript is good at, and I don't see why that would change. Some performance critical things to port to WASM maybe...
- VWWHFSfQ 4y ago> while not necessarily being faster It may not be a good enough reason to switch, but Rust is nearly always faster than Go. Most of the time orders of magnitude faster.
- esprehn 4y agoNot at compiling! And for many situations fast iteration beats fast runtime. Python is a great example of this.
- mamcx 4y agoI have use +12 langs professionally. And personally picked always some language that was not the "mainstream". I from Colombia, so not even mainstream worldwide, but probably unheard among here, much less to ship real code with paying customers. Plus, I already test a lot stuff (not just langs, but frameworks, etc). Learn from many langs that never use for more than their more basics tutorials (like kdb+) just to see what was the deal. Is like a hobby to me! But mainly, because as solo-dev anything that give me an extra advantage AND is suitable for a the challenges of a solo-dev I wanna know. So, learning not means "fully committing and betting my work on it". Is pretty certain you will learn very good stuff with Rust that will be valuable to know in general. Could be the same for Zig.
- schwartzworld 4y agoDon't know if you are wasting your time, but learning rust really gave me an appreciation for well designed type systems
- pjmlp 4y agoNot really. I know enough Rust to make myself usable coding in it, however it is mostly for hobby coding. On my line of work there are zero reasons to move away .NET/JVM/JS stacks, unless driven by customer requirements. What you're describing is FOMO, Fear Of Missing Out. One of the things in the IT fashion industry is to learn what to invest right now, what to ignore, and what to keep an eye on for later times.
- pachico 4y agoFirst time I hear about FOMO but I can totally relate! Thanks!
- pas 4y agoWhat!? You missed out on the last full decade of FoMO? :D That said, there is value in learning a strongly typed language. If you like it you might want to introduce concepts in your Go work, if you really like it you will probably want to switch to one, and if not, that's also completely okay, and you'll know what you don't like about it. For example I like Rust, Scala, TS, but Haskell always makes me cry a bit. Spent many years using Python (py2 to py3 migration was fun), but a few years ago I realized that it's a bad trade off for almost anything I work on, and makes me rage a bit every time I run into super dumb errors, so I avoid that too :)
- pachico 4y agoI missed so many things in the last decade... IT is the least of it :)
- lucasyvas 4y agoI wouldn't frame it so dire as you have. For me, I see value in learning one systems-level language well to round out my generally higher level language focus. I never used Go, so choosing Rust for this was easy. Go does not satisfy some tasks in the way that Rust does, but Go likely does just fine for the reasons you originally learned it. However, I do see Rust as the best way to broaden my horizons and career opportunities. Suddenly, realms where C and C++ would be used exclusively, I can now more easily play in. Many times, Go would not qualify for these types of projects because of its garbage collector. So from language tooling to browsers, learning Rust may help me debug issues down the stack or help me creatively solve performance issues by plugging it in, and that feels like a win to me and wholly worth the price (or is it pain?) of admission. First class WASM support doesn't hurt either.
- noveltyaccount 4y agoI had the same feeling as a C# developer. I took some weekends to write an algorithm (Monte Carlo financial simulation) in Rust, Go, JavaScript, and C#. You should do something like that. What I learned is that Rust has by far the best runtime and memory performance, but .NET Native AOT was second best (even better than Go!) and JavaScript was 30x slower than Rust. But Rust took me probably over 40hrs (hard to say because I worked on it little by little), the learning curve was steep. Its standard library is spare, and selecting the "best" community crate leads to decision fatigue. I banged out the same algorithm in my most proficient language (C#) in an afternoon. In business, speed to deliver almost always trumps speed of code runtime. Some algorithm hot spots deserve the Rust treatment, but in general, just ship the code to your customers. That's a long way to say, put some energy into learning Rust sure, but don't beat yourself up about it. It's not a general purpose language like Go or C#. It's a dream for performance critical algorithms.
- mr90210 4y agoIf you feel like that maybe you ought to learn it on your spare time, and then make up your mind whether you should or should not keep investing on it.