My man just start working on a project, google yourself through it, then rinse and repeat.
I recommend starting with calculators, tic-tac-toe and similar projects
1. Posts must be related to the discussion of digital piracy
2. Don't request invites, trade, sell, or self-promote
3. Don't request or link to specific pirated titles, including DMs
4. Don't submit low-quality posts, be entitled, or harass others
📜 c/Piracy Wiki (Community Edition):
💰 Please help cover server costs.
Ko-fi | Liberapay |
My man just start working on a project, google yourself through it, then rinse and repeat.
I recommend starting with calculators, tic-tac-toe and similar projects
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.
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!
So I really wish you the best in this journey!
Are you suggesting C language for the beginners? Why?
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.
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.