Live data from Hacker News

Knuth: Computer Programming as an Art (1974)

paulgraham.com

31–40 of 110 posts

Re: Knuth: Computer Programming as an Art (1974)

#31

Earlier quoted context omitted.

> Aesthetic global optimum can never be reached Do you honestly think that writers, painters or composers doesn't know it, or it stopped them from striving? Millions of little pieces - Data modules from GHC, especially logic, lists, big chunks from Erlang stdlib, lib9, libbio, libutf from Inferno, parts of various Lisps, tons of code from carefully written books (PoFAD, PAIP/ALMA, OnLisp, etc) well-crafted projects l…

Dude, I wasn't even arguing with you. It's a true statement. My response was not meant to be in opposition to yours, it's just a remark. There was no need to say that. Don't start shit. Your comment needs to be flagged.

OK. Sorry. Flag it if you wish. It seems that I should stop reading Russian political forums.

Re: Knuth: Computer Programming as an Art (1974)

#32

On the subject of art and programming, I really like how Fred Brooks described it in "The Mythical Man-Month": The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of imagination. Yet the program construct, unlike the poet’s words, is real in the sense that it moves and wo…

This was my favourite quote from the mythical man month too: https://www.facebook.com/photo.php?fbid=10151890981137214&se...

Re: Knuth: Computer Programming as an Art (1974)

#33

Art can occur when the same person is both the source of the requirements for the program, and the implementor of the program. Much of the art is in the coming up with the specification: that is the concept in the art. The concept can be skillfully rendered into code. Concept + skillful rendering = art.

What about algorithm problems for with the most efficient Big-O solution is known? How can you "skillfully" render code when there is only one best possible way to do it? I would argue that in those cases, programming is not an art because the arriving at the solution is very mechanical and there is literally zero room for creativity. Thus imo this answer isn't broad enough to fully define "Art"

Change the constant.

Change the x that the big O is about, for example by using vector instructions.

Implement a theoretically less efficient algorithm that is faster (examples: switch to a O(n^2) sort for small data set, or to a linear search for smallish arrays)

Re: Knuth: Computer Programming as an Art (1974)

#34
post #22

I lived the day to see YC giving credit to PG for an article written by Knuth. What's next? Symphony No. 9 by Paul Graham? Theory of Relativity by Paul Graham? The Bible? :-)

Title now changed from "Paul Graham: Programming as Art" to Knuth:

OK, but why does PG host this? It's freely available: http://dl.acm.org/citation.cfm?id=361612

Re: Knuth: Computer Programming as an Art (1974)

#35

Art can occur when the same person is both the source of the requirements for the program, and the implementor of the program. Much of the art is in the coming up with the specification: that is the concept in the art. The concept can be skillfully rendered into code. Concept + skillful rendering = art.

> Art can occur when the same person is both the source of the requirements for the program, and the implementor of the program. Unfortunately, that is frequently also the recipe for a big ball of mud [1]. I guess the beauty is in the eye of the beholder... [1] http://www.laputan.org/mud/

Causal isolation from other humans is a risk factor in muddled thinking and poor architecture. Adding people to a project does not make it any less likely to become muddy, though.

Re: Knuth: Computer Programming as an Art (1974)

#36
Programming is much more of a craft than it is either an art or a science. Good craftsmanship combines beauty with utility, as does good coding.

Programmers work with abstractions, rather than with wood or clay. And their craft is as cerebral and intellectually demanding as an art or a science. But it's still a craft.

Re: Knuth: Computer Programming as an Art (1974)

#38
post #8

> Meanwhile we have actually succeeded in making our discipline a science, and in a remarkably simple way: merely by deciding to call it "computer science." Well not only that but we actually stuffed two misnomers in there. It is not really a science, and it is not really about computers. Chip design, graphics, storage, input devices is more about computers as such.

Peter Naur (who unfortunately passed away recently) suggested the term "datalogy", to indicate that computer science doesn't necessarily have anything to do with computers, but instead is about the treatment of data[0]. The term "datalogi" is actually used in Denmark instead of "computer science".

0: https://en.wikipedia.org/wiki/Computer_science#Name_of_the_f...

Re: Knuth: Computer Programming as an Art (1974)

#39

Programming is much more of a craft than it is either an art or a science. Good craftsmanship combines beauty with utility, as does good coding. Programmers work with abstractions, rather than with wood or clay. And their craft is as cerebral and intellectually demanding as an art or a science. But it's still a craft.

If I recall correctly this was Brooks stance - can't remember if it was the mythical man month or one of the related essays. But they're approaching it from different angles: Brooks manifesto was very much in the commercial setting. Knuth perhaps inhabits that more platonic problem domain. For me it's quite a philosophical pursuit and for those programming in an applied scientific context maybe it's more em scientific.

Re: Knuth: Computer Programming as an Art (1974)

#40

On the subject of art and programming, I really like how Fred Brooks described it in "The Mythical Man-Month": The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of imagination. Yet the program construct, unlike the poet’s words, is real in the sense that it moves and wo…

Bertrand Russell also had this to say: Mathematics, rightly viewed, possesses not only truth, but supreme beauty—a beauty cold and austere, like that of sculpture, without appeal to any part of our weaker nature, without the gorgeous trappings of painting or music, yet sublimely pure, and capable of a stern perfection such as only the greatest art can show.

I think this could equally be said for computer programming, except it is given life. We can see theory animated.

Post reply on HN