I want to learn to program. I've read the wiki and I'm fairly confident that I want to learn to code in C; however...

I want to learn to program. I've read the wiki and I'm fairly confident that I want to learn to code in C; however, none of the books are presented as "start from square 0" books.

What is a good start-from-scratch book for programming?

Pic semi related. I heard its a meme. Is that true?

Other urls found in this thread:

learn-c.org/
cprogramming.com/tutorial/c-tutorial.html
java-hamster-modell.de/band1.html
cse.unsw.edu.au/~cs2121/AVR/AVR-Assembler-Tutorial.pdf
faculty.petra.ac.id/indi/files/Assembly Language step by step.pdf
ic.unicamp.br/~pannain/mc404/aulas/pdfs/Art Of Intel x86 Assembly.pdf
savannah.nongnu.org/projects/pgubook/
twitter.com/NSFWRedditGif

That book is literally the "start from square zero" book. In fact most programming books are like that.

Have you even tried opening one?

SICP. Better to start with a functional language like lisp rather than C for learning fundamentals.

Fuck that. Do Python instead.

Use CodeCademy for lessons and Code Wars for practice assignments. Then come up with projects for yourself.

Then do C or others once you actually know what you even want to do.

Thread replies
Are why I'm hesitant to just drive into k&r. And yes I have opened a textbook before, however I intend on owning this programming book, so I'm cautious before rushing out and getting one.

Nigga have you ever read K&R? It's not beginner friendly at all. It assumes you know the basics of programming and teaches you how C works.

My point exactly. If you go on the wiki the "goat" books, which are what it recommends newbies read (as they probably should), aren't necessarily the *first* books newbies should read. So what is a *first ever* book for programming?

C preferably, but I'll take the advice of any competent programmer if they think i should do otherwise.

learn-c.org/

cprogramming.com/tutorial/c-tutorial.html

Python is basically a training wheels language, But really C is not hard to learn once you commit to it, It's actually harder to learn C coming from python because of the simplicity of python, It's almost like trying to learn how to fly a plane by sailing a ship.

If you happen to speak German, i can recommend java-hamster-modell.de/band1.html
it's about java, but nothing in the first book is specific to java, as it teaches general programming techniques.
Sadly i couldn't find an english translation

It's not, it hardly contains any explanation for anything that's happening, especially things that demand further explanation like bitwise operators which literally aren't explained at all. I think Ritchie himself didn't know what the fuck was going on there. K&R is like a quick summary of C's basic functions, not a tutorial on how to program, and it'll definitely be harder to grasp stuff like pointers for someone with no prior knowledge.

Worst meme I ever fell for

What's the point in learning C? You're never going to use it to build stuff. How can you struggle through C when languages like Python and Java exist?

Do you use a screwdriver instead of a power tool? Do you manually fap when you could buy a jelly ass?

I just don't get it. Maybe so you can feel superior to idiots on the internet who don't know C.

Why C?

You want C Programming: A Modern Approach for the actual square 1

C is fun to write as a hobby or if you end up doing embedded stuff or write device drivers.

But if all you want is a job then I'd say C is mostly useless. It's not a bad base though since knowing how stuff works at a lower level can help you figure out problems at a higher level

>I heard its a meme. Is that true?
please kill youself

>I'd say C is mostly useless
bullshit. thats how i got my job, and i'm not doing any "embedded stuff or write device drivers"

Tbqh user, only use the book to guide you into what to learn next. Use Google to teach you the basics and examples.

If you don't know the basics, like initializing variables, if statements, and creating functions, then just Google that. Most books skip that for the sake of using more pages for more complex topics, like garbage collecting and multithreading.

Stack Overflow is your friend.

Please tell us more about your job and how knowing c was/is advantageous.

>I intend to buy a hard copy of a famous book I've never read because of memes.

If you don't know C, you can't write bindings to use C libraries.

This. You'll learn better from using different sources.

Beginning Programming with C for dummies. srsly.

K&r is a meme book in this age.
Go with C programming : a modern approach

Go with C? Shit man, that's one hell of a mix.

Heh I ment use the book C programming : a modern approach

Don't go straight into C, there's no need in this day and age, C is great, but you should start with python.

if you want to read a book, read the book, "Think Python" - this is aimed at beginners and will make you quite competent at python - well that's if you practice enough, then work on some projects,
then you should be all set for learning anything else in the programming world.

It's best to develop the logic and feel of writing code. With C, to be good, you have to understand a lot more. Even though C is a high level language, it's really in between in away..
with python and other higher level languages you really don't need to know much of what's going on, so your whole focus is understanding programming fundamentals which is ideal for a
complete beginner. But remember, work on projects afterwards, this is when you'll truly learn.

>Beginning Programming with C for dummies. srsly.
agree with this, dont listen to the people trolling you with advanced C books, this is the one to start with if you know nothing about C

>Think Python
Can confirm. A pretty good book, though I wasn't exactly a beginner when I've read it.

Does anyone know of a Python book for non-beginners?

I've been programming for over a decade and somehow have never gotten around to picking up Python. All the resources out there seem to be aimed at people who just learned what a mouse and keyboard are. I'm just looking for a quick book that gives an overview of the syntax and libraries and shit.

Read the docs then.

"The Quick Python Book"

C Programming: A Modern Approach is what I've been using.

There's a lot of detail there and plenty of simple to difficult exercises at the end of each chapter. I initially tried K&R but struggled with some of the problems and disliked how quick the pacing was.

Big reason why you should learn C first is because you will learn other languages faster after that.
Going from Python to C is quite different and probably gonna take you longer to grasp the language then directly learning it.

Hey OP, pic related is a perfect start.

Once you have the C basics, work yourself through SICP and some python book and you know a big deal about programming.

You're not ready yet, novice.

It's a very good book. It doesn't start from zero though: the preface it tells you it expects you to understand basic programming concepts.
But despite that, it is a very good book and as long as you know how to use Google, you should do fine.

does it teach you about how it all works from the compiler's perspective?

I want to know what invoking a function means, i.e, how it affects the system.
I want to know multi-dimensional arrays exactly work, i.e, why isn't *(a+1) == *(a[0] + 1) for any arrays that have more than two elements

Not really. One of the appendices somewhat describes the language more formally.
It's really about the language, it rarely mentions the compiler.

...

does it at least teach you about bit-fiddling and how types are represented in memory
im a noob at fiddling

It doesn't. Those are implementation-dependent.

>does it teach you about how it all works from the compiler's perspective?


Be careful what you wish for, user..

>cse.unsw.edu.au/~cs2121/AVR/AVR-Assembler-Tutorial.pdf

>faculty.petra.ac.id/indi/files/Assembly Language step by step.pdf

>ic.unicamp.br/~pannain/mc404/aulas/pdfs/Art Of Intel x86 Assembly.pdf

there are plenty of jobs for C, and you can always learn C++ if you can't find any

Programming from the ground up is a great "start from ground 0" book. Just make sure you read attentively and understand every single line of it, in the first few chapters everything's important.

savannah.nongnu.org/projects/pgubook/

Like what?

This is definitely what you want then

>I heard its a meme. Is that true?

the best buk eva

reid it faggit

>Do Python instead.

not scala

plebs ...

if you really want an intro into C start with arduino. There are a million videos on how to setup the IDE and the arduino. The language is mostly C with a lot of function thrown in to help. Perfect for a beginner.

It's a meme as in knowing it won't get you a job, C gives a solid foundation in programming, but writing some complex software in it is a chore, which is why no job lists it as required, same with C++.

I'd recommend either C Programming A modern Approach 2nd edition, or C primer Plus 6th edition, the second one is a bit bulky, but I find that if I have an issue understanding anything from the first book, the second one has things laid out a bit more plainly.