Greetings!
So I am looking for a job as a web developer and by looking at the job postings I also find jobs that require Go. These jobs are usually embedded development. (Bosch, IoT...)
I know a little bit of rust by reading the book and from what I know the rust is completely different from any other languages. Obviously it being a system programming language it has no garbage collector, but uses its own mechanism called ownership. Where each variable can have at most one value, and that lives as long as there is an owner. When a variable is no longer used, it will be automatically dropped by the end of its scope.
From what I know about Golang is that it's google's take on the C language. I don't know much about go, but I know, that the go language uses a garbage collector and so theoretically the rust should be faster?
I have no idea how big are the compiled executable of each, but I would guess, that the Go will be bigger because of the need of the garbage collector.
Perhaps it's because of the ecosystem, that Go provides ?
I am a JS developer, and I am just curious. It's not like there are thousands of jobs, but I found at least 4 listings, where is Go and one where is Rust.
Videos
Hi Fellow CS redditors,
I have been going through this dilemma on my mind. So need opinions and insights from those currently working on either/or both of the languages.
Which of the these 2 languages will be better to learn based on the following parameters
-
More jobs
-
Make me a better software engineer
-
More widespread usage in distributed systems
-
Writing microservices for cloud native architecture
I have the following Pros and cons for these two languages
RUST
Some pros
-
Lot of development on going , very helpful community
-
the language has something very different from the others due to ownership model
-
A lot of focus is being currently given to develop frameworks
Some cons
-
Lesser number of jobs
-
Not much widespread adoption
GOLANG(Go)
Some pros
-
Lot of cloud native and distributed systems are developed in go
-
Minimalistic language, lower learning curve
-
More jobs
Some cons
-
Less appealing to me personally
-
Its still a GC language , hence it wont work for low latency systems.
Please share your opinions
Okay so let me say this first. Between Rust, and Go, Rust interests me way more.
I like the fact that it can be used for low-level programming, systems programming, gaming, and blockchain (I'm also learning Solidity and Smart Contract Auditing btw)
All of which I'm interested in.
Golang on the other hand has 3 selling points for me.
There are more jobs for Go than Rust
It said to be simpler than Rust. So my productivity would improve
I'm not a fan of dynamically typed languages like Python and JS (I am familiar with both but I wouldn't call myself a master).
When it comes to JS, vs Python, I prefer JS because of TypeScript (which is what led to me learning Rust). But I dislike the JS ecosystem, and I would rather prefer to get good at a language with a modern package manager like Rust and Go.
However I'm wondering if trying to learn Go would actually hurt me because it would be taking time away that I could be using to improve my Rust skills, build projects and get hired.
But on the other hand... Rust and Solidity are kinda niche.. So I'm worried that I may be hurting my chances of getting hired if I don't have some sort of statically-typed back end language in my arsenal that more companies use.
Side note: Before some wise guy says Java or C#(Heck no to both)
I'm a full-stack web developer, mainly working with TypeScript. I'm also familiar with Python and Dart, and I’ve worked a bit with Go and Rust.
Recently I decided to invest serious time into a high-performance language — but I’m stuck between Go and Rust.
On one hand, I already know some Go and really like its simplicity. I enjoy how I can just focus on implementing features without constantly thinking about the language itself.
On the other hand, I’m also familiar with Rust’s borrowing/ownership concepts, but Rust still feels a bit too low-level for me. I don’t always enjoy thinking about lifetimes, borrowing rules, variable scopes, etc., instead of building stuff.
But everywhere I look, people are talking about Rust — its safety, performance, lack of GC overhead, how many governments and organizations are recommending it, and how tons of tooling (especially in the TypeScript ecosystem) is being rewritten in Rust.
So I’m torn:
Go feels more productive and comfortable
Rust feels safer, more performant, and more future-proof
For someone with my background, which language would be a better long-term investment?
Would love to hear your thoughts.
Looking for some career advice. I'm currently a Full stack Dev (leaning 80 backend) who is underpaid and worried about potential layoffs at my current job.
My Day to Day is mostly APIs and Data Pipelines, with some work on the front end to surface the data. My Tech Stack currently:
-
Elixir
-
Ruby
-
JavaScript(React and a little Vue)
-
Go (Side Project Experience)
I like Elixir a lot but I'm not getting much action in the Elixir Market. I'm considering dedicating my time outside of work to learning a new language to increase my value and opportunities.
I've been lurking this sub for a while and considering Rust. I've written some Go but as a fan of functional, it seems Rust has more in common with FP than Go.
I know the job market is smaller and Rust is a hard language to learn but would love some opinions on which would y'all choose for someone like me. Would you recommend Rust or would the learning curve be too steep?
Edit: Honestly I wasn't expecting so much input. Thank you all. I decided to go with a slightly different approach. I will increase my knowledge of Go first, since I already feel comfortable with it. I just need to learn go routines, how to create certain design patterns and read up on the docs people have shared below.
There are a lot of Go jobs in my area, which would be faster than getting comfortable with python again personally. Then after finding a job, learn Rust since that is something I'm more excited about, which means I'm more driven to learn it.