4. Programmers often describe code as
being more beautiful or elegant than
other code. Talk to enough
programmers and you'll hear some
piece of code described as beautiful,
sooner or later.
They see what makes it tick,
appreciating the beauty of its
construction.
Seems that they think that code can
have form, pattern and a special
elegance and grace.
5. You maybe not believe that writing
code is a creative process, let see
Creating a code project requires: an idea and skills.
A code project require skills like programming language, using of
algorithms and design patterns.
Creating a piece of art requires: an idea and skills.
A piece of art could require skills like representational drawing,
perspective, shading, or color theory.
Programming requires creative thinking. You have a problem,
form a hypothesis about a solution, and then figure out how to
test that hypothesis and implement its findings. That all requires
creative thinking.
7. The art of cooking.
The art of negotiation.
The art of conversation.
The art of war.
The art of crochet.
But, what is art?
8. If we go back to Latin roots, we find ars, artis meaning "skill." It is
perhaps significant that the corresponding Greek word was
τεχνη, the root of both "technology" and "technique."
Wikipedia definition said
"Art can also simply refer to the developed and efficient use of a
language to convey meaning with immediacy and or depth."
But, what is art?
Definition
9. But, what is art?
"After a certain level of technological skill
is achieved, science and art tend to
coalesce in aesthetic plasticity and form.
The greater scientists are artists as well."
Albert Einstein 1923 from Alice Calaprice, The New Quotable Einstein.
+ quotes
Art and Science
10. . Skill and techniques.
. And efficient use of a language to convey meaning .
. A level of technological skill achieved.
But, what is art?
Then art is...
Then programming can be art!!
11. Opinions on Art and Programming
"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 the imagination.
Few media of creation are so flexible, so
easy to polish and rework, so readily
capable of realizing grand conceptual
structures."
Frederick P. Brooks, Jr., The Mythical Man Month
12. Opinions on Art and Programming
"What hackers (hobbyist programmers)
and painters have in common is that
they're both makers. Along with
composers, architects, and writers, what
they are trying to do is make good things."
Paul Graham, Hackers and Painters
13. "We have seen that computer programming
is an art, because it applies accumulated
knowledge to the world, because it requires
skill and ingenuity, and especially because
it produces objects of beauty. A
programmer who subconsciously views
himself as an artist will enjoy what he does
and will do it better."
Donald Knuth's author The Art of Computer Programming
Opinions on Art and Programming
14. Opinions on Art and Programming
"I would describe programming as a craft,
which is a kind of art, but not a fine art.
Craft means making useful objects with
perhaps decorative touches. Fine art
means making things purely for their
beauty.
Richard Stallman, founder of the GNU Project and the Free Software
Foundation.
16. What is art in code?
Elegant code adopts aesthetics to achieve high maintainability.
Code must be short, simple, easy to read, easy to match to its
business purpose, and doesn't unpleasantly surprise your
teammates.
There are many ways to write a sentence (as a piece of code) to
a machine but not all are art.
17. Same sentence may be considered a master peace by one programmer
What is art in code?
18. What is art in code?
... and bullshit by another.
20. What is not art in code?
For some reason, many programmers seem to think their role is
to write code that makes things work. It’s not.
Just like “the grass is green and the sky blue” is not literature,
although it might perfectly describe the environment, coding
something that "just works" is not programming.
Determining what is and is not bad code is often a subjective
judgment, and will often vary by language, developer and
development methodology.
21. What is not art in code?
We've all heard about the term "spaghetti code" or "code smells"
23. I want to make art!
Read books
The Pragmatic Programmer: From Journeyman to Master
Code Complete: A Practical Handbook of Software Construction
Clean Code: A Handbook of Agile Software Craftsmanship
Surf in other code
https://github.com/explore
https://code.google.com/hosting/
http://www.ohloh.net/
24. I want to make art!
Follow blogs, web and interesting people
Coding Horror
Improve your skills
Learn, code, code, code and have fun.
26. All that glitters is not gold
80% of the lifetime cost of a
piece of software goes to
maintenance.
Hardly any software is
maintained for its whole life by
the original author.
We have predefined specs, with fixed deadlines impossible to
modify because that will cause a disturbance in the Force.
27. All that glitters is not gold
"When programmers work with other
programmers we are bound strongly by
convention, coding standards,
documentation standards and so on.
Programming is definitely a craft requiring
high levels of skill, but IMO it is not art."
Erik de Castro Lopo, coauthor of C for Linux Programming in 21 Days and
developer of Linux audio library libsndfile
28. All that glitters is not gold
The existence of process in the actual practice of code writing
makes it tempting to dismiss programming as art, but if we
broadly take the process as consisting of idea, design, and
implementation, then we can see that these process are more
like artistic currents for artists.
Like artistic currents programmers have code standards, coding
style, process that over time have changed.
30. I want to make art at work too!
Define coding convention.
Naming, comments, best practices ...
Do not work individually.
Define coding style.
space or tabs, Indent style, ...
Define process to follow.
Testing, documentation, code review, teach / learn from other teammates.
34. Why do I need to do it?
Code is read much more often than it is written.
"Always code as if the person who ends up maintaining your
code is a violent psychopath who knows where you live."
36. Bibliography
Art versus Science?
Knuth: Computer Programming as an Art
Art and Computer Programming
Programming is an Art
Software is Art
Code == Art: One Tiny, Simple Supporting Argument
Hackers & Painters Big Ideas from the Computer Age
Forget Passion, Focus on Process
Programmer Is NOT a Poet
37. Art and code resources
Code art
Raven Kwok’s work
http://abandonedart.org/
Poem code cryptographic method.#songsincodeProgramming-Poetry deviantart
code {poems}
Beautiful Motion Graphics Created With Programming: Showcase, Tools and Tutorials
Hacker Art
Learn
Coding Horror
The Pragmatic Programmer: From Journeyman to Master
Code Complete: A Practical Handbook of Software Construction
Clean Code: A Handbook of Agile Software Craftsmanship
The Art of Computer Programming