Go isn’t secure?!? feat. Low Level Learning | 053

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ย. 2024

ความคิดเห็น • 106

  • @LowLevelLearning
    @LowLevelLearning 3 หลายเดือนก่อน +140

    Yo thanks for having me on Lane! Always a blast

    • @Wo0dY101
      @Wo0dY101 3 หลายเดือนก่อน

      This was super informative, will be checking out your channel! I really want to move to lower level work, find it more interesting and engaging.

    • @pookiepats
      @pookiepats 3 หลายเดือนก่อน

      @@Wo0dY101you’re not wrong brother-I can attest to this.
      My advice-learn OCAML, there’s a surprising amount of demand and also very interesting projects (not to mention best in class total comp); mostly due to its compiler and how useful and reliable it has been for writing DSL’s in the consulting space.
      My OCAML pitch tagline:
      “You’ll never be bored or broke.”

    • @backendbanterfm
      @backendbanterfm  3 หลายเดือนก่อน +5

      Was a pleasure having you on our pod!

    • @backendbanterfm
      @backendbanterfm  3 หลายเดือนก่อน +6

      An absolute delight friend

    • @The_Nova_Glow
      @The_Nova_Glow 3 หลายเดือนก่อน +1

      Brooooo, when you said bloodshed I had a huge nostalgic flashback.

  • @ShootingUtah
    @ShootingUtah 3 หลายเดือนก่อน +17

    I'm a SQL enioyer, ORMs are another language to learn almost for every ORM when you can learn SQL basically once and it's mostly valid for a bunch of different databases.

    • @gJonii
      @gJonii 3 หลายเดือนก่อน +2

      I thought about this recently and I think query builder is the proper abstraction level for sql. SQL with type checking, autocomplete and other compile time niceties, when you're writing presumably in some other language. Theoretically it's a tooling issue, but say I write Python, I think it would still make more sense to write query in idiomatic python that compiles into the query, rather than have some tool that tries read both python and sql to figure out where to insert sql type checking, validation against schema etc. Instead, having lightweight query builder with fairly simple 1:1 correspondence to SQL would get the best of both worlds.

  • @nandomax3
    @nandomax3 3 หลายเดือนก่อน +6

    Learning the low level stuff, even if its just learning the theory, helped me a lot as an engineer. Sometimes you dont need to know how its done, but understanding whats going on opens your mind to new opportunities

  • @hansmundelein8493
    @hansmundelein8493 2 หลายเดือนก่อน +6

    My fist TH-cam comment ever, just to tell how betrayed I feel about the clickbait title. The episode was great, and I love Low Level Learning, but I expected to learn something about how secure go is. Did I miss something? Now I have trust issues with Backend Banter....

    • @handmadegamesdev
      @handmadegamesdev 22 วันที่ผ่านมา

      100% this. I'm only interested in that right now... so... Yeah. Not cool.

  • @rusmaakatupal4723
    @rusmaakatupal4723 3 หลายเดือนก่อน +1

    Relational database to models was fun but models to relational database is just on another level of comfort.

  • @skl9942
    @skl9942 3 หลายเดือนก่อน +6

    Oh this will be golden! thank you so much for this!

  • @creeperlv6668
    @creeperlv6668 3 หลายเดือนก่อน +10

    40:44 I was a nano guy, until I found `micro`. ;-)
    But I still install nano EVERYWHERE, Regular Windows 11, WoA Devices, Linux and my friends' macbooks ;-)
    Nano is really very handy if you want to edit a single file. But I recommend using micro for project work, it supports plugins, and LSPs, and uses like nano.

    • @tapwater424
      @tapwater424 3 หลายเดือนก่อน +3

      It doesn't take long to learn enough vi to be productive. Just learn it you will thank yourself in the future.

  • @nandomax3
    @nandomax3 3 หลายเดือนก่อน +7

    Man! I'm a java developer with 2 years of fullstack experience with react. And i also tought Spring did so much stuff magically. The day I learned Golang I created from the ground a http server to serve html files and I felt like I really did understand how the internet works. Listeningg to a port, parsing the header, finding a file in you directory based on the input you received. It was amazing

    • @ustav_o
      @ustav_o 3 หลายเดือนก่อน

      thats basically backend stuff

    • @bogoid
      @bogoid 3 หลายเดือนก่อน +5

      bro you can do that with any popular language is not that golang is being special here

    • @racapella
      @racapella 3 หลายเดือนก่อน

      @@bogoid hes not saying its golang only hes saying since you dont need libraries you get to actually see how things work under the hood

  • @shubhamg9495
    @shubhamg9495 3 หลายเดือนก่อน +3

    I was waiting for you two to talk about the insides of go and whether it is secure or has vulnerabilities or not but unfortunately it ain't in this vid.

  • @thisisreallyme3130
    @thisisreallyme3130 3 หลายเดือนก่อน +1

    Two of my favorite YTers. TY both for being informative and entertaining, and then again for putting information first.

  • @beatrixexe
    @beatrixexe 3 หลายเดือนก่อน +11

    Can you interview Anthony gg , the Golang content creator

  • @caseyknolla8419
    @caseyknolla8419 3 หลายเดือนก่อน +1

    Some great a-ha moments in there. Been a long time since I developed in C. Hearing about how apt has become C's package manager was mind-opening.

  • @k98killer
    @k98killer 3 หลายเดือนก่อน +7

    My favorite Micro$oft product ever is the wired ergonomic keyboard. It takes a few hours to adjust and recover to 80% of your previous speed on a non-ergonomic keyboard, but the reduction in repetitive strain injury likelihood is disproportionate to the relatively minor reduction in speed. The main sticking point is learning not to cross your hands at all, e.g. don't hit T with right index or Y with left index.

    • @meanmole3212
      @meanmole3212 หลายเดือนก่อน

      You should take a look at Dygma Defy to achieve true neutral position of your hands without crossing, or the other similar keyboards, these days there are many.

  • @KevinLyda
    @KevinLyda 3 หลายเดือนก่อน +1

    One way to avoid the issues of threads in C is to use select/poll based servers. I've written a number of highly performant apps that way. Dunno if it still exists but there was a webserver called Thor that was done that way and generally outperformed most other things.

  • @ryanwilliams5499
    @ryanwilliams5499 3 หลายเดือนก่อน +6

    Total wasn't waiting for this 6 months ago...doing great everything is great and fine haha...hahaha...hahahaha

  • @andythedishwasher1117
    @andythedishwasher1117 24 วันที่ผ่านมา

    I also am a default Andy for very similar reasons. It's also one of the reasons I like Go and responsibly designed garbage collectors. However, defaults must always be sensible for this way of being to remain practical. ALWAYS note the defaults. Put them in a strongbox inside a vault and keep a key in your wallet, keychain, and medicine cabinet.

  • @Justin-fq8dt
    @Justin-fq8dt 3 หลายเดือนก่อน +1

    43:24
    If that was the case I doubt anybody would even bother using nvim, it'd be too hard to replicate your config across environment without wasting an insane amount of time. I just export the nvim config folder and have it compressed/backed up somewhere so I can transfer it between environments easily. You can also just make it a git repo (default starter configs like AstroNvim come as repos and usually encourage you to host your own for your configuration)
    Still no judgement though, I don't know why people make such a big deal about it anyway. I use nvim mainly and still wind up using vscode sometimes (ex: pairing, code sharing extension)

  • @LNTutorialsNL
    @LNTutorialsNL 14 วันที่ผ่านมา

    Don’t forget that a lot of C/C++ engineers work in the games industry - not just firmware and OS

  • @Rhonselak
    @Rhonselak 3 หลายเดือนก่อน +1

    Had a course taught by the creator of the ChipWhisperer and did a double take when I heard it get mentioned!

  • @sagarsubedi
    @sagarsubedi 3 หลายเดือนก่อน +1

    What he said at 42:13 is exactly what I am going through. I bought a Moonlander too but I can only do average of 50 wpm, which is much slower than my 80-100 wpm. Because of this I cannot use it to do my work, but then I need to use it enough so I get to 80 wpm at least. The paradox is very apparent.

    • @BhargavaMan
      @BhargavaMan 3 หลายเดือนก่อน

      I got my moonlander last month, started at 10wpm since it's my first split keyboard lol. But I'm back up to 90ish now, pretty close to my 110 on regular keyboards. Monkeytype and the game they bundled help a ton!

  • @samhughes1747
    @samhughes1747 3 หลายเดือนก่อน

    39:40, What!? No way! Bloodshed was the IDE I used when I started out, too! I've never heard another soul reference it before!

  • @polyscone
    @polyscone 3 หลายเดือนก่อน +1

    I'm just glad to know there's another Sublime user out there.

  • @andythedishwasher1117
    @andythedishwasher1117 24 วันที่ผ่านมา

    Dude all I can say about SQL is when you only have the option to either deal with date logic in SQL functions or Javascript functions, I'm picking SQL every time. However, now that I know that hell, I'm picking neither every time.

  • @ichigosama007
    @ichigosama007 3 หลายเดือนก่อน +2

    for a second i thought both were the same person talking

  • @microburn
    @microburn 3 หลายเดือนก่อน +3

    Guys you forgot to start your TH-cam Chapters at 00.00 - that means you won’t get chapters parsed out of your description!!
    Just add to the beginning of timestamp list:
    00:00 introduction

    • @backendbanterfm
      @backendbanterfm  3 หลายเดือนก่อน +1

      Thank you!

    • @microburn
      @microburn 3 หลายเดือนก่อน

      You went through the effort to timestamp. It was sad to not see it in the client. Just doing my duty. 🫡

  • @justin_ooo
    @justin_ooo 2 หลายเดือนก่อน

    43:30 I just store my config online and download it to new nvim installations. you could certainly write a batch script that goes through the full process of installing neovim, and setting up your configuration. packages can be downloaded automatically on first run in many configs, so the whole process takes only a few mins.

  • @shkhamd
    @shkhamd 2 หลายเดือนก่อน

    The biggest challenge is porting your projects across platforms.

  • @andythedishwasher1117
    @andythedishwasher1117 24 วันที่ผ่านมา

    Here's an interesting question: Is it somehow possible to create a language with syntax similar enough to Go to enable easy developer migration, but without a garbage collector?

  • @otmanm4095
    @otmanm4095 3 หลายเดือนก่อน +1

    Podcast is great, guests are great, thx sharing

  • @codeman99-dev
    @codeman99-dev 3 หลายเดือนก่อน

    40:34 WOO! Go GNU nano!
    I used nano professionally for at *least* six years. As long as you don't need LSP, it really is fantastic. Way more features in nano than most people give it time of day for. At the same time, the configuration is just *one* file. ONE CONFIG FILE! ONE!

  • @ignrey
    @ignrey 24 วันที่ผ่านมา

    I'm just now realizing these are two different people.

    • @tanko.reactions176
      @tanko.reactions176 15 วันที่ผ่านมา

      there are 20 archetypes for people. these two are of the same archetype!

  • @RemotHuman
    @RemotHuman 2 หลายเดือนก่อน

    35:57 a third party who is watching the network will be able to tell if you got an answer right or wrong (traffic is usually encrypted but the timing when a response is sent over the network can be observable to third parties I believe)

  • @wumi2419
    @wumi2419 3 หลายเดือนก่อน

    42:30 Aren't split keyboards basically test of blind typing? It's the same layout (or you can configure it to be the same layout), but your hands aren't close together. Granted, it becomes different once you begin using layers and other modifiers, and you can configure the layout until no one else but you can type on that thing, but defaults are pretty sane.

  • @u007james
    @u007james 3 หลายเดือนก่อน +14

    clickbait title

    • @its_finn96
      @its_finn96 27 วันที่ผ่านมา

      You showed up, didn’t you?

    • @hsthast7183
      @hsthast7183 12 วันที่ผ่านมา

      You realise that it's a question not a statement right?

  • @Vergillo
    @Vergillo 2 หลายเดือนก่อน

    28:55 listening to stories from my friend that works in automotive embedded C/C++ of terrible code and hacks that get approved in there. And then listening to LLL talking about peoples lives being on the line makes me wish Rust and Zig would get adopted faster

  • @alexpyattaev
    @alexpyattaev 3 หลายเดือนก่อน

    Static linking your apps would result in same code loaded many times into RAM, forget cache hits across apps after that...

    • @_garicas
      @_garicas 3 หลายเดือนก่อน

      Could you explain a bit?

    • @alexpyattaev
      @alexpyattaev 3 หลายเดือนก่อน +2

      @@_garicas if your cpu was busy running e.g. firefox, and it called some common function like malloc, that malloc function's code will be cached in the cpu. Now if core is tasked with running another program (e.g. your shell), it is likely to be able to reuse the malloc instructions. However, this only works if both Firefox and shell refer to the exact same malloc implementation, loaded from the very same shared library on disk. Even if both programs use identical malloc impl, but load it from different files on disk, the OS is not smart enough to figure out that only one instance needs to be loaded, and will load both into the memory. This means that each program will have to pull its own version into cache whenever context switching happens, which is not great for performance. On top of that, all your software will consume more memory overall. The difference gets mighty noticeable when you have a whole bunch of apps loading some bulky GUI library like GTK or QT, which will increase memory use of every app by some 10-15 MB, and totally kill any chance of that UI code sitting in the caches.

    • @_garicas
      @_garicas 3 หลายเดือนก่อน

      @@alexpyattaev Oh I see now, that's interesting, I've never thought about shared libraries this way "inter-process". Thanks for the detailed explanation!

    • @alexpyattaev
      @alexpyattaev 3 หลายเดือนก่อน

      @@_garicas you are welcome!

  • @k7iq
    @k7iq 2 หลายเดือนก่อน

    This is great !

  • @owlmostdead9492
    @owlmostdead9492 3 หลายเดือนก่อน +1

    20 wpm on qwerty with the moonlander? I feel like that's impossible if you know how to touch type, when I first got mine, I basically was instantly at ~40 wpm only because I had bad touch typing habits. Now I'm comfortably within ~80-90 wpm which is identical to my speed on a normal keyboard, it took 3-4 days maybe.

    • @coolbugfacts1234
      @coolbugfacts1234 2 หลายเดือนก่อน

      It took me like a month to get used to typing on an ergodox, I would do things like hit X instead of Z because I was used to staggered layouts.

    • @owlmostdead9492
      @owlmostdead9492 2 หลายเดือนก่อน

      @@coolbugfacts1234 I can relate but that usually won't drag you down to ~20wpm. When I tried colemak-DH for the first time I was getting ~12wpm.

  • @robotron1236
    @robotron1236 3 หลายเดือนก่อน

    I think people only say that because hackers kinda like it and it’s starting to replace Python as the LOC for tooling and shells.

  • @peekknuf
    @peekknuf 3 หลายเดือนก่อน +2

    Goated

  • @erictrinque6513
    @erictrinque6513 3 หลายเดือนก่อน

    bout time you had your brother on... the hair gives it away

  • @desmondwilson3416
    @desmondwilson3416 หลายเดือนก่อน

    I sweat I thought these were the same guy for like 2 month lmao. Till I saw L3 with the baby.

  • @ninilab
    @ninilab 3 หลายเดือนก่อน

    could someone explain at 17:50 in detail how harnessing of specific function works?

    • @ninilab
      @ninilab 3 หลายเดือนก่อน +1

      Ok, asked chatgpt and got an explanation. Prompt:
      a person explains a trick to harness:
      - compile to intermediate dot o elf file that exposes the symbol of
      - write a simple function, that puts the input of standard in into that function
      how exactly to do that?

    • @TurtleKwitty
      @TurtleKwitty 3 หลายเดือนก่อน +3

      @@ninilab This is exactly why using things like gcc is good; if you use the lower level tooling you already know the code gets made into an o file then you put multiple of those together and you've got a program. In that view doing the harnessing thing is literally just writing a tiny program that calls the function and linking with that o file, it's the exact same as any other code

  • @theshinyplayer2373
    @theshinyplayer2373 2 หลายเดือนก่อน +2

    6:12 You can't do a SQL query to check user login today, what are you talking about?!? That's way too advanced today. Today you need to use a platform service that can hande auth for you, you can't do that complicated stuff yourself, are you crazy?!

  • @tacticalNuclearPenguin_
    @tacticalNuclearPenguin_ 3 หลายเดือนก่อน

    I learned so much from you guys, great talk!

  • @kou6244
    @kou6244 3 หลายเดือนก่อน

    I love GO with raw SQL

  • @mbe2916
    @mbe2916 3 หลายเดือนก่อน +5

    C is more low-level than Rust. Rust only allows its memory model, and it compiles down to LLVM, which is a great tool but since its a abstraction above machine code that c doenst have.
    The second point is the memory model of rust is predefined by rust, and it's the reason why it's in it current state won't become part of the kernel(yes there already drivers but in userland)
    The points you raised about hidden allocations are compiler-specific and can be controlled by using flags.
    C started as a programming language to build an OS. As such, it's possible to build anything with it.
    Regarding questions about security, safety, and memory issues, Rust would score higher, but not on being more low-level.

    • @twenty-fifth420
      @twenty-fifth420 3 หลายเดือนก่อน +1

      So a few things. Isnt LLVM an abstraction over machine code like GCC because it is a C Compiler? This argument doesn’t make any sense.
      And isnt Rust part of the Unix Kernel? I mean, I don’t know what this has to do with that. I don’t essentializing the memory model to say why it can’t be in a kernel makes sense.
      Also, C as a programming language was designed to write a OS, yes, but this was in the 70s. Our computing models are now much different. And I think C++ sort of pairs with that too. I don’t think what you mean with ‘it can be used to build anything’ is valid. Everyone says that about every language. Even in Systems, you could probably build an OS with Python if you are a masochist if you use the C FFI.
      I don’t think your comment is valid, alot of half explainations and opinion. You are going to have to be a bit more specific.
      Also, assembly is the abstraction above binary machine code, but I think C has only grown to be a good systems langusgd because there is likely a compiler somewhere for C for any niche architecture. Or now not so niche like ARM. RISC V has a compiler for C I believe. My point with that is that assuming machine architectures for chipsets are to diversify, then sure, you should probably use C. But not for the reasons you said.

    • @mbe2916
      @mbe2916 3 หลายเดือนก่อน

      @@twenty-fifth420 ​
      Llvm is a abstraction layer, as such its not as low level as machine code.
      For the rest of your points, please read my comment again because it already answers your questions

    • @aniketbisht2823
      @aniketbisht2823 3 หลายเดือนก่อน

      C++ does both. You can go as "low" as C, because C is a subset of C++, and go as high level as Rust and beyond. For the high level side, I think, C++ has better features than Rust like template, constexpr, classes, function and operator overloading (great for making DSLs), user-defined literals... etc. Currently C++ is lacking reflection which would be added in C++26 along with many other niceties.
      I would argue using C++ you can generate better assembly (low level code) than C by using it's high level features to "scale" a low level pattern for many types and sizes, whereas in C you would have to hand-write it yourself for every other situation or use macro(poor man's template) which is quite limited.

    • @mbe2916
      @mbe2916 3 หลายเดือนก่อน +2

      ​@@aniketbisht2823 this is not argument about what the lowest level programming language or the best. It's a reaction on the argument presented in the video

    • @mbe2916
      @mbe2916 3 หลายเดือนก่อน +1

      ​@@anonymousalexander6005 thanks for making the point that it has abstractions, which are perfectly fine and for almost all cases better then the default from C compilers. But the point is about being low level, which is about having control of the smallest of details.

  • @k98killer
    @k98killer 3 หลายเดือนก่อน +1

    I only ever use Nano by accident, and it leaves me feeling like I need to shower.

  • @andythedishwasher1117
    @andythedishwasher1117 24 วันที่ผ่านมา

    Wait how is Low Level Learning an ORM guy???

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 15 วันที่ผ่านมา

    ORM is for people with skill issue

  • @Swifter101
    @Swifter101 3 หลายเดือนก่อน +2

    I understand not having time to learn vim motions but configuring neovim then keeping the config with git or something else
    is not difficult i am noob when it comes programming compared to these guys but neovim configuration is not that hard.

  • @nested9301
    @nested9301 3 หลายเดือนก่อน

    Is that your brother?

  • @mx338
    @mx338 หลายเดือนก่อน

    The white house coming up with requirements for secure programming makes me imagine about Joe Biden rambling about punch cards, mainframes and Fortran.

  • @Heater-v1.0.0
    @Heater-v1.0.0 3 หลายเดือนก่อน +4

    They missed a little point. Rust will let you reach down to the same low level as C, fiddling with I/O ports, bits and bytes with small fast binaries on tiny micro-controllers. Rust with its type system, structs, methods, traits, standard library and crates eco system it reaches a level of abstraction comparable to C++, Javascript, Python etc. So yes Rust is low level like C, it's also as high level as many other languages in common use.

    • @Critiquetech
      @Critiquetech 3 หลายเดือนก่อน +2

      Not the same level. Rust is still very immature for real low level , any hardware support. Years behind. I don't know why Rust programmers has this obsession to replace every other language on earth. Maybe terms like: "Arcane", "old-fashioned", "Sure we can do better in Rust", "to help us write correct code", and etc.. Which are found in their manual pages can explain that.

    • @Heater-v1.0.0
      @Heater-v1.0.0 3 หลายเดือนก่อน

      @@Critiquetech Please tell us how, compared to C, Rust is "immature for real low level"? I can use Rust on microcontrollers without any OS support, accessing IO registers, juggling interrupts, dipping down to asm when required, etc, etc. There are very many people doing that. One can write operating systems from the ground up in Rust just like C. And the resulting binaries are of similar size to those of C and match it for performance. Why not take advantage of the language luxuries and error checking of Rust? There is a reason people building safety critical embedded systems are seriously looking at Rust. In my experience serious Rust enthusiasts are not campaigning to replace every other language on Earth. They are not so dumb as to think that is going to happen. I guess you have a lot to learn about Rust. Please do take the time, it's fascinating and fun as well as being very helpful.

    • @Critiquetech
      @Critiquetech 3 หลายเดือนก่อน

      @@Heater-v1.0.0 C'mom I think I don't need to explain that. If you think the opposite, fine. Just continue to use it in the so many micro and tiny microcontrollers its support. I know Rust, and I know it was not thought as a C replacement, but I'm not a fan, moreover I'm not a big fan of anything. If it's good and useful, I use. If it's not, I just don't use it. But fyi Zig is near (not there yet too) to a C replacement than Rust. There are some freedom in C that I (and millions of others) like (and need) which is only achievable in Rust with the unsafe mode, pointers being just the tip of the Iceberg, you probably are aware of that, and to use unsafe mode is better to stay in C. Whenever Rust fan base complains "Rust can do it too, at the same level, and it' more safe, why not use it?" I feel like here we go again, oh my, just use it and don't try to push. If it's good enough people will come naturally, not by force. And no, the level is still a bit below for low level. Not there yet.

    • @Heater-v1.0.0
      @Heater-v1.0.0 3 หลายเดือนก่อน

      @@Critiquetech Hmm... I did not comment here to push Rust by force. I came here to correct what I know to be a misrepresentation of Rust. Miss representation you then doubled down on by saying "Not the same level. Rust is still very immature for real low level ".
      You are right, Rust was not originally considered as a C replacement in its early days. They considered garbage collection and green threads for example. But that has not been the case for many years now. Parity with C became a priority. That is why Rust has no garbage collector and green threads were replaced with async.
      Another misconception is that because Rust has "unsafe" blocks it has no advantage over C, which is all unsafe. That is not so.
      Let's make a deal, I will try not to push Rust if I find myself doing so, in exchange you stop putting it down with misinformation. OK?
      By the way, I have used C for decades, I still love it for its simplicity, for the fact that one man can write a compiler for it in a reasonable amount of time. That is not going to change any time soon.

    • @coolbugfacts1234
      @coolbugfacts1234 2 หลายเดือนก่อน

      ​@@Critiquetech There are two types of people: those who know it is impossible to write safe C/C++, and the delusional. You should be very careful when reviewing a code change from someone with delusions.

  • @NickKeighley
    @NickKeighley 3 หลายเดือนก่อน

    What does "ft." mean?

    • @JeanGambit
      @JeanGambit หลายเดือนก่อน

      featuring

  • @badrakhariunchimeg1031
    @badrakhariunchimeg1031 หลายเดือนก่อน

    Can guys type pc? 🎉❤

  • @maxoumimaro
    @maxoumimaro 3 หลายเดือนก่อน

    Sounds a lot like low level learning has never used cmake xD
    Like holy shit man don t write makefile except if you have a very specific need for it ...

  • @Oncopoda
    @Oncopoda 3 หลายเดือนก่อน +12

    You should consider changing the name of this podcast to Go Banter. I know Go is your language of choice but sheesh.

    • @wagslane
      @wagslane 3 หลายเดือนก่อน +8

      Hey there are tens of episodes that don't talk about Go. TENS!

    • @Oncopoda
      @Oncopoda 3 หลายเดือนก่อน +1

      @@wagslane 💀

    • @angelcaru
      @angelcaru 3 หลายเดือนก่อน +1

      I'll take "C Conversation"

  • @user-hk3ej4hk7m
    @user-hk3ej4hk7m 3 หลายเดือนก่อน

    I do embedded development on small devices running linux buildroot and microcontrollers. C is just a means to an end, if I had to choose something I'd go for python, nim or c++. The lack of templates makes making anything with var args a pain, typedef enum means absolutely nothing, and void* is way too easy. Too many footguns and no way to define guarantees. Idk this Stockholm syndrome thing of revering c began, but it seems to come from people that use it in full blown OS' where there's a vast selection of debugging tools.

  • @jogurtnaturalny
    @jogurtnaturalny 3 หลายเดือนก่อน +1

    First!

  • @alexandersemionov5790
    @alexandersemionov5790 3 หลายเดือนก่อน

    For lowcode/nocode people python is probably low level

  • @user-gh4lv2ub2j
    @user-gh4lv2ub2j 3 หลายเดือนก่อน

    hah@!