I rewrote My Go App in Rust

Поділитися
Вставка
  • Опубліковано 28 лип 2024
  • Previous Episodes: • Multiuser Chat (4at)
    Chapters:
    - 00:00:00 - Announcement
    - 00:01:14 - Intro
    - 00:05:41 - Why is Telemetry a Big Deal?
    - 00:08:00 - Hello World in Rust
    - 00:09:06 - TcpListener
    - 00:11:21 - Error Handling in Rust
    - 00:16:36 - Accepting Connections
    - 00:21:45 - Safe Logging
    - 00:34:42 - Threads
    - 00:37:53 - Channels
    - 00:45:01 - Rust is not Newbie-Friendly
    - 00:47:32 - Client Thread
    - 01:05:53 - I do not Celebrate Halloween
    - 01:07:17 - Shared Connection Between 2 Threads
    - 01:18:49 - Server Thread
    - 01:34:53 - Testing
    - 01:36:41 - Why do I still Dislike Rust?
    - 01:40:02 - Ban List
    - 02:05:31 - Rate Limit
    - 02:17:55 - Text Validation
    - 02:21:03 - Troubleshooting
    - 02:35:50 - Risks
    - 02:37:44 - Outro
    References:
    - Tsoding - 4at - github.com/tsoding/4at
    - Suckless - st - st.suckless.org/
    Support:
    - BTC: bc1qj820dmeazpeq5pjn89mlh9lhws7ghs9v34x9v9
    - Servers: zap-hosting.com/en/shop/donat...
  • Наука та технологія

КОМЕНТАРІ • 228

  • @NathanHedglin
    @NathanHedglin 8 місяців тому +501

    Go = Google tracks you
    Rust = Rust foundation sues you
    It's a lose-lose situation

    • @mzg147
      @mzg147 8 місяців тому +42

      @@_jam1eK don't read bogus jokes on the Internet

    • @glowiak3430
      @glowiak3430 8 місяців тому +74

      Just use C

    • @notafbihoneypot8487
      @notafbihoneypot8487 8 місяців тому

      ​@@zweitekonto9654how do I exit Vim tho

    • @Anonymous-XY
      @Anonymous-XY 8 місяців тому +14

      @@_jam1eK by creating your own programming language.

    • @NathanHedglin
      @NathanHedglin 8 місяців тому +7

      ​@@Anonymous-XYthat's what I'm doing.

  • @PouriyaJamshidi
    @PouriyaJamshidi 8 місяців тому +60

    Thank you for editing and uploading these to UA-cam too. Helps folks like me a lot.

  • @Yeet_the_code
    @Yeet_the_code 8 місяців тому +52

    Love the content! I am currently learning Go, and Rust looks like a very interesting language as well.
    I enjoy just listening to your thought process while you code, even though I don't understand most of it :D

  • @ElPikacupacabra
    @ElPikacupacabra 8 місяців тому +280

    Every time I see a tutorial on Rust, I'm thinging "what an amazing language." Every time I see someone try to implement something in Rust, I'm thinging "what a horrible language."

    • @cysia3683
      @cysia3683 8 місяців тому

      @@alexanderkalashnikov2721 you can do it just by cloning the TcpStream, or am I missing something...?

    • @vladlu6362
      @vladlu6362 8 місяців тому +5

      What makes it horrible?

    • @ElPikacupacabra
      @ElPikacupacabra 8 місяців тому

      @@vladlu6362 For me it's the overuse of opaque abstractions. I much prefer C, or a very restricted C++. When I write C, I know what's going on.

    • @hailuong9295
      @hailuong9295 8 місяців тому

      @@vladlu6362 by its freaking boilerplate and inconvenient the language is, it's like horrible C++ morph with bunch of try catch for absolutely no reason but to torture everyone. I rather use Zig or V for its neat and DX friendly

    • @vlad7269
      @vlad7269 8 місяців тому +11

      Horrible coder not a language 😊

  • @tialaramex
    @tialaramex 8 місяців тому +18

    I have a background in C, and in an ML (Standard ML of New Jersey) but not C++ nor specifically Haskell. I found Rust to be very nice. It's true that if you don't have any ML exposure a real type system might be a surprise after being assured that C ("A strong type system... weakly checked") has a type system. And it's certainly true that if you've only ever worked with a GC language it's a nasty shock that it's your job to ensure things are created and destroyed appropriately, although unlike C or C++ the Rust compiler is going to check what you did can work and not just shrug its shoulders.
    I don't see much need for C++ background. I guess Rust generics look a bit like C++ templates? But that's very superficial. All of C++ is duck types with minimal or zero checks. If I write a Rust trait which is nonsense it won't compile, if I write a C++ concept which is nonsense I just get nonsense output from the compiler.
    The compiler diagnostics are enormously helpful to a newbie. For example I contributed the one where if you try to compare a byte (u8) against a constant char such as 'Q' the diagnostic says well, that's a char, not a u8, maybe try b'Q' that would work. And it checks you wrote an ASCII character before giving this advice since it won't work for non-ASCII.

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +12

      Ownership and lifetime are literally C++ concepts. You won't believe how much Rust is just a logical continuation of C++.

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 8 місяців тому +7

      @@TsodingDaily 1) That's it though, they're just concepts there. There's a big difference in talking about them in a qualitative sense in your program, and actually reaping its benefits by being able to concretely inculcate them into your program's design.
      2) I don't think they're a C++ thing anyways. The talks of ownership and lifetimes might have originated in C++, but I've literally heard people talking about ownerships and lifetimes of variables in all languages, including JavaScript and Python.
      3) Regardless, you don't need to know C++ for this. It won't help you learn ownership and lifetimes anyways. They're a very loose concept in C++. I've coded in it for years but never gave it a heavy thought, beyond what you would normally do to just ensure your variables aren't dangling and tracing your control flow mentally. Rust IMO does a good enough job to introducing you to these concepts (and then bashing your head in them over and over).

  • @cloudsquall88
    @cloudsquall88 8 місяців тому +14

    01:36:41 : Honestly, Rust has a pretty clear vision, and it adheres to it very faithfully. They are also very responsible about backwards compatibility. These things, and long discussions, certainly cause friction, but it has served the language very well, and its value proposition (high level with no gc, among a handful of great design decisions) right now is unbeatable.
    Everyone wants better ergonomics, and they are striving for it. 2024 edition will probably be a pretty good year as most Trait design inconsistencies along with async will be pretty much ironed out. You are a seasoned developer, you have your opinions of course, especially for one-man projects, but it is kind of an unserious position to say that they focus on safety "too much". Also, if safety was above everything, Rust wouldn't exist, as Java, C#, Go are perfectly suited for most any kind of project, and are memory safe.

  • @rodelias9378
    @rodelias9378 8 місяців тому +2

    Great stuff as usual. Thx!!

  • @foxwhite25
    @foxwhite25 8 місяців тому +22

    13:00 This is why I use anyhow for my binary and thiserror for my lib, but I guess propagating unit type also works if you don't want to deal with dependencies, anyhow just enable some easier syntax.

    • @nanoqsh
      @nanoqsh 8 місяців тому

      This is too bloated in this case. If you want a generic error you can use Box

    • @foxwhite25
      @foxwhite25 8 місяців тому +8

      ​@@nanoqsh anyhow is basically Box you use it in the same way, but anyhow::Error is a narrow pointer instead of a wide pointer, which is 16 bytes, which saves 8 bytes per error, or half the size.
      So you are trading off some additional overhead with an additional pointer indirection with anyhow::Error, for a cheaper return type. The idea being, that if you are on the unhappy path of an error, you probably care less about performance than if you are on the happy path and can benefit from a smaller return type.

    • @peter9477
      @peter9477 8 місяців тому +2

      ​@@foxwhite25Excellent insight (new to me). Thanks for passing that on.

  • @arsnazarenko
    @arsnazarenko 8 місяців тому +9

    Will you rewrite this code using Tokio's async runtime to work alternatively to Go?

  • @sponkurtus2597
    @sponkurtus2597 8 місяців тому

    Such good video! ^^

  • @sukina5066
    @sukina5066 8 місяців тому +7

    Nobody:
    Me: f*ck sleep, Imma watch this whole sh*t right now

    • @r2com641
      @r2com641 5 місяців тому

      Don’t do that, sleeping important

  • @undersquire
    @undersquire 8 місяців тому +10

    45:07 Where is Rust advertised as noob-friendly? I have not once ever seen Rust described as a noob-friendly language. I also disagree that you need to know C/++ to learn Rust effectively, although it definitely helps to come from a background of systems programming. Sure not having any background would mean a longer time spent learning and practicing the language, but what did you expect? Rust is different language with its own learning curve. I could argue the same thing for example with C++ being an incredibly hard language to learn if you don't already have a background in C or other systems languages.

  • @eyemotif
    @eyemotif 8 місяців тому +1

    46:05 sure i didnt start out that confident, but ive never touched c or c++ in my life (i do have experience with f# , an ml language though) or any other low level language, and yet rust makes perfect sense to me. it really does let me understand low level code despite being very much in the high level language mindset

  • @alexloktionoff6833
    @alexloktionoff6833 8 місяців тому +1

    OCCAM was pretty thread-safe and ergonomic because of channels usage in language syntax.

  • @matteolugli1607
    @matteolugli1607 8 місяців тому +1

    tsoding, are you planning to do paper/scientific - based streams again?

  • @kwuite1738
    @kwuite1738 8 місяців тому +8

    46:05 - I feel comfortable in Rust but that's because I came to it from the other direction. I started with Logic Circuits, built up to ASM (GB homebrew), and then to how a modern OS handles things like their stack, memory allocation, etc. I get the point you're trying to make, but I'd argue anyone that actually understands how a computer works will find Rust not too challenging, the only time I personally get stuck is when I can't understand what the Rust abstraction 'would compile to' for a lack of a better word.

    • @masterchief1520
      @masterchief1520 25 днів тому

      Rust is complicated. It objectively has a steep learning curve even for someone that knows a different how computers worked but they started with java from unis or people without formal education. I understand the compiler helps you with the correct part but writing correct code becomes challenging the language is so complicated. You are more stuck with the compiler than you topically should. That's make it hard for majority of people to daily drive it. This has been my experience. I'm loving go cuz it's literally so simple and it's massively enough for most of the real world work that's not pure system programming or rewriting terminals.
      Trade off is so worth it.
      Although I'm planning to recreationally start rust programming again once I find a new job.

  • @j-wenning
    @j-wenning 8 місяців тому +28

    I feel like Zig really has the potential to be where Rust is now. The complaints about beurocracy and "vision" are things I've also noticed here and there when using Rust. The main problem I have with Zig is really just its age and underdeveloped ecosystem/lack of overall prevalence. Once its tooling is at the level expected of a "modern" language, akin to Rust, I really think that the broader development community will run with it.

    • @hailuong9295
      @hailuong9295 8 місяців тому +2

      Yeb idea of Zig to mix both compile time and run time to form metaprogramming is the big brain move for me, and the creator seem like a thoughtful person as often he want completely remove any trace of C/C++ in his language for the sake of sanity. And he also got strong point to bring self-host compiler too, hope some day Zig can mature and directly compete against Rust. And also the new Vlang is also worth checking too, as i feel V is how Go suppose to be, not our current script language pretend to be C

    • @CamaradaArdi
      @CamaradaArdi 8 місяців тому +8

      I just don't think zig will reach as big of a public as rust, just because it's not as ergonomic for the general case.

    • @calder-ty
      @calder-ty 8 місяців тому +5

      I've done zig and rust. Like them both. Zig is just awesome with how simple it is. Its like go in that way, but minus the bad decisions that go made. I have been able to get to a level in zig in a few weeks that took me months to do in rust, and that's even with the lack of good documentation.
      Traits in rust are such a cool idea, but I've found that in my real projects I rarely have a reason to make my own.

    • @LtdJorge
      @LtdJorge 8 місяців тому +5

      @@calder-tyTraits are mainly for libraries, applications should just derive/implement them.

    • @ssokolow
      @ssokolow 7 місяців тому

      I think you underestimate how many people come to Rust from languages like Python, Ruby, etc., having already decided to avoid existing languages that don't ensure memory safety, because they want other benefits such as the language, toolchain, and ecosystem focusing on easy builds, fearless upgrades, and a type system that gets us so much closer to "if it builds, it works, and I won't get a call at 3AM on a Saturday because the server went down".
      Unless I was very much mistaken last time I looked into it, Zig is a "better C" in that, when developer ergonomics, low-level ability, and memory-safety enforcement come into conflict, memory-safety enforcement loses. (Hell, if I didn't use Rust to write code I can easily wrap in a loadable module for said scripting languages so I never need to maintain multiple rewrites again, I'd want "low-level ability" to lose that trade-off even more.)

  • @4445hassan
    @4445hassan 8 місяців тому +36

    Rust is EXTREMELY newbie hostile when it comes to getting started, but i am much more comfortable to let new people work in Rust codebases than in C codebases.

    • @Gers217
      @Gers217 8 місяців тому +17

      The problem with newbie friendly programming languages is that the language has to account for new programmers and by doing that you get Javascript

    • @BosonCollider
      @BosonCollider 8 місяців тому +4

      Right, maybe user-railroading is the better way to describe it

    • @Leonhart_93
      @Leonhart_93 2 місяці тому

      The solution here is simple: newbies don't touch C codebases, and they don't touch Rust either because it would accomplish nothing for them

    • @masterchief1520
      @masterchief1520 25 днів тому

      ​@@Leonhart_93 such a bad take but ok

  • @PublicAccount0
    @PublicAccount0 8 місяців тому

    a good explanation,
    the Author is fit.

  • @vnshngpnt
    @vnshngpnt 8 місяців тому

    That React shade in the beginning ❤

  • @MrKristian252
    @MrKristian252 8 місяців тому

    A bit off topic, look at the camera at 52:16. Random black dots appearing, what is that

  • @salim444
    @salim444 8 місяців тому +12

    Hi tsoding, do you think Zig is a good alternative to C? I would like to use rust but it is very intimidating and Zig seems more flexible for me

    • @anon_y_mousse
      @anon_y_mousse 8 місяців тому +11

      I'll answer for him and say no.

    • @4sat564
      @4sat564 8 місяців тому +11

      I'll answer for him and say yes.

    • @enclave2k1
      @enclave2k1 8 місяців тому +9

      For what purpose?
      If you're learning - don't worry so much, pick a language and learn it.
      Never stop learning and don't worry about which language is 'the best'.
      Just code and have fun!

    • @salim444
      @salim444 8 місяців тому +1

      @@enclave2k1 I have some experience coding with garbage collected languages and small examples in C but never a big project( with dependencies) so I wanted a language with more convenient build than C

    • @ugood
      @ugood 8 місяців тому

      ​@@salim444 just stick with golang: it's performant, easy to learn and you can be very productive with it, thanks to it's rich ecosystem. learning about goroutines and channels will help you grasp the entire concept of async programming, which gives a feeling that I'm actually a good programmer! 🙂👍 And if you wouldn't feel satisfied with Golang, you can easily move on to something else, while after Rust, C++ or Zig you will feel like you've invested too much and got very little in profits from learning it.

  • @b4mbus60
    @b4mbus60 8 місяців тому

    What is this software used for zooming here?

  • @sleepysapphire2349
    @sleepysapphire2349 8 місяців тому +6

    Hello, I'm a newbie programmer and hearing about Go doing telemetry is very intimidating to me. I'm curious as to how a person can tell if a program is collecting data and sending it somewhere for example how did you know that Go does this and what types of data does it collect? I'm genuinely curious because I don't have any idea about this

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +13

      I mean they just publicly announce that www.theregister.com/2023/02/10/googles_go_programming_language_telemetry_debate/

    • @castillo5148
      @castillo5148 8 місяців тому +7

      ​@@TsodingDailyI think I don't like go anymore 😕. Well, C it's the only way

    • @EdiPiqoni
      @EdiPiqoni 8 місяців тому

      ​@@TsodingDailyThats old news and a proposal. It is opt-in

    • @NathanHedglin
      @NathanHedglin 8 місяців тому +5

      I wouldn't worry about it. VSCode, Windows etc all have telemetry.

    • @hailuong9295
      @hailuong9295 8 місяців тому +3

      @@NathanHedglin well he is Linux guy of course telemetry is danger move for him. Not like any web already has cookie and collect all browser information in it

  • @brunopena3710
    @brunopena3710 8 місяців тому +6

    replicating the Go sensitive function in Rust is as simple as taking an impl Error as argument, no need to deal with generics there.

    • @valshaped
      @valshaped 27 днів тому

      fn(impl Trait) is syntactic sugar for fn(T)

  • @cheebadigga4092
    @cheebadigga4092 7 місяців тому +1

    damn! Rust forces you to write good (or rather correct) code I suppose, that's awesome. Kinda funny how it turned out more go-ish because of the map_errs lol

  • @rysw19
    @rysw19 8 місяців тому

    I feel like I just watched a 15 round fight with a compiler

  • @abiiranathan
    @abiiranathan 8 місяців тому +13

    This chat is rusty!

  • @helloworld9018
    @helloworld9018 8 місяців тому +1

    Oh so you are that versatile in languages, at first I thought that you were C or C++ purist.

  • @Jplaysterraria
    @Jplaysterraria 8 місяців тому +2

    1:06:54 the beatboxing is kinda good ngl

  • @rogo7330
    @rogo7330 8 місяців тому +1

    "I want to do stream of brainf$ck"
    next stream: "C compiler in brainf$ck"

  • @alexloktionoff6833
    @alexloktionoff6833 8 місяців тому

    Stackles Rust co-routines even lighter than GO!

  • @randyt700
    @randyt700 8 місяців тому +1

    Lol, my guy can do mongolian throat on a beat. He can do no wrong.

  • @voidptr_t
    @voidptr_t 8 місяців тому +14

    Anything that can be written in rust will be written in rust

  • @auntiecarol
    @auntiecarol 8 місяців тому +1

    It's been a while since I watched a Tsoding video.
    So pleased to see that the porn folder is getting larger.

  • @ugood
    @ugood 8 місяців тому +2

    1:30 back in February this year, the golang team decided to not introduce any telemetry, chill guys.
    And it was originally an attempt to verify if the golang-community is not blatently lying about how they use the language, in all of the annual Go-Developer-Surveys that the go-team has been using through the years for getting feedback. As a metaphor, the Go-team simply wanted to install some video-cameras in their store, instead of relying on spoken evidence. But all the personell in that store started protesting that having video-cameras would violate their human rights.

  • @11WicToR11
    @11WicToR11 8 місяців тому +2

    why dont you use LSP ? I mean it would save you so much headache when you just type and then have to go through compilation errors ....why do you feel like fixing your own "typo in var name" minutes after you did it is better than simple red line from lsp? Then when you were writing that turbofish type, you could simple "hover over" those tpc structs to see their types. At least have a toggle bind to enable it in situations like this no?

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +5

      To piss you off.

    • @11WicToR11
      @11WicToR11 8 місяців тому +1

      @@TsodingDaily genius, coding and pissing me off at the same time ....*claps slowly*

    • @masterchief1520
      @masterchief1520 25 днів тому

      ​@@11WicToR11damn why you pissed😂 bro 😂

    • @11WicToR11
      @11WicToR11 24 дні тому

      @@masterchief1520 because he said he s doing it to piss me off, i m just going with the meme 😅 imagine getting pissed of by something you see on fcking screen ...lol, just turn it off

  • @tharunbhaskar6795
    @tharunbhaskar6795 8 місяців тому +10

    Let's make it rust disease

  • @ahmedsat4780
    @ahmedsat4780 8 місяців тому +1

    good video

  • @CamaradaArdi
    @CamaradaArdi 8 місяців тому +1

    To drop something you can't call something.drop(), you need to call drop(something)

  • @squ34ky
    @squ34ky 7 місяців тому

    Can't wait until Rust adds telemetry!

  • @valshaped
    @valshaped 27 днів тому

    Fun fact, escape sequences are valid utf-8
    Wait, lol, ninjad by the video

  • @metaltyphoon
    @metaltyphoon 8 місяців тому

    52:23 I’m almost sure the Go version is writing asynchronously in a separate Go routine. If I’m not mistaken all Go IOs are asynchronous by default

  • @Alex-hr2df
    @Alex-hr2df 8 місяців тому +3

    For multithreading Go is handier.

  • @wermair
    @wermair 8 місяців тому +1

    Microsoft created dotnet many years ago and still there are no telemetry.🤔 Thats strange considering the fact that Windows full of telemetry.

    • @hailuong9295
      @hailuong9295 8 місяців тому

      who say it don't have telemetry, beside micro$hit already collect enough data (cough cough Vscode, Window, Azure, Visual Studio, typescript)

  • @alooooooola
    @alooooooola 7 місяців тому

    despite working for some years, I still cant read document of std libs of any language or even pkg go dev. Just feel overwhelmed by the long descriptions maybe I have to improve my English first lol. That's probably why I have a hard time learning rust and go.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 8 місяців тому +3

    03:30 are rust threads real threads (each thread has own process) and go threads not real threads (1 process runs many threads not at once)?
    edit: see 35:20

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +6

      Yeah, I think I mentioned it later on. The result def is not fully one-to-one.

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 8 місяців тому +3

      I get what you're trying to say, but to make it clear for other newbies, a process has multiple threads, not the other way around. A single Rust process has one thread by default - main thread. Then, if you use thread::spawn function, you can launch more threads (the correct term might be each thread is a kernel/hardware thread). In Go, the main thread itself might run multiple goroutines (green threads) concurrently (notice I didn't say simultaneously, because two threads may execute in parallel, but anything inside a thread is always executed in sequence. It's just that Go's main thread quickly switches between these goroutines by executing each one little by little).

    • @sycration
      @sycration 7 місяців тому

      ​@@VivekYadav-ds8ozit's sadly not in the standard library but Tokio has green threads

  • @JakobKenda
    @JakobKenda 8 місяців тому +4

    Rust was my gateway to OCaml...

    • @frantisek_heca
      @frantisek_heca 4 місяці тому

      Can you elaborate on this, please? I am interested because after Rust, something draws me to explore functional programming and there's Haskell suggested from many points of view especially for a Rustaceans. But the best educational series for a functional programming is done in OCaml. I got interested in your statement and would like to hear more :) Why do you bother with OCaml at all?

    • @valshaped
      @valshaped 27 днів тому

      ​@@frantisek_hecaOCaml is Rust's parent language (Rust was directly inspired by, and originally written in, OCaml)

  • @garakchy
    @garakchy 8 місяців тому

    Next challenge for this genius is to rewrite human language in C 🤓

  • @Purkinje90
    @Purkinje90 8 місяців тому

    Are there any languages similar to Rust that you like? Do you like Jai, for example?

  • @notafbihoneypot8487
    @notafbihoneypot8487 8 місяців тому +1

    Based rust

  • @10inall28
    @10inall28 8 місяців тому +1

    How many progrramming languages You know?
    How to learn all of this languages

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +7

      twitter.com/tsoding/status/1560661602931601409

  • @Julian-xc4fk
    @Julian-xc4fk 28 днів тому

    44:03 its just hillarious😂😂

  • @neociber24
    @neociber24 8 місяців тому +9

    Then rewrite it in Zig and finally in C

  • @M-Wulff
    @M-Wulff 6 місяців тому +1

    Now - redo it in zig

  • @greidinger-reis
    @greidinger-reis 8 місяців тому +5

    Now do Vlang

    • @heejadeetorn753
      @heejadeetorn753 8 місяців тому +1

      Isn't it just a C compiler that can target different platforms on the same machine?

    • @greidinger-reis
      @greidinger-reis 8 місяців тому

      @@heejadeetorn753 Well, it's a language that took design decisions from golang, rust, kotlin... Has a good std lib, is still very much in alpha, but yes it does compile to C, but it is planned to do native binaries without the C backend.

  • @TylerHerwek
    @TylerHerwek 8 місяців тому

  • @mkrichey1
    @mkrichey1 8 місяців тому +2

    Rust is a great language but comes at the cost of time investments and the willingness to do your homework :)

  • @pgjbz
    @pgjbz 8 місяців тому

    Re write it in Porth

  • @FDominicus
    @FDominicus 8 місяців тому +8

    Good reason not to use go, but i don’t think rust is the better idea

  • @MrPetzold123
    @MrPetzold123 8 місяців тому +3

    Of course it worked at 1st try after you get it to compile, because it forces you to take everything into account. Yes, it's annoying, but it just works 😊...

  • @zZGzHD
    @zZGzHD 8 місяців тому +4

    tbqh the justification you gave for not using Go sounds like the slippery slope fallacy. it reminds me of that episode of spongebob where the mob is riling themselves up and one of them goes "He poisoned our water supply, burned our crops and delivered a plague unto our houses!" and the protestors respond "He did!?!?" and the original guy guys "No, but are we going to wait around till he does?!" Same feeling.

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +10

      Comparing baseless accusations from a children's cartoon with systematic unethical practices of large IT companies (and especially Google) that we witnessed many times over decades lol

    • @zZGzHD
      @zZGzHD 8 місяців тому +1

      @@TsodingDaily Oh I don't doubt that Google will try something scummy with Go again. I agree with you there. My point was that nothing has happened yet. We only have an *idea* that it would get worse later because Google. At the moment (afaik) Go has opt in telemetry, which I think is fine, and is definitely not worth jumping ship over imo.

  • @Italya3343
    @Italya3343 8 місяців тому +4

    Please consider whole project in Rust. Thanks in advance 🎉
    Microsoft is adopting more and more Rust every month.

    • @neociber24
      @neociber24 8 місяців тому +10

      Rust is not an orphan

    • @claudiusraphael9423
      @claudiusraphael9423 8 місяців тому

      @@neociber24 True, just "home"-"less" because its parents don't want it to develop on its own, so the dudes with the candy come and try to snack it ...

  • @kahnfatman
    @kahnfatman 8 місяців тому

    Nudging is the name of the strategy. To whom who is reading this comment with admin role, HELLno.

  • @Dozer456123
    @Dozer456123 7 місяців тому +1

    Of course rust is more concise than Go, Go is the least concise language I've ever seen. Want to do literally anything? Here's 7 for loops and 10 if err != nil checks. God i hate it so much

  • @SamiSabirIdrissi
    @SamiSabirIdrissi 7 місяців тому

    you are flexing too hard bro

  • @ChaiRuou
    @ChaiRuou 8 місяців тому +1

    his IDE and keyboard skill is magic.

  • @user-kw9cu
    @user-kw9cu 5 місяців тому

    Rust with all of these !#|@| shenanigans looks more like a brainf#ck than a real language

  • @christianbouwense4702
    @christianbouwense4702 8 місяців тому +5

    I love how whenever there is a Rust video the comments are always filled with people defending it and not able to just hear the language criticized

  • @arcxm
    @arcxm 8 місяців тому

    1:06:29 xD

  • @jordixboy
    @jordixboy 8 місяців тому +7

    C is a lot more newbie friendly

    • @hailuong9295
      @hailuong9295 8 місяців тому +5

      more like easy newbie suicidal, as SEGFAULT and Stack smashing are common enough

    • @VojtaJavora
      @VojtaJavora 8 місяців тому +1

      ​@@hailuong9295I get segfaults, but how are you getting stack smashing on accident?

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 8 місяців тому +3

      @@VojtaJavora Buffer overflows?

    • @VojtaJavora
      @VojtaJavora 8 місяців тому

      @@VivekYadav-ds8oz I know how to do it but do you like not check the boundaries? I've actually straight up corrupted the return address on the stack and got segfault on return than stack smashing.
      Edit: which I guess is stack smashing, but harder to debug than when you at least get stack smashing detected.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 8 місяців тому +1

    50:32 does brainfuck have networking?

    • @eeriemyxi
      @eeriemyxi 8 місяців тому +4

      Somebody did an implementation of BF that can do syscalls (new syntax), I guess that's the lowest you can go.

    • @anon_y_mousse
      @anon_y_mousse 8 місяців тому +4

      Base BrainFuck, no, but extensions are always possible. I had to stop myself from taking it too far, but I ended up adding functions to my interpreter. Might be worth some time and effort to have a standard library that provides for such things.

    • @lame_lexem
      @lame_lexem 8 місяців тому +5

      ​@@anon_y_mousse may the god bless your damned soul 😔

    • @claudiusraphael9423
      @claudiusraphael9423 8 місяців тому

      @@anon_y_mousse Brainfuck Ultra: Shalt not be presented visually. Instead only allows touching/punching paper like braille when developing. And solely use MASERs in userland for interaction ("Material" design? Lesssgo!). If debugging is necessary an equivalent to Morse-code shall be thy only way, but uno-reverse: by the length of pauses. Thou shalt throw thyself in the mud now. Hail BFU!

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 7 місяців тому +1

    I even wrote my Java in Rust. So what? It worked and a little faster than in Java. But I spent a little more time.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 8 місяців тому

    34:31 redacting is too newliney

  • @kooraiber
    @kooraiber 8 місяців тому +4

    6:50 holy mother of a slippery slope fallacy

    • @TsodingDaily
      @TsodingDaily  8 місяців тому +13

      Yeah, true. But I just have little trust towards Google.

    • @kooraiber
      @kooraiber 8 місяців тому +3

      @@TsodingDaily That's fair

    • @FaithEdits
      @FaithEdits 8 місяців тому +4

      It's only fallacious if there's no inductive strength to it, which is not the case, companies do such all the time.

    • @anon_y_mousse
      @anon_y_mousse 8 місяців тому +1

      Unfortunately, the slippery slope is real.

    • @kwuite1738
      @kwuite1738 8 місяців тому +2

      It's not a slippery slope fallacy when they did that with Google Chrome. It's using past behavior to predict future actions

  • @rationalityfirst
    @rationalityfirst 8 місяців тому

    Rust is literally the "So tiresome" meme

  • @almarn
    @almarn 7 місяців тому

    Do you have a girlfriend ? No ? You should....at least you should try and quit your keyboard...

  • @abanoubha
    @abanoubha 8 місяців тому +1

    at this 34:04 I started to know why I prefer Go over Rust 😊

  • @raidensama1511
    @raidensama1511 8 місяців тому +3

    First

  • @glowiak3430
    @glowiak3430 8 місяців тому +10

    Rust is bloated

    • @TheTobilan
      @TheTobilan 8 місяців тому +22

      *goated

    • @D-V-O-R-A-K
      @D-V-O-R-A-K 8 місяців тому +1

      Well what do you expect from c++ clone

  • @yooyo3d
    @yooyo3d 8 місяців тому +8

    Not gonna watch this. Rust is such a waste of time.

    • @peter9477
      @peter9477 8 місяців тому +5

      Not gonna read this comment. It's such a waste of time.

    • @yooyo3d
      @yooyo3d 8 місяців тому

      @@peter9477 You did it and replied. :)

    • @TON-vz3pe
      @TON-vz3pe 7 місяців тому +1

      Your life is a waste of time

  • @user-dz6il2bx5p70
    @user-dz6il2bx5p70 8 місяців тому

    Next video:
    I rewrote my Rust app in Zig

  • @user-zn3zx6fk7u
    @user-zn3zx6fk7u 8 місяців тому +2

    >rewriting in a worse language
    wel done gopher