Any chance for more "Intro to C" episodes?

First of I just want to say thanks for doing such an amazing thing as you are doing by sharing your knowledge and let all of us be a part of this superb project! Your way of explaining things is just great, and the streams are really interesting to watch, and makes me wanting to learn more about C.

I am just in the beginning of my journey of learning C and I dont know any other programming languages from before so I am going up from scratch. I also just found out about this project, and just watched the first 5 intro videos. So I really dont know how high the level will be from here on out, but I guess It will require more knowledge than I got from the intro? (but I will notice that soon enought, will check more videos tonight! ;)

In one of the intro episodes you mentioned that you "might" do some more intro videos to C in the future. So my question is simply, do you think that would happen? I understand that you have ALOT to do with the main serie of course.. just thought id ask. Cant imagine any better place to continue learn the basics from, than here :).

Also.. I cant help but hearing ppl often saying "I started programming at the age of SUPERLOW AGE".. man I feel that starting out at 32 is late :/.. I soo wished I started earlier. Hope I still have a chance at becoming a good programmer before its to late to put to use.. :/.

Anyway, THANK you for doing this, and of course equally big thanks to all the ppl involved in this project working with you!!

Best regards from Sweden / Stefan

Edited by Stefan Nordkvist on
I am learning the basics from http://c.learncodethehardway.org/book/ and I think it's a great resource to have alongside HMH when your completely new to C

Edited by nikki on
thanks! I´ll have a look :D

[color=#0088ff]Update:[/color]

In the preface it smacked me with:

LCTHW will [color=#ff0000]not [/color]be for beginners, but for people who have at least read LPTHW or know one other programming language..

But it cant hurt to try ;).. It does say the HARD way.

Edited by Stefan Nordkvist on
Yeah I think C is not as beginner friendly as let's say Python or Java.
Dont worry I started at about 32 and have been developing professionally for 4+ years im 38 now.

But that will only work if you have a natural "talent" and then dedicate your life ie... no life for a couple of years until you have learned enough to be dangerous... then you can start the long journey.

Which I feel I am just now starting. I wish I had resources like this 5 years ago doing things at the low level. Then again back then I probably would have shunned it because he was not using OOP. Its funny you have to come full circle to realize what the reality is.

They say you can lead a horse to water but cant make him drink it. So true with programmers.

Edited by Ray Garner on
LCTHW is supposedly full of bugs. I recommend C Programming: A Modern Approach.
Thanks for the tips! I am using a swedish book for the moment, but will check some others when this one is finished! Man, C sure is fun! :D
I would avoid that whole "Learn C the Hard Way". Author continuously insists "Google it." Leaving the reader more confused. Because a beginner doesn't know what they are looking for or the difference between a right and wrong answer. The internet is a great resource for information. However most of it is filled with bad information. You might as well not even bother reading the book.

The programming community can be hostile, trolling, and actually have no clue what they are talking about. They are talking heads. This is much more true in the C language community.

As previously mentioned C Programming: A Modern Approach 2nd edition is a good book. The C language is actually very small (IMO that's a good thing). Just remember that the only thing a computer understands is a 0 or 1. Through many abstractions do you get the C language. Which you write in and then it's compiled into machine code aka 0's and 1's aka binary.

Some things will be confusing because you have to figure out how someone encoded something.

For example in C a char is 1 byte or 8 bits of information. The character's you may often store in it are ASCII encoded character's

So if we wanted to say char c = 'a';

When that instruction get's hit it's basically saying I have a byte that I will allocate on the stack and then I will move or copy over 'a' to where the variable c points too in memory or more precisely the memory address. Which you can see the address by simply adding a print statement and passing it the address of c. Which in the C language you simply stick a & sign in front of it. a is simply an integer number for 97 obviously the processor doesn't understand anything other than binary.

Here's the binary representation of a:

0110 : 0001

The ":" is there to separate the nibbles for clarity. (Nibble is just for 4 bits a nibble of a byte for programming humor I guess lol).

Now how is the character 'A' encoded in ASCII?

01[color=#ff0000]0[/color]0 : 0001

If you notice the only thing that changed was the bit I colored in red. So you could do a bit operation and just flip that single bit and you could toggle between lowercase 'a' and uppercase 'A'.

There's a good book that teaches better than I can what's going on "under the hood". The book is called "Computer Systems: A Programmer's Perspective (2nd Edition)" by Randal Bryant. There is actually a third edition out now. Which focuses more on the x64 side of things.
Wow thanks for the elaborate answer! :D
I will try and get that book, shouldn't be that expensive to get.
Still just coding the basic things and trying to learn as much as I can.. it's really fun. :D