Jump to content

programming "bible"?

SomethingEat

If you could only recommend one (maybe two) book about programming which one would it be? =)

To be more specific, the book that would not necessarily teach how to code, but rather explain why things are the way they are, with not to many technicalities unless necessary in general terms so a newbie could understand most of it. What are programming paradigms and why, why one language would be used over the other, how different languages work, how everything is interacts with hardware, program architecture of different things, multi-threading, etc. ? Does a book like this even exist?

 

Best Regards!

Link to comment
Share on other sites

Link to post
Share on other sites

I don't find and never did find books helpful in any way whatsoever in this context. They are a rather deprecated concept considering the speed at which the industry moves... Don't you think?

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Nuluvius said:

I don't find and never did find books helpful in any way whatsoever in this context. They are a rather deprecated concept considering the speed at which the industry moves... Don't you think?

you are right, that the reason i'm looking for something that explains things in broad strokes, but that still has a stem, that all the concepts are attached to.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Eluoci said:

you are right, that the reason i'm looking for something that explains things in broad strokes, but that still has a stem, that all the concepts are attached to.

Then you are far better growing your own 'stem' but be very careful of absorbing deprecated nutrients lest your foliage shall turn rotten.

 

Thanks for that, I've gone from dietary analogies in past threads now to gardening ones...

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Nuluvius said:

Then you are far better growing your own 'stem' but be very careful of absorbing deprecated nutrients lest your foliage shall turn rotten.

 

Thanks for that, I've gone from dietary analogies in past threads now to gardening ones...

You welcome =)

 

Damn! I knew it. That's the reason I wanted something formal and tested by time, so that my leaf don't fall of =)

Link to comment
Share on other sites

Link to post
Share on other sites

Try find a book of programming competition problems (my teacher has one but I don't know the name).

Each problem will have a point value attached to indicate difficulty. They all are based on an input and output. e.g. given simplified dna output hair color and height.

Starting with simpler ones and work through, you have to learn how to form algorithms and be picking up techniques as you keep advancing your skill boundary, using the internet constantly to build your repository of knowledge.

It forces you to learn how to use data structures and such.

 

It's probably the most natural way of learning to program and you'll learn techniques in both problem solving and what code.

The biggest thing to do is simply to do. 

"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard Fynman

Link to comment
Share on other sites

Link to post
Share on other sites

27 minutes ago, Jykos said:

Try find a book of programming competition problems (my teacher has one but I don't know the name).

Each problem will have a point value attached to indicate difficulty. They all are based on an input and output. e.g. given simplified dna output hair color and height.

Starting with simpler ones and work through, you have to learn how to form algorithms and be picking up techniques as you keep advancing your skill boundary, using the internet constantly to build your repository of knowledge.

It forces you to learn how to use data structures and such.

 

It's probably the most natural way of learning to program and you'll learn techniques in both problem solving and what code.

The biggest thing to do is simply to do. 

Thank you!

Link to comment
Share on other sites

Link to post
Share on other sites

I'm doing a programming course at university and my lecturer swears by this book.

 

Sorry for double post, no idea why it happened, pretty sure I only clicked post once but hey, things happen.

Edited by elliot4959
Link to comment
Share on other sites

Link to post
Share on other sites

I don't think you're going to find a single book to cover what you're interested in, and even if you did, I can't imagine it would cover it all very well. Instead you'll probably want to build that knowledge over time from multiple sources.

Link to comment
Share on other sites

Link to post
Share on other sites

As far as algorithms goes, there's nothing better than "Introduction to Algorithms" by H. Cormen and all of the other guys.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, Jykos said:

Try find a book of programming competition problems (my teacher has one but I don't know the name).

Each problem will have a point value attached to indicate difficulty. They all are based on an input and output. e.g. given simplified dna output hair color and height.

Starting with simpler ones and work through, you have to learn how to form algorithms and be picking up techniques as you keep advancing your skill boundary, using the internet constantly to build your repository of knowledge.

It forces you to learn how to use data structures and such.

 

It's probably the most natural way of learning to program and you'll learn techniques in both problem solving and what code.

The biggest thing to do is simply to do. 

There's a lot of sites with those kinds of problems though There's many different Olympiad in Informatics or ACM sites, international ones (eg. IOI, CEOI, BOI, JBOI) and others like the Polish, Russian , Croatian or Romanian one. Those usually have the problem text, solutions and official sources.

Other than those, there are a lot of sites with a huge collection of problems which allow you to send a source to get it evaluated. Codeforces, TopCoder, HackerRank, infoarena.ro , etc.

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Nineshadow said:

As far as algorithms goes, there's nothing better than "Introduction to Algorithms" by H. Cormen and all of the other guys.

Thank you!

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Nineshadow said:

Codeforces

Oh, wow. How have I not found this before.

"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard Fynman

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×