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
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
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
Why the old copy? They screwed the book in new publishes?
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
I'd say it's best to read the ANSI C version, not the original K&R.
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!
Here is an alternative Piped link(s): https://piped.video/11i8bRojtYk
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source, check me out at GitHub.
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.
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.
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.
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 |