Why I Like Programming in C.

Поділитися
Вставка
  • Опубліковано 26 вер 2024

КОМЕНТАРІ • 172

  • @teenspirit1
    @teenspirit1 5 місяців тому +127

    I don't love C or anything, but I'm just so happy GCC (and later CLang) exists. We would be up to our necks in corporate BS if those compilers didn't exist or they sucked.

    • @hansdampf2284
      @hansdampf2284 4 місяці тому +17

      Just look at the windows world and their msvc and you know how the rest of the world would be like

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

      mingw though!

    • @twenty-fifth420
      @twenty-fifth420 4 місяці тому

      @@hansdampf2284Installing Visual Studio was enough for me to realize that Microsoft sucks actually with development tooling. No wonder WSL exists.

    • @Anriuko
      @Anriuko 4 місяці тому +2

      @@hansdampf2284 What would it be like?

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

      ​@@hansdampf2284Use MSYS2 and mingw-gcc

  • @zen_nabu
    @zen_nabu 4 місяці тому +22

    I'm new to C and it was hard to get past the basics but I've found new motivation in the idea that we can truly build anything if we're clever and creative. So cool.

  • @arturabelian1855
    @arturabelian1855 4 місяці тому +14

    Every word you say is the absolute truth! It’s very nice that I wasn’t the only one who noticed this in the C language.

  • @xerathgaming1915
    @xerathgaming1915 3 місяці тому +11

    ive recently enrolled in a 42 programming school and we program mostly in c. one of our first projects is to create a library of different useful functions and we are only allowed to use malloc and some syscalls like write for example. its amazing how much you can do with these simple tools.

  • @volchonokilliR
    @volchonokilliR 3 місяці тому +6

    C compared to assembly has a huge advantage - portability between different architectures

  • @sturdyfool103
    @sturdyfool103 5 місяців тому +84

    I like working in C++ or Rust because they give me the option, which I sometimes choose not to - to take those basic blocks and turn them into the higher level tools that exponentially snowball my journey

    • @Leonhart_93
      @Leonhart_93 4 місяці тому +13

      C++ gives you the option to write in any way, you can even write plain C in it.
      Rust doesn't at all, Rust is not about giving you the "option" to do anything. The whole point is to do it exactly like the compiler wants you to do it. No thanks.

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

      @@Leonhart_93 Sort of. Afaik the compiler forces you to write memory safe code whether you like it or not, You can use unsafe rust if you don't like this.

    • @Leonhart_93
      @Leonhart_93 4 місяці тому +1

      @ThatGuyJamal That's the trade off of freedom. But for my own projects I greatly enjoy that freedom and control.

    • @Leonhart_93
      @Leonhart_93 4 місяці тому +1

      @ThatGuyJamal Yes but you have to recognize that the whole philosophy is at odds to those engineers that either don't like restrictions or have used many other languages that just do the thing, without making a fuss about it.
      It's not an attractive proposition.

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

      @ThatGuyJamal Not nearly as often as you think. Half of the programming done out there is personal projects and working for small firms. For example I work alone on a project for a few years now, but the demands are getting quite nutty.
      It's not rare to require thousands of lines of multi-dimensional data structures to organize some DB data in a specific way.
      And Rust tends to hate complex data structures that may or may not have references to each other and stuff like that.
      Prolonging that development time even further might have put my ability in a bad light, as I am making all the decisions on the projects. The language that just lets you do what you envision with the least barriers will always win.

  • @romangeneral23
    @romangeneral23 4 місяці тому +41

    Yup, I use C if I have no deadlines or people over me asking why am I writing everything from scratch.

    • @BinderTronics
      @BinderTronics 3 місяці тому +9

      There are hordes upon hordes of well-maintained C libraries. No need to write everything from scratch.

    • @romangeneral23
      @romangeneral23 3 місяці тому +1

      @BinderTronics eh, not really man. I don't think you have enough experience in the real world of coding and having deadlines. Go tell a PM that I can use a C library written by some random on the internet for our production bank network. Yeah good luck with that.
      C is great don't get me wrong. The industry you are in will determine its usage or not. At my job we cannot use C. We use C++ and our code base is vast and well documented.

    • @BinderTronics
      @BinderTronics 3 місяці тому +9

      ​@@romangeneral23Cool story, bro.

    • @xX_dash_Xx
      @xX_dash_Xx 3 місяці тому

      @@BinderTronics why is every single programmer a fucking loser

  • @Dev_with_Sel
    @Dev_with_Sel 5 місяців тому +55

    Great video! Programming in C makes me feel like I'm inside the computer. I'm planning to learn Assembly next to go even deeper

    • @FranciscoFox
      @FranciscoFox  5 місяців тому +20

      Nice! It's hard to describe how smooth that transition is--from the computer's internal operation to C.
      If you want to jump to the bottom you could try designing your own CPU. NAND2Tetris is a great resource for that (from what I remember of it). It's a big jump but *does* grant a lot of...perspective.

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

      ​@@FranciscoFox Wow, thanks! I'll take a look.

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

      Binary is harder than you think, learn how to use microcontrollers first to get a gist of it.

    • @Anriuko
      @Anriuko 4 місяці тому +2

      Good for you, and good luck developing the resilience against people telling you that you're doing this programming thing wrong. Check out Peter Cordes on Stack Overflow. If you're going to learn Assembly you'll likely bump into him sooner or later - the guy is a goldmine.

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

      @@Anriuko ahahaha great advice. I was already working on an Assembly project, learning more stuff every day. I'll take a look at Peter Cordes too. Thx

  • @domical245
    @domical245 3 місяці тому +2

    2:42 that transition had absolutely no right to be THAT clean 🔥🔥🔥

    • @dredev216
      @dredev216 3 місяці тому

      i am chocked that less people mentioned it

  • @Ross-ng4xl
    @Ross-ng4xl 3 місяці тому +4

    That was a VERY nice cut at 2:42. I see you. Well done. \o/

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

    I program rust at work and unlike it, but you’re right, there is something that feels great when programming in C. I feel like a genius programming with it and if I find a very elegant way to do something I feel like I invented this. (Although being realistic probably everything I will ever code has been invented before by someone else)

  • @MonkeyManJams165
    @MonkeyManJams165 3 місяці тому +2

    I totally get it, C impresses me the more I learn about it, python and C# felt more like running on a treadmill to me.

  • @AEONIC_MUSIC
    @AEONIC_MUSIC 3 місяці тому +1

    Programming is exactly like magic. You write in an arcane language to command rocks to do exactly what you envision, allowing you to build your own reality like a god.

  • @isaialcantara
    @isaialcantara 3 місяці тому +1

    The anime guy is unsettling, but it's a good video overall.

  • @bersK00
    @bersK00 3 місяці тому +4

    You're going to have a field day with Odinlang, it's a polished C alternative. No weird UB, no weird pointer gotchas, supports strings (a slice of a pointer to a buffer & length) & cstrings (a pointer to a char address which may or may not be an array, limited by a \0) , supports slices and array programming. And my favorite - SOA programming primitives.

  • @darwinschuppan8624
    @darwinschuppan8624 3 місяці тому +3

    Anytime I use higher level abstraction, given enough reflection, I always find myself arriving at patterns that could just as well be implemented in C. It really does seem like it's the basis of all computing sometimes. If you master C, you can understand why "modern" abstractions function the way they do. Yes, C has many flaws and I rarely find myself wanting to code in C for a practical project due to all the complications that arise. But anytime I feel something I want to do is too complicated, anytime I'm caught up in the web of abstractions I have spun for myself, I stop and think: How would I have done this in C. I stop thinking about abstractions and start thinking about what I want the computer to do. It often turns out more simple than you first thought. It's like all those complicated concepts I made up in my head suddenly collapse. The only things that matter are sequences of memory and sequences of instructions; that's what it always comes down to. Despite its flaws, I think C is the only popular language that has truly managed to capture the essence of what it means to compute. It doesn't try to hide the ugliness of computing by adding more and more concepts that at some point grow utterly impenetrable; there is a unique kind of honesty in the core of the language, there's an essence in C that will always remain true for computing.

  • @d3thtr4p10
    @d3thtr4p10 3 місяці тому

    Well written C code is just beautiful to my eyes. It’s minimalist in its approach and that sparks creativity.

  • @lancewilliamcatal6870
    @lancewilliamcatal6870 4 місяці тому +2

    Well said about C. Hope you get more subs!

  • @thedrunknmunky6571
    @thedrunknmunky6571 5 місяців тому +11

    I do enjoy programming in Haskell and Python too.

  • @iogilarb
    @iogilarb 4 місяці тому +5

    why i love C? idk, i just love it

  • @nanattechi
    @nanattechi 3 місяці тому

    major respect to you man.

  • @a.lollipop
    @a.lollipop 4 місяці тому

    you put my thoughts into words in a way I would never be able to.

  • @AdventuresOfPepero
    @AdventuresOfPepero 4 місяці тому +3

    i have the same feeling. after trying new languages, still come back to c. it's kind of my home :)

  • @lazi21
    @lazi21 3 місяці тому

    reminds me of the differences between using a straight, safety or electrical razor for shaving.

  • @timwmillard
    @timwmillard 4 місяці тому +2

    So true. Love this video. I feel the exact same way with C.

  • @sherkhanthelegend7169
    @sherkhanthelegend7169 5 місяців тому +3

    I too love c

  • @hawkbirdtree3660
    @hawkbirdtree3660 5 місяців тому +9

    J.S. Bach was a big fan of C. Coincidence? I think not!

  • @i-am-linja
    @i-am-linja 3 місяці тому

    The notion of C reflecting the fundamental mechanics of the hardware isn't quite accurate:
    - Hardware has no concept of a "char", an "int", a "short", a "long", or a "long long"; hardware vendors have to define those terms explicitly.
    - From code alone, there is no way to distinguish a value stored in a register from a value stored in memory.
    - Pre- and post-increment haven't mapped to any facility of hardware since the PDP-11.
    You may argue that these points are _less_ of a deception than the slathers of abstraction in other languages, but I'd argue they're a much more _insidious_ deception: close enough to the truth to fool intelligent people. That's how you get people today arguing that the mere concept of undefined behaviour is a fixable mistake ("just define the behaviour!"), or that the compiler should "do what [they] mean" rather than optimise their code at all.
    Because the fact is, C is only any good on modern machines because compilers treat programs as _abstract_ specifications of behaviour, and take as many liberties as they can to transform that specification into a reasonably performant program. Yet, C itself still thinks it's a macro-assembler, and lets you do things like increment a single-item pointer, mutate an immutable reference, or bitcast any value to any other transparently; the abstractions on which beyond-O0 performance depends leak like a colander, and the specification is a mess as a result.
    Now, to be fair, this is hardly C's fault: the specification was written _after_ it consumed the world, to unify the behaviour of many _existing_ implementations and programs; it simply wasn't designed for this, and retrofitting it would have required breakage that would never have caught on. (I have some _serious_ issues with the priorities of the committee, but I can't definitively refute them.) What you might be interested in is an "honestly deceptive" language: one which is still fairly close to modern hardware principles, but does not _pretend_ to expose them directly, and instead makes concessions to the _compiler_ such that it can write a better-fitting program to the target hardware. There is such a language, called Zig; I strongly encourage you to look into it.

  • @danilafoxpro2603
    @danilafoxpro2603 5 місяців тому +4

    I gravitate towards C as well, for some reason. I don't know why exactly. Part of it might be the simplicity of it, that goes through and through. Language semantics are simple, and they simply map to assembly and machine code. In turn, it's simpler to hack things in if you see a way to take a particular shortcut if 'you know what you are doing'. Other languages sometimes seem to fight me on this, where they have a certain rigidity about how things are done.
    Of course there are still annoyances. Like struggling to remember how to specify types (pointers to functions that return pointers..), having to look-up operator precedence, stock malloc not necessarily being the best choice for getting memory, header files... Some of those are potentially me still figuring things out, and some annoyances I might have not discovered yet.

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

      yes C is "simple" aka needing unreadable unmaintainable unsafe 200 LOC for something that could be done in another language in 50 simple lines of code.
      That's why I just use Nim. Can do anything low and high level at C speed with Python syntax and optional garbage collection

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

      @@afjelidfjssaf Well, I personally would look more in a direction of Zig than Nim. But thanks for the suggestion.
      I am not sure how 'unreadable, unmaintainable and unsafe' my C code is. I certainly do make small mistakes from time to time that can result in pretty interesting memory accesses (which can cause crashes). But things run pretty robust after I fix those. On the other hand I can use unions to overlay multiple structs into one, and thusly pack them continuously in memory (instead of pretty much having to scatter them on the heap). I like to play with memory layout of things and with how allocations are done. Part of that process is also designing data structures and functions in such a way where it's hard to make mistakes.
      I suppose our dichotomy can be summarized as "it can be pretty good if you are careful / I don't want a language where I need to be careful". If you would be curious to see some pretty good programs written in C, I would suggest Eskil Steenberg (UA-cam channel). (To mirror your mention of Nim.)

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

      @@danilafoxpro2603 i agree with most of what you said but I feel like its pretty hard to consistently write more robust, safe and performant code than some other languages compiler creating safe optimized C code

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

      @@afjelidfjssaf Mayhaps. Might depend on the person as well. Some people might just not be interested in C, and be pretty content with the language of their choice, be it compiled or interpreted. Whatever works for whoever, I suppose. So far C seems to work for me.
      Maybe at some point an epiphany will hit me and I'd exclaim "oh what I fool I was for using C all these years!" But that hasn't happened yet. :D

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

      Try Go if you haven’t because to me, I really like C and go feels like writing a better C

  • @NormTurtle
    @NormTurtle 5 місяців тому +4

    1:45 can u please tell how u mare that animation?
    Is that blender?
    Can u share ur video creation workflow

    • @sixtyfivewatts65
      @sixtyfivewatts65 3 місяці тому +1

      you can do it in any editing software that has keyframes in it

  • @Light-f5g
    @Light-f5g 3 місяці тому

    Great video , I already learning C and is it suitable to make game with it ? using raylib and if yes could you make tutorial c with raylib

  • @nikkiinit
    @nikkiinit 4 місяці тому +3

    I love C and C++ over Python, Java, and JavaScript…🎉

  • @samas69420
    @samas69420 3 місяці тому

    i loved this video and thats pretty much the same philosophy that I have, I hate all the dumb bloatware infesting machines and wasting cpu cycles, programming in C just makes me feel that I'm in full control of what my machine does, I'm the one in the button room and I can do everything I want, there isn't any other language that gives me this feeling

  • @anon_y_mousse
    @anon_y_mousse 3 місяці тому

    The way I look at it as someone who enjoys learning new things and especially new programming languages, is that every language sucks, but C sucks the least. I love it, and I hate it, because sometimes its limitations just make me angry, even while it limits me less than most other languages. This is why I'm trying to take the lessons I've learned and I'm implementing my own language, and one of these days I'll actually release it, assuming I finish the ARM code generator.

  • @abiiranathan
    @abiiranathan 3 місяці тому

    C is beautiful!

  • @NoNameNoShame22
    @NoNameNoShame22 4 місяці тому +1

    Impressive. Very nice. Now tell me, how do you do webdev in C?

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

      If we're being technichal, webassembly, if we're being real however, we don't

  • @mumk
    @mumk 4 місяці тому +1

    I like anything other than Rust, thanks.

  • @hansdampf2284
    @hansdampf2284 4 місяці тому +2

    Speaking of which, do you know anything books on C for the advanced programmer? I am programming C at work, but this is mostly very basic embedded stuff. The sheer amount of requirements is what makes it hard but the programming is not.

    • @Anriuko
      @Anriuko 4 місяці тому +1

      C Interfaces and Implementations: Techniques for Creating Reusable Software
      Understanding and Using C Pointers: Core Techniques for Memory Management
      Expert C Programming: Deep C Secrets
      C Programming: A Modern Approach
      Algorithms in C (Sedgewick)
      Numerical Recipes in C: The Art of Scientific Computing
      The Standard C Library (Plauger)
      The Art of Computer Programming (not C per se, but at this point you don't care)

    • @NostraDavid2
      @NostraDavid2 3 місяці тому

      APUE is nice
      Advanced Programming in the Unix Environment
      There's also a video course on YT.
      Makes you learn how Unix works as well, which is an OS made by programmers, for programmers.

  • @volchonokilliR
    @volchonokilliR 3 місяці тому

    Alarming number of weird comments in this comment section. Great video, commendable PoV!

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

    This is why i left using game engines, i get satisfaction creating.

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

    I really love the way you think. I feel the same way about C. All these high level languages for me feel separate from the actual computer in a weird way. Like I love Physics Maths and Hardware so Highlevel languages to me feel a but unnecessary.

  • @dipi71
    @dipi71 3 місяці тому

    0:14 Should have used something like puts("hi"); for non-parameterized output of a const char * (see »man 3 puts« or »man 3p puts«), and for brevity.
    Subbed, cheers!

  • @danibiyarslanov
    @danibiyarslanov 4 місяці тому +3

    what about zig?

  • @adevthatsudos
    @adevthatsudos 3 місяці тому

    i like you

  • @ratfuk9340
    @ratfuk9340 3 місяці тому

    Programming is all about abstraction. The C abstract machine is also, well, an abstraction over the hardware and it's nowhere close to how modern computers work (though close enough for practical purposes). I prefer languages that don't pretend to model the hardware since I rarely if ever write anything on that level. I think there are benefits to totally abstracting ourselves from the burden of von Neumann machines and instead working on a completely different (but equivalent) basis for computation viz. lambda calculus. The idea that C represents "the basics" is a biased view and unlike something based on LC, it's rooted in historical particularities (PDP-11, Unix) instead of unchanging mathematics. I also think over the decades it's become clear that basing a language on these historical particularities have come to bite us in the ass: writing programs in C has produced god knows how much economical damage. C is indeed relatively simple as a language but the programs one builds with C are not and humans are just not that good at managing complex things and I think we should shift as much of that complexity to compilers as we can.
    This is not to say you can't like C or shouldn't learn it but I'm just pushing back on this idea that C is this fundamental base reality of programming and everything else is a complication on top of it. That's just not true.

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

    just this ❤

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

    I like C but when I use it I'm always creating OOP-like structures and needing RAII, polymorphism etc. and C++ streamlines and standardizes that. My projects are just too large for C. Oh, and I need templates; macros just won't cut it.

    • @arl-t8d
      @arl-t8d 2 місяці тому +1

      Womp womp, skill issue

    • @babatona
      @babatona 8 днів тому +1

      Use includes

  • @moontoadz
    @moontoadz 3 місяці тому

    Pronunciation of deluge
    deh·lyooj

  • @drsensor
    @drsensor 3 місяці тому

    anyone know a real compiled system programming language that not tied to C ABI and LLVM?

  • @mr.shredder5430
    @mr.shredder5430 5 місяців тому

    great video prrsentation

  • @userrrr32
    @userrrr32 5 місяців тому +2

    Ive started programing with python as it was very easy and powerul. but then after that I wanted to learn a lower level langauge like rust or C++. ive tried rust. and c++. but they are just too much for me. the C++ and rust syntax was too complicated. you could type the same thing in a million different ways and code was just genraly hard too read. but then I ended up on C. C was perfect. C is actualy suprsingly easy compared to rsut and C++. I like it because it dosent have all the extra bs like rust and C++ but still abstracted enought that im not writing 1s and 0s. also the rust documentation is absloute shit. its like if they expect you to know it before you know it. but atleast C++ documentation is a bit better. but C has the best documentation ive ever seen. mayve if rust gets more better documentation ill use it. but C is the best in my opinion. its abstract enough where you arent programing in assembly. but its dosent abstract too much where there is too much bs and annoying syntax

    • @poleve5409
      @poleve5409 4 місяці тому +1

      rust's documentation is pretty great wdym? It even has a section for general programming concepts, which is something you don't see often

    • @volchonokilliR
      @volchonokilliR 3 місяці тому

      C++ code doesn't have to be hard to read, even if someone is using allll the features. It really depends on how someone specifically writes the code. I personally always try to go for code which is as easy to understand as possible, but as a side effect my code often feels like reading natural language instead of programming language

  • @ldskmain
    @ldskmain 5 місяців тому +1

    I loved it! One more subscribe for you my friend.

  • @DonaldFranciszekTusk
    @DonaldFranciszekTusk 3 місяці тому

    How to get a job? How to know what technology learn if there's so much? Programming industry in 2024 is so complicated and frustrating...

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

    Thanks. Are you going to do a tutors about hot to use pointers skillfully as well??
    And if you want to get more subscribers (don’t know if you want :D) you should ask people in the end to subscribe. Seems to work for all the big channels.

  • @someoneunknown6894
    @someoneunknown6894 5 місяців тому +1

    Great video! I wonder what you think about Zig, which still stays at a similar abstraction later to C, and yet adds some improvements (for example defer, which I miss so much in C)

  • @Arcticwhir
    @Arcticwhir 3 місяці тому

    ..yeah but it can take a while to master and can be so tedious, which is why langauges like python are so gravitating. Want a quick solution...boom use a open source python package. I have this really low level langaugae I have to work with at work, like a mix of C and assembly, I really hate it, the memory addressing, the tedious time consuming lines of code, all i think about is how i could do the same thing in python so much faster. Its only been a month, so maybe i'll learn to be quicker.

  • @foo0815
    @foo0815 3 місяці тому

    I like your reasons very much, but for me they led me to Common Lisp instead.

  • @cycomkid
    @cycomkid 4 місяці тому +1

    And it gives oppertunity to create memory errors😂😂

    • @nobodyspecial1553
      @nobodyspecial1553 4 місяці тому +1

      Use a sanitizer.

    • @volchonokilliR
      @volchonokilliR 3 місяці тому

      Having any user input at all gives an opportunity for user error.

    • @arl-t8d
      @arl-t8d 2 місяці тому

      Skill issue

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

    I'm interested in C and I'm interested in new languages. They have different sets of shortcomings and annoyances.

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

    I feel the same

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

    C is one of those things that will take a lifetime to really learn, it's just how it is. I believe that Zig will be replacing C eventually, but its not there yet (stability-wise, community support, documentation, etc). Not Rust or C++.

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

      c may surprise even experts from time to time, but it doesnt take a lifetime to get competent at it

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

      ​@@not_herobrine3752ikr. It's such a tiny language. You could learn everything about C in no time.

    • @SomeRandomPiggo
      @SomeRandomPiggo 3 місяці тому +1

      It's really not that difficult, at some point it just clicks. For me that was roughly half a year after starting with lots of trial and error

    • @volchonokilliR
      @volchonokilliR 3 місяці тому

      @@SomeRandomPiggo for how long are you using it though? I'm learning C++ for 12 years already, and still am learning. I think it would be fair to say that time/effort is what makes something difficult to learn.

    • @SomeRandomPiggo
      @SomeRandomPiggo 3 місяці тому

      @@volchonokilliR C is far easier and simpler than C++ to learn, but if you knew both inside out C++ would probably allow you to write stuff faster. I've been using C for about 4 years now

  • @metachirality
    @metachirality 3 місяці тому

    Forth programmers: Lol, lmao

  • @ariseyhun2085
    @ariseyhun2085 5 місяців тому +6

    I would however prefer that my mechanical watch doesn't randomly break and need to be rewound again in order to reset it, because the watchmaker thought he was skilled enough to build it without proper tools, but in fact after mass producing the watch later realised that everyones watch had a defect because of one small issue. C is great, but the number of bugs and security vulnerabilities in distributed software present due to a memory issue is way too high.

    • @tiranito2834
      @tiranito2834 5 місяців тому +10

      "C is great but the big number of hobbists with skill issue is bad"
      Ah yes, the floor is made of floor.
      I'm going to go up going upward and I'm going to go down going downward.
      Also, the sky is blue.

    • @ariseyhun2085
      @ariseyhun2085 5 місяців тому +2

      @@tiranito2834 ok

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

      @@ariseyhun2085 indeed

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

      ​@@tiranito2834ok

    • @someoneunknown6894
      @someoneunknown6894 5 місяців тому +2

      There are many analyzers though, linters and other tooling which prevents these issues. And while yes, rust will always be "safer" than C, it doesn't mean that C isn't safe enough.

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

    3 languages I love in order C,python,zig.............................C++

  • @_Verac
    @_Verac 4 місяці тому +1

    Wtf up with the taped clothe and weird animation?🤨

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

    i want to seriously learn c, however i don’t want to because i know it wont be as great as haskell…

  • @gcxs
    @gcxs 23 дні тому

    c is cool, but it is a boilerplate at this point

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

    the vtuber character jumpscared me

  • @mberoakoko24
    @mberoakoko24 3 місяці тому

    I don't like c ... at all. You could draw with a pen and paper . But when you are asked to draw the schematics of boeing 747 part by part, you'll find yourself using better tools.
    C++ gives you that freedom, you can choose how much abstract you want to use, what paradigmn etc.

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

    I also like c but the ub parts of it are very sucky.
    Zig/go seems super nice for the same simplicity reasons

    • @SomeRandomPiggo
      @SomeRandomPiggo 3 місяці тому

      UB parts? I like Go too, but I tend to only use it for servers because it isn't as low level and fast as C is. It's quite far from the hardware

  • @rutabega306
    @rutabega306 3 місяці тому

    Ah yes, another person who thinks C models a (modern) computer architecture...

  • @Weeb1367
    @Weeb1367 3 місяці тому

    I can't tell if you're pranking...

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

    Hi what code Editor you are using

    • @SomeRandomPiggo
      @SomeRandomPiggo 3 місяці тому

      It's some version of Vim, could be NeoVim or the original

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

    I love how people admire C .
    But problem is that im in a data science program and they are forcing to use python .
    Hence have to left C .

  • @mage3690
    @mage3690 3 місяці тому

    Na, but 3 space indenting is DIABOLICAL.

  • @freddie224
    @freddie224 3 місяці тому

    I find myself often getting overwhelmed by how many features there are in modern languages like Rust or C++, I feel like im spending more time deciding which black box to use to accomplish a task, and structuring the project in my head. Instead of actually... coding. I feel much more productive writing in C, and I actually understand EVERYTHING the program does.

  • @bitwize
    @bitwize 3 місяці тому

    Your computer is NOT a PDP-11. C is NOT a close mapping to the actual CPU, which has all sorts of pipelining, branch prediction, caching, etc. to make your high-level C code go fast. In fact, C runs in an abstract machine of its own with an abstract memory model. The only valid memory accesses in C are:
    * accesses to a statically declared scalar, array, structure, or union
    * accesses to a stack variable or function parameter
    * accesses to a chunk of memory allocated with malloc(3) that hasn't yet been freed with free(3)
    Anything else is undefined behavior. So many operations that would "make sense" if C were actually portable assembly are actually undefined behavior. Undefined behavior is a minefield -- even experienced programmers trigger it without even knowing. Buffer overruns and use-after-free errors crop up in code written by the best C programmers. Why do you think that is? It's the language, stupid.
    The point is C is a mess and you probably shouldn't use it. The biggest problems with C Just Go Away when you use safe Rust, which still gives you a fine level of control when it comes to memory layout and CPU execution.

    • @Random31938
      @Random31938 3 місяці тому

      "Buffer overruns and use-after-free errors crop up in code written by the best C programmers. Why do you think that is? It's the language, stupid."
      Reads like a mistake on the programmer's part, just being honest, the language might be hard but it's still fair if it behaves consistently right?

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

    I like my language as simple as possible. C is perfect for me.
    And memory errors are not an issue for me with sanitizers. Add a shadow stack to really top it off.
    When I write C, I know exactly how my code will translate to machine code. In every other language, except maybe Zig, it seems more like I'm making requests than commands.

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

      Yeah that "requesting" thing is exactly whate i hate about more abstract languages, more often than not you dont know if what you are doing is right whereas in C what you see is what you get.

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

    What about PHP? 😮

    • @webnplay
      @webnplay 5 місяців тому +2

      PHP is a dynamic language built on top of a c-compiler (PHP-C)….its a black box on top of a black box and not very good either

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

      @@webnplay and what IS very good in your opinion? Stuff Like zig Go or Rust or Haskell Clojure or Elixir?

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

      PHP is an awesome language and a great tool for server side scripting. Its not meant to do the same things as C. You would never build parts of an OS in PHP. And the only time you really want to think of using C for returning web content is in the case of an embedded device.

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

    Oh Hai! Interesting video. I'm curious getting into C. Too much Python work to do tho :/
    What I like about the video:
    1:42 the black boxes analogy👍
    2:43 this transition to the blank page!👌
    What I disliked:
    0:22 this anime style character?! What the?! why? Oh this is in all your vids :/
    1:04 eeeeww D: black single use gloves! I hate it already when peeps do this in cooking videos. But a programming video? .. please!
    2:16 oh you DUCT TAPED them to your wrists? OK nevermind

  • @milostean8615
    @milostean8615 3 місяці тому +1

    Wtf are you wearing?

  • @MagnusNemo-xc5nx
    @MagnusNemo-xc5nx 5 місяців тому

    you need to try Odin

    • @arl-t8d
      @arl-t8d 2 місяці тому

      you need to try Jai

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

    just program in binary simple!

  • @loganhodgsn
    @loganhodgsn 5 місяців тому +1

    Black boxes=skill issue

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

    I like c# for game development

    • @arl-t8d
      @arl-t8d 2 місяці тому

      Bad choice

    • @jdeckgaming3565
      @jdeckgaming3565 Місяць тому

      @@arl-t8d why?

    • @arl-t8d
      @arl-t8d Місяць тому +1

      @@jdeckgaming3565 Garbage collection, a lot of polymorphism

    • @jdeckgaming3565
      @jdeckgaming3565 Місяць тому

      @@arl-t8d what would you recommend?

    • @arl-t8d
      @arl-t8d Місяць тому

      @@jdeckgaming3565 That depends what game are you making. If you just want to draw something on the screen you can use big engine like unity with c#, no problem. I am waiting for Jai lang but it's not released yet, so for 2d games i use c++ (orthodox c++, without new bloated standard libraries, just easy and simple code) with Raylib. Raylib is a library and it contains almost everything you need to create a full game. And for 3D games I'm writing my own game engine in my own programming language, but this is not my recommendation, if you just want to create a game it seems like complete waste of time. I would use engine like godot with c++ or unreal engine with c++. But writing whole game from scratch is more satisfying for me.

  • @Garfield_Minecraft
    @Garfield_Minecraft 5 місяців тому +1

    boomer

  • @MrAlanCristhian
    @MrAlanCristhian 5 місяців тому +1

    Because you are not manipulable by hype.

  • @Ricocase
    @Ricocase 4 місяці тому +1

    Why not c#?