news.volyx.in

Programming Is Mostly Thinking (2014) (agileotter.blogspot.com)

891 points by ingve · 846 days ago · 322 comments on HN

Article summary

The article discusses how programming is mostly about thinking and problem-solving, rather than just writing code. It highlights that a significant amount of time is spent understanding the code, deciding how to make changes, and communicating with others. The author argues that the actual coding process is a small part of the overall development time. The article also touches on the idea that programmers work in a social context and that their results are integrated into a shared code base.

Main themes

  • Programming as thinking
  • Problem-solving
  • Code quality
  • Software development process
  • Collaboration
  • Algorithmic thinking

What commenters say

  • Developers should learn to think algorithmically and use data structures and algorithms to solve problems efficiently.
  • Large Language Models (LLMs) can generate code, but it is unclear whether they truly think algorithmically or just use probability and randomness.
  • Simple and durable code is often preferable to complex and clever code, as it is easier to maintain and understand.
  • The Don't Repeat Yourself (DRY) principle is often misunderstood, and abstraction should be used to encapsulate behaviors that need to be synchronized, not just to avoid repeated code.
  • Starting to write code immediately can be beneficial, even if it's not perfect, as it allows for rapid prototyping and iteration.
  • Diagrams and planning can be useful for complex projects, but may not always be necessary or effective.
  • Some argue that programming is more about typing and less about thinking, with 90% of the work being just typing, while others disagree and emphasize the importance of thinking and problem-solving.
  • The concept of thinking algorithmically is not well-defined and may vary depending on the context and individual perspectives.