I love C because too much abstraction often makes me ask the question "is this is the most optimal/right way of doing this?" and you often dont know about the true cost of an operation until you are balls deep, unlike C where everything is just in front of your eyes. Also creating your own function even for *simplest* thing and using it is one of the most rewarding feels ever.
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.
What is the usehaving that avatar comic figure filling half the screen moving like it has a stroke every 3 to 4 seconds? Wouldnt it fit a tutorial better to remove that shit and show output of your exampke code there.
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.
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.
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.
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.
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.
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)
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)
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
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.
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
@@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 (RU-vid channel). (To mirror your mention of Nim.)
@@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
@@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
After learning all the basic in C++, I realized, I'm not compatible with C++. Now a year in C, I have stitched a small relational database, with a graphical interface using Raylib for my wife's business. Does it work - I'm still happily married. I like the way, C makes YOU responsible for the code and one the rewards is very, very fast execution, even on a 10 year old PC. I found some very great teaches, if anyone is interested.
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)
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.