The Artima Developer Community
Sponsored Link

News & Ideas Forum (Closed for new topic posts)
Coding: A Writer's Perspective

3 replies on 1 page. Most recent reply: Dec 20, 2002 6:57 AM by John Naylor

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 3 replies on 1 page
Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Coding: A Writer's Perspective Posted: Dec 11, 2002 10:40 AM
Reply to this message Reply
Advertisement
Gervase Gallant has published an article on Javazoid that compares coding to prose writing, and suggests software designers would benefit from looking at the process of producing quality writing.

http://www.javazoid.com/CodingWritersArt.html

Here's an excerpt:

I've been writing code for a long time...more than a decade and I've always wondered why the process of writing code couldn't be as natural as the process of writing prose.

Developing code is often considered an "engineering" activity. You can see this by the way many developers build code - starting with a design phase, which may include diagrams and specifications. Prototypes are launched. A lot of typing happens. Refactoring occurs. Testing, optimization and deployment soon follow. Not all of these are necessarily specific to this paradigm of the engineering activity, but there isn't much here that would lead me to believe that software development, and specifically the act of authoring code, is an art form.


To what extent do you think code writing is like prose writing, and what aspects of the prose writing process can be applied to code writing?


Matt Gerrans

Posts: 1153
Nickname: matt
Registered: Feb, 2002

Re: Coding: A Writer's Perspective Posted: Dec 13, 2002 1:25 PM
Reply to this message Reply
I agree with the premise that writing (good) code is more of an art or a craft than an engineering discipline.

I think for a long time, people have struggled to frame writing software as "engineering" in a quest for respectability. However, I don't think it is even necessary to claim it is engineering. Engineering (elecrical, mechanical, civil) is bound and shaped by physical laws, while software isn't so constrained (yes, there are the constraints of processing speed, memory, monitor resolution, etc., but there is still more room for creativity).

One of the things that has always impressed me as a contrast between engineering and software, is that with engineering, if you have the necessary intelligence combined with knowledge (in physics, mechanic, electromagnetism and so on) you can use reason alone to figure out how or why something (a bridge, a circuit, etc.) works based on natural laws. This is not at all true with software (with perhaps the exception of Python ;-). Often, when trying to compose software, you simply must know (or be able to find) how something works (popping up a window behind another, determining the processor speed, putting a checkbox on a button) and there is often no particular logic or underlying natural law to mandate how it works.

Gervase Gallant

Posts: 6
Nickname: gervase
Registered: Dec, 2002

Re: Coding: A Writer's Perspective Posted: Dec 18, 2002 6:07 PM
Reply to this message Reply
If, over the next generation, coding starts to be generated from Rose diagrams or "intentional" modules, I think we can say it is an "engineering" activity.

If Agile methodology really takes off, you might get the impression it is a "craft", with the artisan/apprentice relationship built into the methodogy.

If it tends to be done by individuals using keyboards and working alone -- I think we should treat it as a "writing" activity. Our methodologies should gear themselves to those of publishing firms...

John Naylor

Posts: 1
Nickname: jnaylor
Registered: Dec, 2002

Re: Coding: A Writer's Perspective Posted: Dec 20, 2002 6:57 AM
Reply to this message Reply
i enjoyed this article. i am an engineer, writer wannabe, turned java developer. the similarities exist between writing and coding, or at least they should. i often tell my co-workers their code should read like a good book, instead of an encrypted message. the part i enjoy the most is discovering the plot while i am coding, much the way characters really come to life during the writing. i believe xp supports this with the notion that we cannot know everything up front.

after reading many lines of code in corporate america, this art is sorely lacking. someone should write a book about this to inspire the writers of tomorrow.

Flat View: This topic has 3 replies on 1 page
Topic: All Source Code Should Be Open Previous Topic   Next Topic Topic: Survey on Agile Methodologies


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2017 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us