Hacking and painting have a lot in common. In fact, of all the different types of people I've known, hackers and painters are among the most alike.
What hackers and painters have in common is that they're both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. They're not doing research per se, though if in the course of trying to make good things they discover some new technique, so much the better.
(Graham: p. 18)
If Graham is right, this concept of the programmer as an artist should also effect the way we view programming languages:
Realizing this has real implications for software design. It means that a programming language should, above all, be malleable. A programming language is for thinking of programs, not for expressing programs you've already thought of. It should be a pencil, not a pen.
(Graham: p. 22)
This takes Graham down a path where he clearly prefers "hacking languages" to the researcher's favorite tools, beautiful in their perfection but almost completely useless for real work. After all, what good is the best programming language if nobody writes programs in it? Researchers in their ivory towers don't appear to care about a language's malleability but rather about its internal logical consistency or originality. After all, academic research prizes that over anything else. The real world, though, cares about flexibility and ease of use. In that realm, a language that's highly malleable is far more important than a perfectly consistent but highly abstract paper. It shouldn't surprise us, really. It's no different when it comes to natural languages. How many times have people tried to design and new perfect human language without much success? We continue relying on our old, patchy languages.
No hay comentarios:
Publicar un comentario