DEV Community

Discussion on: Think Like a Programmer??

Collapse
 
gabeguz profile image
Gabriel Guzman

In all seriousness though, to me, thinking like a programmer means:

  • Thinking about how I can automate things that I do frequently
  • Thinking about breaking problems down into their smallest components
  • Thinking about how a computer thinks, and how my solutions can be best expressed for a computer.
Collapse
 
alexandlazaris profile image
Alexander Lazaris

This is my life.

Also there are 3 points. Always have 3. Just like Andy and his cats

Collapse
 
briansotodo profile image
b

Hmm thinking about breaking problems into small pieces is like thinking "algorithmically". Right?

Thread Thread
 
isaacleimgruber profile image
IsaacLeimgruber

I don't believe breaking problems in small chunks and thinking algorithmically is the same thing at all. The first is more about reducing the big picture into small problems you can handle in your human cache memory, whereas the algorithm is an abstraction model of a good way to solve the big picture. Usually the algorithm ends up being the big picture on the implementation side. For exampke say you want to implement Djikstra's algorithm. Thinking algorithmically is thinking about what data structure you'll use because of which operation you need to perform on each step. The small chunk is the implementation of a single step or a part of a step.

Thread Thread
 
gabeguz profile image
Gabriel Guzman

Yeah, I think I agree with this. The algorithm is somewhat big-picture thinking, though to put it in code you need to chunk it into the smallest components possible to tell the computer what to do. It's a bit tricky, because while an algorithm is defined by small instructions, the algorithm itself is a composition of those instructions...