1. 16
  1.  

  2. 7

    I feel like I have a very different idea of what a “programming puzzle” should be vs everyone else. A programming puzzle should be a puzzle, not just a problem to solve. In which case it’s obvious that the puzzle won’t make you a better programmer, since it’s not about programming, it’s about solving the puzzle. Not sure I’m making sense with this?

    1. 7

      Programming puzzles are great.

      If you don’t enjoy them, or they de-motivate you, or you only want to work on projects, that’s great too.

      This feels like saying to a basketball player, “Beware of practicing your free throws,” because they’re not the same thing as playing a basketball game.

      1. 3

        Great point. Maybe I should’ve been more balanced in the article. The goal of the article is to give hope to people that are getting demotivated by trying to learn programming by solving puzzles.

      2. 6

        It should be ‘beware of programming exercises’

        In mathematics an exercise is a problem you can solve with a textbook application of a known method, it’s an /exercise/ in applying said method.

        A puzzle however is a brain teaser, it’s a problem that is not immediately obvious how to model and likely has some nuance that requires ‘outside the box thinking’ or will teach you a new perspective if you solve it.

        Sometimes a puzzle for one person is an exercise for another!

        Now: you should skip exercises that have become boring to solve, but you should never give up on an interesting puzzle (regretting being told the answer cause you could have figured it out is the worst!)

        Programming is the same imo; don’t get bogged down in exercises unless they serve the larger goal of solving a puzzle.

        However his criticism is that programming puzzles aren’t “real” but actually they are, they are just math puzzles… if you want to do a programming puzzle then what you want is more along the lines of a CTF.

        1. 5

          Solving riddles is the impulsive implementation of this incomplete advice. You are rushing to do some programming, without having a bigger goal. The problem with this is that it’s not sustainable. If you don’t have a bigger goal, your motivation will be shallow, and you’ll be more likely to quit when things get tough.

          I know this feeling too well. The least fun I’ve ever had programming was grinding Codewars kata as if it would seriously make me a better programmer. Consequently, I became sick of programming and didn’t bother for a while. The most fun I’ve had programming is, as ever, writing things I’ve wanted to do, and they seem to have taught me far more than some stupid “derive some random algorithm to print a funny shape” set of challenges ever could’ve.