I have a plan to get into some programming in future and C is one of the considerations and it's very important language so I would like to ask if anyone programmer is in this community to suggest me some resources? I prefer video based courses but it sounds like books are very detailed sources of information then suggest what you know best.
Note: I know this isn't a professional community for the subject but I know for good quality resources I have to pirate some shit so I asked the question here because the members probably have their resources from piracy so they can help me more; sorry for expecting too much from y'all but career is career.
Imo the most legit thing to do is to read an old copy of "the c programming language" which is a guide written by the authors of C. The early editions were under 100 pages, super clear to understand, and you'll feel connected with the mentality of the creators. C is a simple and elegant language, much less complex than most modern ones
It's just like 4x longer for no real reason. The language just isn't that hard, and I feel like they were cashing in on publishing a million new editions. C hasn't changed much
Also, random plug for Go, which feels about as simple as C but tackles modern problems better (concurrency, amazing garbage collection, servers, world class tooling). Any C developer will feel comfortable with Go super quickly
The first course we had at uni that also acted as a programming introduction to me was "Data Structures and Algorithms in C" and after that they followed with a C++ course which introduced OOP.
Every other language introduced after these clicked so naturally and easily thanks to their added syntactic sugar and memory management simplifications, so I think that starting with C is indeed the best start.
I think some universities have their courses made public, but there are surely enough free online resources tackling this.
I found this video after a quick search that might help.
I'm sorry I can't provide any (tried and tested) suggestion, but I just wrote because I wanted to confirm that if you don't shy away from C and start learning from it, other languages will feel like a breeze, and in the end, the languages are just tools...and learning to use these tools easier means you can pick the best tool for the job easier, and that kind of flexibility rules!
Because it's functional and the syntax is relatively easy to grasp and it's easier to write simple algorithms with it without having to worry about OOP concepts, visibility and other stuff.
It also enforces typing and a decent level of resource management which I believe is a good thing to always have in mind when it comes to optimizing memory and even execution.
This also can make learning new languages easier, and you now have some base knowledge to move on to fancier things like OOP and Templates.
It's probably not as easy as other languages which come with tons of primitives that already do a lot of work for you, but going through these little things yourself teaches you that nothing happening under the hood is magical and that everything works in a certain way for a reason.
Also, having started with C myself, I honestly can't manage to be too objective about it. I loved every minute of it...except not knowing how to use the debugger early on. That can save you a lot of headaches.
Libgen works best for me, with effective C being a reasonable resource. You shouldn't start with C though as your first introduction to memory managment. All resources will assume you know a fair deal about the subject first. I'd suggest you go for zig, or rust or if this is your first language, python, or c# if you want a real challange. C is not a good language to learn first.
I've never worked on a larger C project, so I'm not the best judge, but I would recommend 21st Century C by Ben Klemens.
It was very accessible and gave me a pretty good understanding of how the language worked and how to use modern versions of it.
May be this is a personal thing but whenever I am trying to learn something new, I just go the old fashioned way and get myself books on that topic. A lot of love and attention goes into writing books,making them very detailed and elaborate and imo they are still the best way to learn something. Ebooks included.