Hacker News new | ask | show | jobs
by mauritzio 2127 days ago
A prerequisite of drawing is knowing the thing you draw p.e. the human anatomy and knowing the perception tricks your brain does with the visual input and being able to master the physical use of a drawing tool in its variety. Then you compose with a goal in mind and observe very open, patiently and detailed while you make suggestive visual marks such that some details will work together to form a whole unity, and the whole supports the natural detailed variety. Playfully arranging paths for the eye of the viewer, such that while it travels over the drawing the perception meeting the viewers inner mental model of the world triggers an emotional response. Each of these things can be trained, and even non gifted can achieve reasonable results. You can use simplest tools and as long as human brains do no change too much they can relate to drawings which are 2000 years old.

For coding you must know how a program statement works, how hardware and virtual resources are working and ideally have a systematic analytical approach to construct and to define, identify and resolve misbehaviors. Have a mental goal how all peaces should work together, how they form a rigid stable architecture of unity, while also allowing a variety in further desirable transformations. Envision all possible desirable state and machine changes during runtime and later system extension and avoiding unwanted ones. At this point it leaves the right/wrong world view. Cutting an architecture out of the solution space of all possibilities, growing from bare bones, little peaces to a complete system. Each of these things can be trained, and even non gifted can achieve reasonable results.

While we can learn from good drawings it is not so easy to learn from good programming examples.

The problem with code is that while we are often working with same principles like imperative functions and stack machines since 50 years, the technical application environment is still constantly scaling up and while it is conceptually never new it keeps working only during short periods, so no long term solution are envisioned. Further more the result is not open to an easy perception or naive judgement (besides app rating maybe) and the result is often unlinked to the creator. An envisioned whole system is no longer needed as we have monopolized systems, wich updates we all follow frightened to 'reduce' risk. Resources like memory are scaled up without limits, the number of programmers rises and we are told to work in teams achieving very well paid very mediocre short living results. So the art of coding is on decline and while the 'management' of churning out buttons on 'app' screens, pasting stuff and fiddling in frameworks called consulting is on the rise. In absolute numbers maybe good programming examples where never as easy accessible as today, but is often buried below all the noise and not very rewarded. Probably the result of the economical success of the applied art of coding.

So for an coding artist fiddling with a pencil and paper to make something out of nothing can be again very rewarding... or maybe fiddling with vi and compilers etc. :-D