DEV Community

Jehdi Aizon
Jehdi Aizon

Posted on

Journey-ing With C

Preparing

Textbook Used: C Programming: A Modern Approach by K. King

img

Textbook or Online Materials?

C Programming: A Modern Approach is a go-to textbook to learning C. I decided to use a book instead of searching for tutorials online. I thought that using a textbook would give me structure in self-teaching myself C instead of looking for online posts.

Unlike online tutorials, they go through a lot of drafting, editing and peer-reviewing before publication. And usually, the ones making them, are experts on the matter. That being said, it doesn't hurt to use google to help you once in a while.

Have a Mentor (a.k.a someone you could ask for help)

I was really lucky because my professor was willing to teach me (I'm his experiment for online teaching this fall) BUT, if you don't know where to look, here are some suggestions (unordered):

  1. Discord
  2. Slack
  3. Reddit
  4. Learn with a friend(s)
  5. Just wing it

Those are where I would start looking. If you don't want to and want to do this alone because it's too much work, try learning with a friend (I've never actually tried this because...).

C Programming: A Modern Approach, is a really good book, the chapters aren't too long and lots of examples and practice work so, yes! Less falling asleep.

Which Operating System (OS) Will Be Used To Learn?

All right, so the thing with C is that it's really easy to set up in an Ubuntu-based OS (I'm using Linux). SO I set up a Virtual Machine with the operating system Linux.
This is the part where a mentor or having someone to ask is a major benefit. I had absolutely no idea (and still now) how to confidently set up a Virtual Machine. 🙃

The benefits of using a virtual machine:

  1. Not having to worry about corrupting your current OS files and just generally messing up your OS.
  2. With a Ubuntu or Linux OS, you can gain experience in using **bash** the language used for the terminal in Ubuntu/Linux OS's
  3. Get experience using the **man pages**, which is basically an offline mode of documentation about C libraries and functions
  4. More organized since (most likely) all you'll be doing is doing C in there.

Motivate Yourself

This is why I also recommend to learn or be taught by/with someone because it will motivate you to just do it.

My main motivators are:

  1. Knowing the language before enrolling in the class will help me understand the language deeper when it comes time for my class.
  2. Also, it would be another tool under my belt.
  3. And plus, it's fun. 😄

Top comments (0)