1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<?xml version="1.0" encoding="UTF-8"?>
<book xmlns="http://docbook.org/ns/docbook"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="creative-code"
version="5.0">
<!-- {{{ Bookinfo -->
<title>Creative Code</title>
<info>
<author><personname><firstname>brian</firstname><othername>m.</othername><surname>carlson</surname></personname></author>
</info> <!-- }}} -->
<chapter>
<title>An Introduction</title>
<para>
Many aspects of our society split us into two groups. What these
two groups are called varies, but one could roughly categorize them
into those that, upon graduating from college, have a Bachelor of
Arts degree versus a Bachelor of Science degree. In other words,
those in the arts and humanities and those in math and the sciences.
</para>
<para>
We label those in the former group as <quote>creative</quote>, but
those in the latter group are not necessarily any less creative.
For example, William Carlos Williams was a well-known poet, but he
was also trained as a medical doctor. He obviously had no lack of
skills in either the scientific realm or the creative.
</para>
<para>
And also, many people feel threatened by computers. They assume
that programmers and other techies are exceptionally intelligent and
wizards of that mystical device, the computer. But few of these
people know that programming is not that difficult. Like anything
else, programming <emphasis>well</emphasis> takes skill, but the
basic building blocks are very simple.
</para>
<para>
The catch here is that both those in the humanities and those in the
computer fields are attempting to communicate. Obviously, there are
differences. In the former, one may be trying to communicate subtle
emotional concepts and in the latter, there are functional aspects
as well. But overall, these forms of communication are very
similar.
</para>
<para>
Writing a computer program is an exercise in not only communicating
to the computer, but also communicating to other programmers who
will read your code. Almost all programming languages offer a
method of commenting code: providing arbitrary text to explain how
or why the code works the way it does. And programming also has
many of the things we find in human languages, including idioms.
If I want to do something ten times, there is an idiomatic way to
express that. If another programmer reads my code and sees the
idiomatic way that I have expressed that, he immediately knows what
I am doing. If, on the other hand, I express the code in a
different way, he will pause and examine more closely what I am
doing, on the theory that I have done it differently for a reason.
</para>
<para>
And this is true in, for example, literature. A writer will of
course draw on things that are known in popular culture. A
well-known book, <citetitle pubwork="book">Tales of the
City</citetitle>, was originally published in serial form.
There are references that most readers in the 1970s would be
familiar with; for example, Tab. While Tab is still sold, it is not
nearly as popular as it once was. Also, it is common to draw on
other literature, including the Greek and Roman classics.
</para>
</chapter>
</book>
|