Yeah I don't remember what I said but Rust is certainly more comparable to C++. They are both liberal with features and complexity. C and Go are simple and minimal, by the same creators. True nothing wrong with hobbyist devs, but if you are concerned more with how the world/industry is going, it's better to see the adoption by professionals rather than hobbyists IMO.
@@bulf810 In all fairness, there's plenty of professional interest in Rust too. It's part of the Linux kernel now. Microsoft is using it for some projects and is looking at it for use in Windows itself. The memory safety is a huge draw. Go's main issue is performance. It just doesn't compete with C/++ like Rust does.
I think people will come to be surprised in the future because they expect since their code is written in rust or go or swift that it is safe which makes people lower their guard and boom horrifying vulns
Garbage collection is a drawback in os development. 15% lower performance is another. Go is not going to replace C. It can conquer with high level applications where typically Java or C# is used.
Yeah I hope so. Though C and Go are honestly so similar you could jump back and forth with them. Go is just faster to write and you have to think less because of garbage collector, built in concurrency (goroutines) and networking packages as well.
Zig will be the next big language for low-level. It has one feature that neither go and rust have and that's very easy immediate interoperability with C. And since so much of the eco system is C/C++ it just makes sense to use Zig for new system's/low-level programs. And I am not as experienced in Go but what I did I liked, and the good things from Go (like defer) made it into Zig. And unlike Rust (and even Go) you can do a lot to avoid higher level types and memory copy and allocation and freeing and get that C performance... that's assuming that you know what you are doing :D
Want to bet on Stack overflow survey 2024? I have my money on Go over any niche language any day. The greatest engineers build Go, the same Unix and C devs, also guy who built Javascript V8 engine. Go is literally just better, modern C for the 21st century. It only shouldn't be used in very high performance contexts.
@@bulf810 No it is not because you depend on a relatively large garbage collector. So binaries are pretty large compared to Zig and Rust. Microcontrollers with 8K or RAM are still used a lot and Go wouldn’t be a contender in that area. Also Go doesn’t have seamless integration with the vast C ecosystems out there. Zig can use that without any effort straight away. That’s the true value plus zig is a marvelous build system that can also build the old C/C++ code bases. So the migration can be done very gradually and that’s something people in critical embedded systems want. And then the matter of predictability you can’t predict how or when a GC starts churning away and eating up lots of battery energy or missing some crucial time slots. Because you can exactly profile zig because it has no GC makes that also a winner. Go is a nice language but because it’s a managed memory system not well suited for real time-, embedded and critical systems. Rust would be able to fit there but it has no easy C eco system integration, and it can be a burden to write memory efficient code because of the borrow checker rules. Hence my money is on Zig. I know that even it shouldn’t be used in production yet many embedded and critical systems colleagues are also playing around with it. As soon as a release is deemed stable I know they’ll start to use it in the less critical systems.
I know, it's several years old but I found this one particularly interesting as I've just discovered it. As opposed to GopherOS, Biscuit is intended to not modify the Go runtime at all and be liberal with the high level language (HLL) features with the intent of comparing it with C and Linux. A HLL "tax" of only 10% -15% seemed relatively low to me compared to C.
Go has high level features but is very capable of "low" level programming such as microprocessors in the case of TinyGo and even an OS as you can see here. I just saw it reached the top 10 TIOBE index recently, glad to see the language finally being widely adopted.
@@joebulfer You can write OO JS code, but few people actually do. Classes are also quite new (relatively speaking, considering JS is from 1995) and were only added to the language in 2015.
@@QazCetelic I wow I just looked. You're right classes were only added in EC6 (2015). Makes sense cause for the longest time it was just a scripting language, but since it has evolved into something arguably it shouldn't be. I am right now dealing with a object oriented mess of spaghetti Typescript code left by the lasst intern, I yearn for simpler times lol
youre funny. go is written in go. the first version was written in C then it was rewritten in go once it was bootstrapped. Go was inspired by C and many other languages as well. also "you are" is you're, not "your"
Python is written in C, correct, Go used to be written in C prior 2015, Rust is Rust. You are correct about C to Go and C++ to Rust inspiration though.
Nothing wrong with hobbyist devs, remember Linux was a hobbyist project once too. Imo it's better to compare Rust to C++ than to C.
Yeah I don't remember what I said but Rust is certainly more comparable to C++. They are both liberal with features and complexity. C and Go are simple and minimal, by the same creators. True nothing wrong with hobbyist devs, but if you are concerned more with how the world/industry is going, it's better to see the adoption by professionals rather than hobbyists IMO.
@@bulf810 In all fairness, there's plenty of professional interest in Rust too. It's part of the Linux kernel now. Microsoft is using it for some projects and is looking at it for use in Windows itself. The memory safety is a huge draw. Go's main issue is performance. It just doesn't compete with C/++ like Rust does.
I think people will come to be surprised in the future because they expect since their code is written in rust or go or swift that it is safe which makes people lower their guard and boom horrifying vulns
Garbage collection is a drawback in os development. 15% lower performance is another. Go is not going to replace C. It can conquer with high level applications where typically Java or C# is used.
Yeah C isn't going anywhere. I just see Go being adopted in more areas than people suspect, such as low level hardware as in the case of TinyGo.
I think there was a version of Cobol that was optimized for writing operating systems.
This is so interesting It might change the way we are making OS in few years for the better
Yeah I hope so. Though C and Go are honestly so similar you could jump back and forth with them. Go is just faster to write and you have to think less because of garbage collector, built in concurrency (goroutines) and networking packages as well.
Zig will be the next big language for low-level. It has one feature that neither go and rust have and that's very easy immediate interoperability with C. And since so much of the eco system is C/C++ it just makes sense to use Zig for new system's/low-level programs.
And I am not as experienced in Go but what I did I liked, and the good things from Go (like defer) made it into Zig. And unlike Rust (and even Go) you can do a lot to avoid higher level types and memory copy and allocation and freeing and get that C performance... that's assuming that you know what you are doing :D
Want to bet on Stack overflow survey 2024? I have my money on Go over any niche language any day. The greatest engineers build Go, the same Unix and C devs, also guy who built Javascript V8 engine. Go is literally just better, modern C for the 21st century. It only shouldn't be used in very high performance contexts.
@@bulf810 No it is not because you depend on a relatively large garbage collector.
So binaries are pretty large compared to Zig and Rust. Microcontrollers with 8K or RAM are still used a lot and Go wouldn’t be a contender in that area. Also Go doesn’t have seamless integration with the vast C ecosystems out there. Zig can use that without any effort straight away. That’s the true value plus zig is a marvelous build system that can also build the old C/C++ code bases. So the migration can be done very gradually and that’s something people in critical embedded systems want.
And then the matter of predictability you can’t predict how or when a GC starts churning away and eating up lots of battery energy or missing some crucial time slots. Because you can exactly profile zig because it has no GC makes that also a winner.
Go is a nice language but because it’s a managed memory system not well suited for real time-, embedded and critical systems. Rust would be able to fit there but it has no easy C eco system integration, and it can be a burden to write memory efficient code because of the borrow checker rules.
Hence my money is on Zig. I know that even it shouldn’t be used in production yet many embedded and critical systems colleagues are also playing around with it.
As soon as a release is deemed stable I know they’ll start to use it in the less critical systems.
This is not news. Tamago unikernel for iMX6, SiFive and RPi 0,1,2 powers some commercial devices for several years. USB Armory Mk 2, for example.
I know, it's several years old but I found this one particularly interesting as I've just discovered it. As opposed to GopherOS, Biscuit is intended to not modify the Go runtime at all and be liberal with the high level language (HLL) features with the intent of comparing it with C and Linux. A HLL "tax" of only 10% -15% seemed relatively low to me compared to C.
Though Biscuit is a monolithic style kernel, not a unikernel.
this is so cool didnt know a high level language like go could be used for making posix kernels 😯
Go has high level features but is very capable of "low" level programming such as microprocessors in the case of TinyGo and even an OS as you can see here. I just saw it reached the top 10 TIOBE index recently, glad to see the language finally being widely adopted.
You can technically write an OS in any language as long as you get the required runtime running on the bare metal.
Rewrite it in C
JavaScript object oriented??? WHATTT??
?
@@joebulfer Minute 07:03
Javascript is OOP, so are most popular languages except for go @@matiascasag
@@joebulfer You can write OO JS code, but few people actually do. Classes are also quite new (relatively speaking, considering JS is from 1995) and were only added to the language in 2015.
@@QazCetelic I wow I just looked. You're right classes were only added in EC6 (2015). Makes sense cause for the longest time it was just a scripting language, but since it has evolved into something arguably it shouldn't be. I am right now dealing with a object oriented mess of spaghetti Typescript code left by the lasst intern, I yearn for simpler times lol
Your funny, both python, go, rust are written in c. Go is inspired by C programming. Rust was inspired by C++ .
Rust is not written in C. It used to be written in OCaml, but the compiler has since been bootstrapped to use Rust itself.
@@QazCetelic your talking about the rust compiler originally.
youre funny. go is written in go. the first version was written in C then it was rewritten in go once it was bootstrapped. Go was inspired by C and many other languages as well. also "you are" is you're, not "your"
How is that funny though? 😂😂 You're the one funny with your factually incorrect statements. Go is written in Go. Rust is written in Rust.
Python is written in C, correct, Go used to be written in C prior 2015, Rust is Rust. You are correct about C to Go and C++ to Rust inspiration though.