

Computer Programming as an Art (1974) [pdf] - brudgers
http://awards.acm.org/images/awards/140/articles/7143252.pdf

======
michaelwww
_When I speak about computer programming as an art, I am thinking primarily of
it as an art form, in an aesthetic sense. The chief goal of my work as
educator and author is to help people learn how to write beautiful programs._

 _When we apply our own prejudices to "reform" someone else's taste, we may be
unconsciously denying him some entirely legitimate pleasure. That's why I
don't condemn a lot of things programmers do, even though I would never enjoy
doing them myself. The important thing is that they are creating something
they feel is beautiful._

 _I want to address my closing remarks to the system programmers and the
machine designers who produce the systems that the rest of us must work with.
Please, give us tools that are a pleasure to use, especially for our routine
assignments, instead of providing something we have to fight with. Please,
give us tools that encourage us to write better programs, by enhancing our
pleasure when we do so._

Since JavaScript vs. TypeScript vs. Dart are on my mind, I just want to
mention that I have little complaint with JavaScript as a language, mostly
with the tooling. My style is to shape and rework a program until I feel it is
both correct and elegant, by my taste. Automatic error checking, refactoring
and componentization are important to me. When those things are missing, I'm
wasting time doing it manually and feel frustrated that I shouldn't have to do
this, like building a house with a hammer and a hand saw when I could be using
a nail gun and a power saw. I'm not in it for the joy of hammering and
nailing, I'm in it to build a nice house.

Note to Dart developers: forget about the advanced language features. Those
can wait to version 1.1. Just ship 1.0 as a more pleasurable way to write
JavaScript. That's how I'm using it and I suspect this will be attractive to a
lot of frustrated JavaScript developers. The evolution of C# took a decade.
You don't need to do it all at once. I'm guessing the constant changes to the
language are frustrating your tool developers.

------
yankoff
I really enjoyed reading this paper.

 _We shouldn't live in the lap of luxury all the time, since that tends to
make us lethargic. The art of tackling miniproblems with all our energy will
sharpen our talents for the real problems, and the experience will help us to
get more pleasure from our accomplishments on less restricted equipment._

------
endlessvoid94
This is indeed excellent.

How might this impact the teams of programmers around the world? In a fine art
like playing an instrument as part of a symphony, how do you balance a "style"
that you feel is beautiful with other programmers who might not feel the same
way you do?

Is it unhealthy to spend your days entrenched in code you find "bad", that is
to say, code you don't feel is beautiful? Does it stunt your own sense of
taste and style?

