Another biased video for clickbait’s reason… instead of comparing real features there are populists arguments. Very frustrating video. While golang is clearly the winner for modern cloud native services. Especially web services. That is because of it faster compilation time, easier (imho) syntax and wider adoption. The rust gives you even more, but for bigger price of your competence. You must understand what you are trying to achieve from machine. And the bad point of rust is that when you are on such high level with machine code, there are c/c++/zig languages. So yeah. One more biased video, that claims to be non biased… that is a frustration. Do we really wanna talk like that for public?
Rust type system make sense more than Go did. Building backend in Rust feels more deterministic than in Go. Some people use Rust for its performance, but for me, I like it because its great type system and zero-cost principle making abstractions easier to reason about and mostly free. Rust is a low-level language taste like high level language. Most of its APIs already covered allocations and with its ownership and borrow checking, garbage are handled automatically. It's great language for many domain be it backend, system, server/infra, devops, cli, wasm, etc, and also it already has library and runtime for async stuffs(Tokio). I said all of these because I wrote in Go before, and coding in Go for backend(business logic) felt tedious for most of the part. It's all because of simple type system and lack of abstractions it has. But overall both are great languages when used correctly.
This is an unfair and a biased comparison. There are various benefits of Rust you are ignoring. For example Rust has no garbage collector and has generally better performance. There are pro and cons for both languages and from an objective perspective there is no clear winner. There are problem domains where the GC hurts too much and Go is clearly not the best choice (for example Discord switched from Go to Rust for exactly this reason).
Def agree, this is a very poor comparison. Even as a noob rust developer its easy to see this guy does not have experience. Idk why these guys makes videos like this
Discord engineers have already had a fixed issue. But they preferred to rewrite the cache in their preferred language rather than benefit from the experience of others.
Not having a GC may not always be an advantage, I largly prefer to have the GC than having to deal with the borrow checker (that is sometime almost as painful as manual memory management)
Like a few people mentioned, i dont think it's fair to pick either side in general since the two languages compete in difference spaces. So obviously the two languages can be compared but picking one over the other really depends on the use case and doing so in general is simply ignorant (in both cases). (also, in defense of rust, i feel like the fact that it's beeing adopted into the linux kernel is understed. Most of the technologies (AWS, smart devices, smartphone etc..) we or devs use today relie on linux bzs of its relability and stability, so becoming part of the linux kernel is a huge deal, one which assures that rust will carry technology into the future. )
Simplicity translates into codebase maintainability --Simplification solved one of the problems at Google which was large complex codebases that were hard to manage as a team. I've picked up Kubernetes / Docker and while some of it was out of my reach, I am sure if I really dug into it in a shorter time compared to projects in C I could get up to speed and be able to contribute to the codebase.
@@MarcosVMSoares I've learned Elixir and helped me A LOT with functional to get started with GO. The problem with Elixir is the niche, not many jobs and business migrating to Elixir/Phoenix. GO can do the same with 1/3 of the effort, that's why i dropped Elixir in favor of GO. I chose Elixir over Rust when the matter is embedded systems, Nerves project seems to be enough. Don't know at this moment if GO can handle this kind of usage.
@@MarcosVMSoares If I had an option, I will go with Elixir all the way (maybe with some GO too, is awesome) hahaha But the reality is not in the way that I want ;P
Go combines performance and developer experience really well compared to rust. On rust though, it prioritizes performance and memory safety which is makes it comparable or alternative to C/C++.
I don’t think Rust prioritizes performance though, it just comes as a positive side effect of using the language. Memory safety and developer experience are probably what it mainly aims for
@@TehIdiotOne It's a core thing, but that's not the reason for the borrow checker design. The main concern while designing the borrow checking system wasn't "How can I make it fast without using GC or manual memory management?" but rather "How can I make it memory safe without using a GC?" Rust emphasizes memory management and safe concurrency overall. Of course performance is a must-have, but it's not what the language sells itself for because you'd already expect it from a systems language anyways.
@@TehIdiotOne Performance and the borrow checker are different things. The borrow checker constrains you to think about your data's lifetimes across multiple threads. Those constraints are what people consider to be hard when learning rust. It's not the language, but the inherent problem with multi-threading. A problem most people just never thought of reasonably (just like most programmers don't know how to properly compare floats for equality). Additionally, it turns out that dealing with errors is hard. Rust doesn't hide all this stuff inside a try-catch or an optional value in a tuple, it forces you to deal with it or recognize it at least.
Rust competes in System programming where critical services are created , So rust is basically competing against CPP and another language ZIg is competing against C, while Golang is made to address the lack of programming style that can make use of modern multi core systems , threading is proven inefficient as compared to golang go routines , CLoud is home to golang and its strongest suite. Golang generally competes with dynamic languages that implement on the backend and has become a popular option for medium companies that want to scale or growing startups that sees long term growth. Golang should be compared with Java/C# and Javascript runtime such as BunJs,Nodejs,DenoJs, JS runtime smokes to dust when in comparison to Golang and this is where Golang developer can take maximum oppurtunity.
My opinion is that Go really competes with Java, while Rust is more low level C. Where Go shines above Java is that it doesn't require a JVM, (Smaller Container Sizes) but yet quickly cross compiles to just about anything and I've got programs that will run without modification on Windows, linux, bsd, raspberry pi, mac, solaris. The 500ms faster Rust program vs Go, the fact I wrote it in half the time, and can come back and add new features and functionalities faster is a WIN for Go.
Silly shill. They both have their use cases. Every language, R, Erlang, Haskell, Clojure, Typescript, and even C, are useful. The difficult bit is choosing based on project fit, available skills and experience, longevity, etc.
I prefer Rust because it gives you the power of the sun in palm of your hand. These days, there's nothing that can't be built with Rust. Go is great though and people are making money with it and there's nothing wrong with choosing Go just for that.
Okay, I think we need to put to rest this very important debate. I know that there are strong arguments on both sides of this issue and that it can be a very divisive topic. However, I do believe that we can discuss this matter in a congenial manner and come to a general consensus to put this matter of great contention to rest once and for all. It is clear to all that have observed that it is indeed *YOUR* voice that is best for this channel and that the other guy is just not as good. Oh, and by the way, also Go is clearly the better choice too.
Rust devs are the funniest fans. Any comment on Rust and they come flocking to defend Rust, even if the comment isn't negative. You can always spot a Rust dev because they'll be saying they are one unprompted.
I have to pat myself on the back. For the past 6 to 7 months I have not switched between programming languages like I did when I first started. Don't get me wrong. I will take a break from JavaScript for the most 3 days and play around with something else. But my focus is to gain a deep understanding of JavaScript. BUT! I must say the programming languages which has caught my eye are Kotlin, Go, and C# and maybe Java. I promised myself after 1 year of JavaScript I will allow myself to pick up a second programming language which will complement JavaScript, not sure yet. By April of 2023 I may pick either C# or maybe Golang to become fullback, not sure yet. Thanks for the video.
Codebase Maintainability -- NOBODY talks about this!!! Go has it, others don't. I did a presentation on Go for my work, which is a major telecommunications company. In that presentation I mentioned the main goals of Go is not just to make a language that is easy for you to write in, but a language that creates maintainable code for large projects. A language where it's fast and easy to add new features and functionalities. People who work as a team on a projects know people come, people go, projects transfer from one team to another team -- With Go I've picked up other people's projects and in a very short time started extending them. Example is Cobra from SPF13 -- Well I needed a very specific change to it -- one afternoon I forked it, made that change, and I've done this with Dozens of Go packages. Easy to write, easy to read, and everyone seems to conform to make their packages work like other packages such as marshaling TOML -- not a Go package, but works just like the standard JSON Marshal... You'll see this over and over again in Go with other packages such as PFlag a drop in replacement for Go's Flag with a bunch of added goodies.
Go uses the older idea of green threads, while C++, C#, Javascript/Typescript, Kotlin, Python, Dart, etc. has moved on to async/await. Rust has the best async/await implementation and syntax. Green threads made it really hard for me in 2010 to use C librares with thread local storage, like OpenGL. I ran into garbage collector pauses on most of my projects, and I can't use inline assembly because the Go devs said that that would "never happen", and I needed to translate x86 assembler code to C at the time to go to a PowerPC and ARM CPU, and later x86_64 .. (by the way x86_64 assembler support is bad, even in C/C++ compilers). Rust has solved _all_ of those problems. Go is easier, but Rust is nessisary, and there's nothing else that even comes close to it in safety and integration flexibility. However, Go, C#, Java, Julia, and Javascript/Typescript are almost interchangable in their usefulness (all GC langs). I'm not saying that there's no place for them, but I am saying that none of those languages are a direct competitor to Rust. Rust competes with Carbon and Zig ... basically, it's the next C and C++.
@@baxiry. It didn't prove superior. Rust used green threads in their early pre-1.0 days, and it was found to be the cause of integration troubles, just as a garbage collector causes integration troubles. Microsoft solved that problem by making the .Net CLR, and even that proved to be undesireable, which is why C# to native code compilers are needed in many use cases, which removes your ability to, for example, use F#. However, in Rust, I cam still use a C library that I have vetted, and I don't have to somehow hook GC or thread runtimes together. I've fought GC pauses more than my fair share. I basically have to ensure for a code base that needs low to no garbage that an unidiomatic style is used. You should be able to use the language the way the libraries that you use expect you to use it. That meana that you need a language with and idomatic style that is without barriers to integration. Rust, C amd C++ have that feature. Go, Java, Javascript, C#, and any GC language doesn't.
I don't understand why the endless comparisons between Rust and Go. Go does not even run in many situations were Rust can be used. The GC jitters of Go introduce intolerable latencies in many situations. Really the languages don't compete in the same space, they are not comparable.
Go lang is simply a highly efficient language for backend services but usecase of rust is in another place. I would say to learn rust at least after 1-2 years of experience in other languages. Rust is mainly for memory efficient core technologies where a single bit matters and all out clean performance is the vital issue like in audio/video processing, OS, embedded systems etc which you don't need to worry about as day to day programmers. But go lang is best suited for day to day use, fast building an efficient software product which can scale and is future proof. If you are new to industry, ofcourse go is best choice but if you are really senior and have the confidence to play with ultra low level or may be for your usecase, surely rust has its advantage
Warp will remain in the realm of casual and solo developers. Unless it stops asking people to create accounts to use it. I don't know any serious corporate CISO that will give their approval. Oh yeah, the new terminal our developers want to use? Let them create accounts, poke a whole in our network. Let it phone home.
(When talking about job openings) "Go takes an easy win!" -Doesn't show any numbers/ sources. Just for the record, my work has me writing rust (in case you doubt people code in rust for a living).
Rust can really do what go does and in the future can be more cloud friendly, but really go can not do what all rust does. Garbacge collection really kills specific usage environments such as embedded systems...
Mi personal ( and newbie) opinión rest un a simples two points: (1)Learn Go Is more easy that learn Rust (2) the final code Is more simple( like Python) to read
i, think you are little biased wi go-lang because, it's golang dogo. But, also rust has great fetaures and rich community out there, we can't compare one with another
for decades to come... heyyy i am a java / go programmer and java is 2 less than 20 years old and golang is starting to get some of its space, but how long java can still be around without maintenance tasks? i mean new developments, one more decade? and im being optimist. and i love java, so you dont say im a hater
This video is basically like this: let's compare C and Javascript. Javascript is more popular, it's easier and there are more jobs. So it's obviously that you should learn Javascript. Meanwhile people who are going into systems programming: ok, gonna write in js ☻️☻️☻️
Go is boringly easy, => just learn it, it won't take much of your time anyway. For now (2023) Go developers are often better paid compared to C# or Java developers. One possible reason for this could be the scarcity of Go developers in comparison to C# or Java developers in 2023. However, the number of Go developers will increases as It is relatively easy to find or produce one. The more Go Developer appear in the market, the easier to find one will make them "cheaper" in the future. I believe that Rust developers may become more valuable than Go developers (as it is harder to find or to produce one). If you really want to stand out from other Go developers => learn Rust
GO vs RUST final words: - GUI -> Rust Hardware cost -> Rust Stability ,Safety and security -> Rust Latency -> Rust versatility -> Rust Lower level and high level abilities -> Rust code readability : Rust (go syntax is ugly) code organization : Rust - simplicity -> GO (not as kotlin couroutine in web) ----------------- Go is not versatile language , its for web backend and nothing else . Rust is versatile language due its capability in the lower and high level. ----------------------- you can use both in a project , but rust do the same job and more (rust + js is a perfect versatile stack)
I have two things about this: 1. Rust is bad because it still on the same track as C++, they still are using the same bad ideas of C++ but without trying to be compatible with C, which improves the thing alot over C++ but it still have the same pitfalls as C++ in the end of the day. And "zero-cost" only at runtime, not compile-time, which is triple or quadruple the time of compilation. 2. Go only exists because Rob Pike and Ken Thompson couldn't convince everyone else to use C with Plan 9 libc (which is basically Go but better) instead of C++. Hands down. All hail C with Plan 9 libc.
So what am I going to learn now? Rust! I am coming from c++ so that is the obvious choice for. Leaves the web stuff to the Kids and hope that electron does Not become popular.
@@dmitriidemenev5258 you also can do full-stack on C++, but it doesn't matter it will be a good choice :) Go better suited for web/api/rest stuff, rust more about memory critic development. I like Rust a lot, but don't have time to learn it yet.
Well, you can't compare C++ with JAVA, Also you can't compare Rust with GO, In C++, Do anything and watch out! In Java, Go, You have limited privilege. Take some safety gear and be safe! In Rust, Do anything! Don't worry everything is checked!
If low latency is needed, you have to use Rust. However, Rust is worse in terms of feature delivery speed. So the best alternative is good ol' bindings. It is not that straightforward but that's why junior Rust jobs are non-existent.
Don't think either of these languages are very useful if you can write c++. I was thinking to use golang or rust since some of my c++ projects should be easier to write without memory management. But how wrong I was; rust forces insane memory management that fails, which takes way too long to even debug to build, and golang ran too slow for a compiled language, I find Java a better choice comparing to golang. Java run everywhere, and no possible memory error, and sometimes run as fast as golang. C++'s memory management is extremely simple in concept, but rust is just busy work.
If you have got a compiler error in rust due to memory management that means your c++ code is wrong/buggy. They have the same semantics. You might have done a use after free, invalid iterator, null reference error in c++ and that will just point it out
@@ronniechowdhury3082 Some of my C++ code requires me to write a encryption algorithm implementation. It involves direct array pointer passing to multiple threads and conversion between 8bit, 32 bit, and 128 bit numbers using bit shifting. Both of these things are done in basically every implementation you look at. I tried to do that in Rust and, let me save you some time by not going deep, IT DIDN'T WORK. Or, I could "translate" a 1-line c++ implement to a 100-lines Rust implementation, which at that point just why bother with Rust?
@@ronniechowdhury3082 If you only need to call some library functions, Rust could work for you. But for what I needed to do, Rust just would never cut it.
📝Get your *FREE Golang Cheat Sheet* -
golangdojo.com/cheatsheet
Awesome dude 😃👍
Another biased video for clickbait’s reason… instead of comparing real features there are populists arguments. Very frustrating video. While golang is clearly the winner for modern cloud native services. Especially web services. That is because of it faster compilation time, easier (imho) syntax and wider adoption. The rust gives you even more, but for bigger price of your competence. You must understand what you are trying to achieve from machine. And the bad point of rust is that when you are on such high level with machine code, there are c/c++/zig languages. So yeah. One more biased video, that claims to be non biased… that is a frustration. Do we really wanna talk like that for public?
I mean the fanboy name his channel after go what do you expect
@@weouthere6902 for me it looks like the sole role of this channel is to sell his golang course. And this channel is one of the most popular
@@stanislauyan3204 he is not selling a course or any product.
Very frustrating comment. You're very biased. You can't get done shit in golang because it just sucks
Rust type system make sense more than Go did. Building backend in Rust feels more deterministic than in Go. Some people use Rust for its performance, but for me, I like it because its great type system and zero-cost principle making abstractions easier to reason about and mostly free. Rust is a low-level language taste like high level language. Most of its APIs already covered allocations and with its ownership and borrow checking, garbage are handled automatically. It's great language for many domain be it backend, system, server/infra, devops, cli, wasm, etc, and also it already has library and runtime for async stuffs(Tokio). I said all of these because I wrote in Go before, and coding in Go for backend(business logic) felt tedious for most of the part. It's all because of simple type system and lack of abstractions it has.
But overall both are great languages when used correctly.
Fun fact, Dropbox uses Rust where concurrency is key, not Go.
Dropbox is garbage
This is an unfair and a biased comparison. There are various benefits of Rust you are ignoring. For example Rust has no garbage collector and has generally better performance.
There are pro and cons for both languages and from an objective perspective there is no clear winner. There are problem domains where the GC hurts too much and Go is clearly not the best choice (for example Discord switched from Go to Rust for exactly this reason).
Def agree, this is a very poor comparison. Even as a noob rust developer its easy to see this guy does not have experience. Idk why these guys makes videos like this
@@kbaeve there is a Channel call lets get rusty. And the two sometimes mock each other for fun.
Discord engineers have already had a fixed issue. But they preferred to rewrite the cache in their preferred language rather than benefit from the experience of others.
Not having a GC may not always be an advantage, I largly prefer to have the GC than having to deal with the borrow checker (that is sometime almost as painful as manual memory management)
Like a few people mentioned, i dont think it's fair to pick either side in general since the two languages compete in difference spaces. So obviously the two languages can be compared but picking one over the other really depends on the use case and doing so in general is simply ignorant (in both cases).
(also, in defense of rust, i feel like the fact that it's beeing adopted into the linux kernel is understed. Most of the technologies (AWS, smart devices, smartphone etc..) we or devs use today relie on linux bzs of its relability and stability, so becoming part of the linux kernel is a huge deal, one which assures that rust will carry technology into the future. )
as you are go background it s normal to give more points to go-lang
The simplicity of Go is something that no programming language that I've seen can beat! Hands down, IMO, the best thing about Go
Simplicity translates into codebase maintainability --Simplification solved one of the problems at Google which was large complex codebases that were hard to manage as a team. I've picked up Kubernetes / Docker and while some of it was out of my reach, I am sure if I really dug into it in a shorter time compared to projects in C I could get up to speed and be able to contribute to the codebase.
Elixir ? Oo is functional and very simple and have something call "framework" that simplify or work to get more writing less hahaha
@@MarcosVMSoares I've learned Elixir and helped me A LOT with functional to get started with GO.
The problem with Elixir is the niche, not many jobs and business migrating to Elixir/Phoenix. GO can do the same with 1/3 of the effort, that's why i dropped Elixir in favor of GO.
I chose Elixir over Rust when the matter is embedded systems, Nerves project seems to be enough. Don't know at this moment if GO can handle this kind of usage.
@@nero1375 much more than Rust ^^
@@MarcosVMSoares If I had an option, I will go with Elixir all the way (maybe with some GO too, is awesome) hahaha
But the reality is not in the way that I want ;P
Go combines performance and developer experience really well compared to rust. On rust though, it prioritizes performance and memory safety which is makes it comparable or alternative to C/C++.
Developer experience with Rust is better too 🫡
I don’t think Rust prioritizes performance though, it just comes as a positive side effect of using the language. Memory safety and developer experience are probably what it mainly aims for
@@kevinz9671 Performance absolutely is a priority, otherwise they'd use a garbage collector rather than the borrow checker system.
@@TehIdiotOne It's a core thing, but that's not the reason for the borrow checker design. The main concern while designing the borrow checking system wasn't "How can I make it fast without using GC or manual memory management?" but rather "How can I make it memory safe without using a GC?" Rust emphasizes memory management and safe concurrency overall. Of course performance is a must-have, but it's not what the language sells itself for because you'd already expect it from a systems language anyways.
@@TehIdiotOne Performance and the borrow checker are different things. The borrow checker constrains you to think about your data's lifetimes across multiple threads. Those constraints are what people consider to be hard when learning rust. It's not the language, but the inherent problem with multi-threading. A problem most people just never thought of reasonably (just like most programmers don't know how to properly compare floats for equality).
Additionally, it turns out that dealing with errors is hard. Rust doesn't hide all this stuff inside a try-catch or an optional value in a tuple, it forces you to deal with it or recognize it at least.
Rust competes in System programming where critical services are created , So rust is basically competing against CPP and another language ZIg is competing against C, while Golang is made to address the lack of programming style that can make use of modern multi core systems , threading is proven inefficient as compared to golang go routines , CLoud is home to golang and its strongest suite.
Golang generally competes with dynamic languages that implement on the backend and has become a popular option for medium companies that want to scale or growing startups that sees long term growth. Golang should be compared with Java/C# and Javascript runtime such as BunJs,Nodejs,DenoJs, JS runtime smokes to dust when in comparison to Golang and this is where Golang developer can take maximum oppurtunity.
I think, Go is also great tool for instrumental development.
Here both are well suited but i personally prefer Go.
My opinion is that Go really competes with Java, while Rust is more low level C. Where Go shines above Java is that it doesn't require a JVM, (Smaller Container Sizes) but yet quickly cross compiles to just about anything and I've got programs that will run without modification on Windows, linux, bsd, raspberry pi, mac, solaris. The 500ms faster Rust program vs Go, the fact I wrote it in half the time, and can come back and add new features and functionalities faster is a WIN for Go.
@@RichM1967 I don't get the consensus that rust is slower to write compared to go
It doesn't matter. Just learn one and master it.
Silly shill. They both have their use cases. Every language, R, Erlang, Haskell, Clojure, Typescript, and even C, are useful. The difficult bit is choosing based on project fit, available skills and experience, longevity, etc.
I prefer Rust because it gives you the power of the sun in palm of your hand. These days, there's nothing that can't be built with Rust. Go is great though and people are making money with it and there's nothing wrong with choosing Go just for that.
Okay, I think we need to put to rest this very important debate. I know that there are strong arguments on both sides of this issue and that it can be a very divisive topic. However, I do believe that we can discuss this matter in a congenial manner and come to a general consensus to put this matter of great contention to rest once and for all. It is clear to all that have observed that it is indeed *YOUR* voice that is best for this channel and that the other guy is just not as good. Oh, and by the way, also Go is clearly the better choice too.
I have no problem with the other ninja. He is also good.
Logic and reason on the internet? Heresy
Go lang is built for Web, Rust for every other thing. My opinion.
Rust devs are the funniest fans. Any comment on Rust and they come flocking to defend Rust, even if the comment isn't negative. You can always spot a Rust dev because they'll be saying they are one unprompted.
I have to pat myself on the back. For the past 6 to 7 months I have not switched between programming languages like I did when I first started. Don't get me wrong. I will take a break from JavaScript for the most 3 days and play around with something else. But my focus is to gain a deep understanding of JavaScript. BUT! I must say the programming languages which has caught my eye are Kotlin, Go, and C# and maybe Java. I promised myself after 1 year of JavaScript I will allow myself to pick up a second programming language which will complement JavaScript, not sure yet. By April of 2023 I may pick either C# or maybe Golang to become fullback, not sure yet. Thanks for the video.
Codebase Maintainability -- NOBODY talks about this!!! Go has it, others don't. I did a presentation on Go for my work, which is a major telecommunications company. In that presentation I mentioned the main goals of Go is not just to make a language that is easy for you to write in, but a language that creates maintainable code for large projects. A language where it's fast and easy to add new features and functionalities. People who work as a team on a projects know people come, people go, projects transfer from one team to another team -- With Go I've picked up other people's projects and in a very short time started extending them. Example is Cobra from SPF13 -- Well I needed a very specific change to it -- one afternoon I forked it, made that change, and I've done this with Dozens of Go packages. Easy to write, easy to read, and everyone seems to conform to make their packages work like other packages such as marshaling TOML -- not a Go package, but works just like the standard JSON Marshal... You'll see this over and over again in Go with other packages such as PFlag a drop in replacement for Go's Flag with a bunch of added goodies.
very important. Thanks
Go uses the older idea of green threads, while C++, C#, Javascript/Typescript, Kotlin, Python, Dart, etc. has moved on to async/await. Rust has the best async/await implementation and syntax. Green threads made it really hard for me in 2010 to use C librares with thread local storage, like OpenGL. I ran into garbage collector pauses on most of my projects, and I can't use inline assembly because the Go devs said that that would "never happen", and I needed to translate x86 assembler code to C at the time to go to a PowerPC and ARM CPU, and later x86_64 .. (by the way x86_64 assembler support is bad, even in C/C++ compilers). Rust has solved _all_ of those problems. Go is easier, but Rust is nessisary, and there's nothing else that even comes close to it in safety and integration flexibility. However, Go, C#, Java, Julia, and Javascript/Typescript are almost interchangable in their usefulness (all GC langs). I'm not saying that there's no place for them, but I am saying that none of those languages are a direct competitor to Rust. Rust competes with Carbon and Zig ... basically, it's the next C and C++.
What's the problem with using the old idea if it proves superior?
I suspect you are talking about go-v1.0
@@baxiry. It didn't prove superior. Rust used green threads in their early pre-1.0 days, and it was found to be the cause of integration troubles, just as a garbage collector causes integration troubles. Microsoft solved that problem by making the .Net CLR, and even that proved to be undesireable, which is why C# to native code compilers are needed in many use cases, which removes your ability to, for example, use F#. However, in Rust, I cam still use a C library that I have vetted, and I don't have to somehow hook GC or thread runtimes together. I've fought GC pauses more than my fair share. I basically have to ensure for a code base that needs low to no garbage that an unidiomatic style is used. You should be able to use the language the way the libraries that you use expect you to use it. That meana that you need a language with and idomatic style that is without barriers to integration. Rust, C amd C++ have that feature. Go, Java, Javascript, C#, and any GC language doesn't.
it seems that you have used GO for the wrong problem?
@@nero1375 Even in places that don't have those troubles, Rust _fits_ better.
@@jaysistar2711 ya, it could be, but at what cost?
Discord just switched from Go to Rust. So much for industry application.
I don't understand why the endless comparisons between Rust and Go. Go does not even run in many situations were Rust can be used. The GC jitters of Go introduce intolerable latencies in many situations. Really the languages don't compete in the same space, they are not comparable.
Go lang is simply a highly efficient language for backend services but usecase of rust is in another place. I would say to learn rust at least after 1-2 years of experience in other languages. Rust is mainly for memory efficient core technologies where a single bit matters and all out clean performance is the vital issue like in audio/video processing, OS, embedded systems etc which you don't need to worry about as day to day programmers. But go lang is best suited for day to day use, fast building an efficient software product which can scale and is future proof. If you are new to industry, ofcourse go is best choice but if you are really senior and have the confidence to play with ultra low level or may be for your usecase, surely rust has its advantage
In my opinion, zig for apps that require manual memory management. go for other things.
the best comment
Warp will remain in the realm of casual and solo developers. Unless it stops asking people to create accounts to use it. I don't know any serious corporate CISO that will give their approval. Oh yeah, the new terminal our developers want to use? Let them create accounts, poke a whole in our network. Let it phone home.
Do you teach testing related concepts in this your golang bootcamp program ? Do you have any videos on Gingko framework in boot camp?
(When talking about job openings) "Go takes an easy win!" -Doesn't show any numbers/ sources. Just for the record, my work has me writing rust (in case you doubt people code in rust for a living).
"Both are the most hip cool kid programming languages" told me exactly what I wanted to hear :)
Thanks a lot for sharing the most valuable and most required information in golang
Rust can really do what go does and in the future can be more cloud friendly, but really go can not do what all rust does. Garbacge collection really kills specific usage environments such as embedded systems...
They're both great. Anything but JS.
TS has made JS better now!
Mi personal ( and newbie) opinión rest un a simples two points: (1)Learn Go Is more easy that learn Rust (2) the final code Is more simple( like Python) to read
papa waved bye to youth long ago
You skipped over the fact that turbopack the webpack of the future is built in rust
I would be very interested in a tutorial on PocketBase.
why can't golang and rust learn together?
The least sick Gopher
Hey, do you have or planing to have some discord server that we can ask more specific questions or discuss some ideas?
i, think you are little biased wi go-lang because, it's golang dogo. But, also rust has great fetaures and rich community out there, we can't compare one with another
Make a tutorial please with pocketbase, i could sold an app based on pocketbase, people should be able too
Great video. Be proficient in Go (and prob a few others) then learn Rust.
for decades to come... heyyy i am a java / go programmer and java is 2 less than 20 years old and golang is starting to get some of its space, but how long java can still be around without maintenance tasks? i mean new developments, one more decade? and im being optimist. and i love java, so you dont say im a hater
fact is rust is evolving more faster than golang
I have never liked the Golang approach. Rust is the way to go
Website, looks like it's down 😢
Thank you so much, this was really helpful!
Did you forget Tauri & Deno?
He probably heard of them but not knowing how Rust is used in them.
0:03 meme from kaskus 😂, hi bro why not intro yoooo again?
Why not learn both? :D
Didn’t know Rust has a Crab mascot
He’s cute tho
fight over trivial matter all you want, but I'll just use both. Go and Rust has their usecase
This video is basically like this: let's compare C and Javascript. Javascript is more popular, it's easier and there are more jobs. So it's obviously that you should learn Javascript. Meanwhile people who are going into systems programming: ok, gonna write in js ☻️☻️☻️
Nice content.. can you make a video on ssh with cisco devices. Thanks
Am learning Go, Recommend some resources that teach by building projects to help make concepts learnt more relevant by practice,
Go is boringly easy, => just learn it, it won't take much of your time anyway.
For now (2023) Go developers are often better paid compared to C# or Java developers. One possible reason for this could be the scarcity of Go developers in comparison to C# or Java developers in 2023. However, the number of Go developers will increases as It is relatively easy to find or produce one. The more Go Developer appear in the market, the easier to find one will make them "cheaper" in the future.
I believe that Rust developers may become more valuable than Go developers (as it is harder to find or to produce one). If you really want to stand out from other Go developers => learn Rust
Go go go go!
Rust 💪
Thank you so much
Interested in pocketbase web framework
The way you pronounce cheat sheet is hilarious. It sounds like "eat shit" in Chinese.
don't fall, Learn Rust
3:40 - please do :)
LGR said it depends on what your want to do which I agree with
Learn both.
9:45 what does the chart show?
With Go you can pay the bills
My cho i e is Nodejs sorry for the ba english , Package is too large it take time to load
When is pocketbase getting different db options like postgres?
Golang
Pocketbase as a webframework!
Obviously Rust
Thank you so much ❤🎉❤❤❤
Crystal FTW
I know both, i prefer rust.
Влад тен на англе делает канал?
Что ты спросил?
Well am a golang enthusiast, and its the only programming language I believe in
GO vs RUST final words:
-
GUI -> Rust
Hardware cost -> Rust
Stability ,Safety and security -> Rust
Latency -> Rust
versatility -> Rust
Lower level and high level abilities -> Rust
code readability : Rust (go syntax is ugly)
code organization : Rust
-
simplicity -> GO (not as kotlin couroutine in web)
-----------------
Go is not versatile language , its for web backend and nothing else .
Rust is versatile language due its capability in the lower and high level.
-----------------------
you can use both in a project , but rust do the same job and more (rust + js is a perfect versatile stack)
I have two things about this:
1. Rust is bad because it still on the same track as C++, they still are using the same bad ideas of C++ but without trying to be compatible with C, which improves the thing alot over C++ but it still have the same pitfalls as C++ in the end of the day. And "zero-cost" only at runtime, not compile-time, which is triple or quadruple the time of compilation.
2. Go only exists because Rob Pike and Ken Thompson couldn't convince everyone else to use C with Plan 9 libc (which is basically Go but better) instead of C++.
Hands down. All hail C with Plan 9 libc.
Thanks bro
Nim is better, change my mind
The amount shilling here puts the shiling night market to shame
Go for backend and DevOps and Rust for everything else.
lol if rust is for everything then go is not needed at all. you could say for low level stuff rust, go for everything else if you are go developer.
@@dumdumdumdum8804 he said Rust for everything **else**
So what am I going to learn now? Rust! I am coming from c++ so that is the obvious choice for. Leaves the web stuff to the Kids and hope that electron does Not become popular.
Actually, you can Rust for full stack (yes, you read it right) web development too but it's not that popular at least yet.
@@dmitriidemenev5258 I know that its possible. It is just not my niche. I am doing system level.
Stay at C++
@@dmitriidemenev5258 you also can do full-stack on C++, but it doesn't matter it will be a good choice :) Go better suited for web/api/rest stuff, rust more about memory critic development. I like Rust a lot, but don't have time to learn it yet.
I like the content, but not the way he speaks
Well, you can't compare C++ with JAVA, Also you can't compare Rust with GO,
In C++, Do anything and watch out!
In Java, Go, You have limited privilege. Take some safety gear and be safe!
In Rust, Do anything! Don't worry everything is checked!
Golang all the way
Have you tried rust?
@@youtubepooppismo5284 Have you tried zig?
go for web
rust for system
.
If low latency is needed, you have to use Rust. However, Rust is worse in terms of feature delivery speed. So the best alternative is good ol' bindings. It is not that straightforward but that's why junior Rust jobs are non-existent.
hola
Java
While Carbon gonna be successor of C++ Rust is competing against C++. Go has nothing to beat in the field.
I would choose C# instead. But Rust is another beast. Rust is really great language.
❤🔥
Go will be replaced by V.
V stands for vaporware. It is useless and leaks tons of memory on hello worlds programs.
@@miguelborges7913 It's still quite new, also that post was released on 2019... It still needs to mature.
Don't think either of these languages are very useful if you can write c++. I was thinking to use golang or rust since some of my c++ projects should be easier to write without memory management. But how wrong I was; rust forces insane memory management that fails, which takes way too long to even debug to build, and golang ran too slow for a compiled language, I find Java a better choice comparing to golang. Java run everywhere, and no possible memory error, and sometimes run as fast as golang. C++'s memory management is extremely simple in concept, but rust is just busy work.
If you have got a compiler error in rust due to memory management that means your c++ code is wrong/buggy. They have the same semantics.
You might have done a use after free, invalid iterator, null reference error in c++ and that will just point it out
@@ronniechowdhury3082 Some of my C++ code requires me to write a encryption algorithm implementation. It involves direct array pointer passing to multiple threads and conversion between 8bit, 32 bit, and 128 bit numbers using bit shifting. Both of these things are done in basically every implementation you look at. I tried to do that in Rust and, let me save you some time by not going deep, IT DIDN'T WORK. Or, I could "translate" a 1-line c++ implement to a 100-lines Rust implementation, which at that point just why bother with Rust?
@@ronniechowdhury3082 If you only need to call some library functions, Rust could work for you. But for what I needed to do, Rust just would never cut it.