Best book to learn C?

I need a book to learn C thoroughly and completely

Attached: Letter_c.svg.png (1200x1200, 23K)

Other urls found in this thread:

youtu.be/CPjZKsUYSXg
warosu.org/g/thread/S71369465
icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf
iso-9899.info/wiki/Main_Page
github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#nr1-dont-all-declarations-should-be-at-the-top-of-a-function
viewsourcecode.org/snaptoken/kilo/
manning.com/books/go-in-action
twitter.com/SFWRedditImages

K&R

Attached: DgrfjA_XcAAZcBK.jpg (900x1200, 165K)

dilate

KNK's C Programming: A Modern Approach 2nd Edition

Easy to read, clear examples and work, and gives you a good understanding of the language.

Attached: 51TGEPRTDNL._SX377_BO1,204,203,200_.jpg (379x499, 27K)

Cope

Dilate beats cope.

rock beats scissors

>steve klabnik
>the man who got so buttfrustrated about curtis yarvin that he tried to get him kicked off the conference circuit
>didn't even succeed
>writing about a language where you need a degree in graph theory to understand how to import libraries
wow user quality recommendation

>This

not a book, but this youtu.be/CPjZKsUYSXg is a good series of videos if you can handle the basedboy of a teacher

True. So go dilate.

you don't learn C.
C learns you.

Have sex

Kek, thank you based Terry

Attached: download (9).jpg (225x225, 12K)

Most rustrannies worship something they don't really understand for reasons that has nothing to do with the thing in question (in this case it's their love of cocs.) Literally a cargo cult.

The more you read...

Attached: 1561246856539.jpg (720x436, 134K)

>if statement is video 46
Seems a bit bloated?

The less you know.

Attached: 1561246931959.jpg (720x504, 144K)

Not op, but where do you go after this? Should I get a book on the C standard library?

Go is like having training wheels
C is like having sticks in your wheels
just why would you torture your self like that?

OP here, I have the same question

I made this tread some days ago, and get very good responses (thanks anons if you're reading this), bookmark those links OP.

warosu.org/g/thread/S71369465

Also, as you can see, on C-learning treads, the first post it is always reserved for rust shills, so they gtfo later on.
They are very sad people who have nothing to live for.

Attached: 1561248120177.jpg (735x551, 51K)

You forgot to paint your nails.

Linux Kernel has some nice things about C, they have very extended guidelines and force people to use their libs rather than to reimplement the wheel

I'm going through this book, and so far I really like it. It's easy for self-study at home.

Attached: 41LYQhlqtGL._SX376_BO1,204,203,200_.jpg (378x499, 25K)

Advanced programming in the UNIX environment or/and the practical parts of a book on operating systems.

Imagine being this much of a brainlet lol

dude do you have the pdf?

Mein Kampf

Rust has:
> nice syntax
> great ownership system
> informative compiler

but beyond that the language is terrible, worse yet you have to wrestle with the compiler over the simplest shit. Just to get a "hello world" you have to try 2 or 3 times to get it to go without bitching.

icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf

Any thoughts on Gustedt?

Attached: 1555377101584.png (474x192, 7K)

iso-9899.info/wiki/Main_Page
Be aware of "Stuff that should be avoided"
Also, one if the best C resources online.

Attached: 1561253124502.jpg (420x480, 28K)

>learn C
go with to start
>thoroughly and completely
C Programming: A Modern Approach by Guy Steele

Why do you need to?
For a job?
Or hobby?

If you're not working with legacy code, then for the love of god don't write your programs with variable definitions at the top.

Why not?

I was going to write an example, but I found one already written.
(This applies to C as well)

github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#nr1-dont-all-declarations-should-be-at-the-top-of-a-function

These are some pretty good guidelines. Most are C++ specific, but some apply to C.

“No”

Programming is the best way to learn how to programming
viewsourcecode.org/snaptoken/kilo/

Came to say this.

Deitel's C How to Program 8th edition, end of story

>K&R
>shitty names for variables
>general bad habits (ie bad functions, global vars, conflicts etc)
>muh getch and ungetch for 100 pages
>the book takes a powerspike on exercises between chapter 6 and 7

K&R is shit, if you want to learn C read Programming: A Modern Approach by King.

Only good book itt. If you want to learn C, go with Gustedt, don't be yet another retard writing shitty C.

Based.

Attached: father.jpg (474x295, 22K)

manning.com/books/go-in-action
have fun mang :^)

>nice syntax
Lifetimes syntax is absolutely awful

What is the best book to learn C for someone who already has experience in programming?

With so many book recommendations, OP will go crazy.
OP, take each recommendation with a grain of salt.
Check the credentials of the authors of each book
(i.e. Did they do anything relevant before writing the damn book?).

Attached: 1561287508580.jpg (222x216, 11K)

>tfw too much of a brainlet to read this book.

Attached: 1548583505024.jpg (250x190, 8K)

C is not only the base for all OS development we have, it’s not only the language for all embedded systems and has a great impact on vintage systems, it is the fastest and best fitting language for all our existing architectures.

It has a liaison with compilers, they love C and C loves them, they have liaison with the OS and they have a liaison with your architecture. The result is the fastest code ever you can get while the language is totally able to handle the biggest and most complex projects in software that ever existed.

It does work together with all other languages and most of it’s simple tokens compile to a single assembly command or to a maximum of three, while the modern x86_64 processors have optimized the typical CMP/JMP combination into a single command.

Cashes do optimize for the way C is accessing the memory and pointers are still the best way to handle things, all this is done by C naturally.

C loves Assembly and Assembly loves C, so you can easily optimize anything in your algorithms by that. There is just no limit that is not put upon you by the hardware you use. And if your hardware introduces a new feature it will be implemented in C a few weeks from that.

C is also the standard for all GPU programming, the kernel code for massive parallel processing is done in C-like language, that differs only in very few aspects. So there is not even a limit on architecture. If you are writing FPGA or something like that, you will also use C.

It is the tool of our craft. You will find spinoffs it everywhere, in Awk, Smalltalk, Java, C++, … who all try to jump on the non-stoppable train “C” is. And they often fall off that train and vanish in the past as side-notes of history.

Like the Wirth-languages that tried to do it “better”. Who is talking of Pascal anymore? Who even knows of Modula2? Occam? Anyone?

Right.

From all languages that I learned over the years, which are over 200 by the way, a sad thing that I really would have liked to avoid, but from all those languages one always was at my side: “C”. I did learn it in 1985, I programmed it all the way up today.

Before I learned “C” I was fluent in MOS6502 Assembly, which has given me the second eternal foot in programming, because the concepts of Assembly are always the same. BASIC of back in the time would be now more like Python(3) or Perl (again a C-like language!), so that’s the classification “scripting” or “binding” language, and everything else was a come and go.

There were times when C++ was hot. There were times when Java was hot, Java is so going to die now, like ADA was predominant 1985 who is talking of ADA anymore?

There has been some learning and experimentation over the last 30 years and from where I see that, the winner of all these experiments is “C”. There were some modernizations needed, which were done, but modern “C” can do everything that you need for your project.

And additionally you will find easily people that are able to program “C”, able to understand “C” and able to maintain “C”.

C is not going away for a looooong time.

Especially because it’s the most efficient language of all of them, if done right. And it has the least limits any HLL has. You can do anything with “C”. That’s something that isn’t true for any other HLL.

So, we will have “C” for a very looong time and it will be well paid and it will always be in demand. There’s nothing better on the horizon, not even ideas have come up to do things better than “C” does.
And Assembly is also on the rise again. And I would really like to see more Forth. Well, I guess Forth is one of the innocent victims of “C”. Forth can do some cool things, but whatever. There are preprocessor header-files for C, that allow you to write Forth. So, never mind.

There's a book called "Head First C", it uses silly drawings to draw your attention to the content, pretty clever technique.