Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On this front, and to stray closer to a topic many of us spend too much time on, how do you conceptualise programs and their structure (control, data, etc, etc)?

It's clearly formalised in words (except for the occasional visual programming languages/programs), but that's mostly superficial. The actual structure, or thoughts of how to change it seem to me more abstract and often hard to explain other than by combinations of diagrams and code - but those weren't the source of the idea(s).

--> it's not clear to me that programming (which is quite clearly a conscious activity) is reducible to purely verbal or visual thoughts.

Similar comments apply to other intellectual endeavours.



I usually visualize data structures as pipe systems, and interfaces as 3D shapes around these pipe systems. One thing that took some getting used to was flipping between the interface and flow representations while navigating the abstraction graph, but learning more about nature/physics/math has helped enormously with building and practicing that intuition (and applying it in non-software scenarios by understanding natural phenomena as data structures).


I see programs as data (mostly atoms, tuples, and dicts) and a nested list of TODOs.

Each todo is a sequence of tasks, but I don't necessarily assign names to the task parts or think of them verbally. The "local variables" have names in the final code, but not necessarily in the blueprint for the sequence of tasks. The naming of things really comes in only for the dict key names when passing data around.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: