tags:

views:

429

answers:

7

I want to know if anyone was able to notice an improvement in their programming aptitude based on working at/becoming better at solving logic problems/puzzles?
I've never really been really good at them, and am wondering if to devote more time to practicing.

+4  A: 

That's kind of the mindset behind Project Euler.

Robert Elwell
See also http://codingdojo.org/ - although that's geared towards team learning.
TrueWill
+3  A: 

No, but reading (and understanding!) good solutions to those puzzles do.

Javier
+13  A: 

No - practicing puzzles will make you a better at solving puzzles.

practicing programming will make you better at programming. Of course, everyone is gifted in different ways. practicing won't help everyone. no matter how much I train, I will never be as fast as Usain Bolt

I should add that it could help you in a job interview. I've had puzzle questions asked of me in more than one job interview.

andersonbd1
"no matter how much I train, I will never be as fast as Usain Bolt" But you will get faster. It's not always a question of getting better than the next guy, but getting better than you currently are.
Bill the Lizard
true. my point was that there is a limit and you can't just will your way beyond that limit. once you get to a certain point, go learn something else - like playing the bagpipes. I think asking a question like "will practicing puzzles make me a better programmer" probably means this person is approaching their limit.
andersonbd1
+2  A: 

doing programming challanges will make you a better programmer. Devil is in the details.

Or you can just reading programming blogs.

George
+3  A: 

Practicing logic puzzles indeed can only make you better in solving them only. That's noted by many people here.

But practicing different kinds of puzzles: logic, geometric, mathematic, programming, linguistic just make you more clever. It just improves the way you think on problems in general. Maybe this happens because you deduce mind patterns and later apply them instinctively. Maybe the other way. But it works.

A good metaphor is that you should train your whole body at gym, not only biceps. Training your body makes you more healthy and more enduring in doing a variety of physical work, while training biceps can only make you a better barlifter. And programming covers many kinds of brainwork.

So, solve different problems in many fields! Train your brain, not logic!

Pavel Shved
+2  A: 

The devil is in the details here, I'll second that answer. I'd say that the logic problems/puzzles has been useful in keeping my problem solving skills sharp. This can be very useful in debugging or working on an inherited code base. Does this automatically make me a better programmer? No, but I wouldn't say it makes me a worse programmer either.

I also find the puzzles to be a useful way to get my brain to unwind and chill as I've somewhat conditioned myself to simple puzzles like a Sudoku.

JB King
+1  A: 

Lemmings will make you a better programmer, because it requires you to constantly change your approach to a given problem until you find a solution that works. In Lemmings, as in programming, fixating on one way of solving a problem is a sure route to failure.

MusiGenesis

related questions