The Artima Developer Community
Sponsored Link

Weblogs Forum
Writing Software is Like ... Writing

54 replies on 4 pages. Most recent reply: Mar 30, 2010 2:22 AM by Florin Jurcovici

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 54 replies on 4 pages [ « | 1 2 3 4 ]
Vincent O'Sullivan

Posts: 724
Nickname: vincent
Registered: Nov, 2002

Re: Writing Software is Like Engineering. Ditto. Posted: Jun 8, 2009 4:25 AM
Reply to this message Reply
Advertisement
> Which reminds me of something: somebody said a long time
> ago that if civil engineers built houses the way
> programmers build programs, the first bird to come along
> would be the end of civilization.

> Which is a perfectly
> valid statement, as long as programmers need to do plans
> for something with only a fraction of the money engineers
> get for making the plans of something similarly complex.
> Most of the times, there is no way we can do the same
> amount of formal validation of our work as other engineers do, with the money we get.

If what you said about the money that engineers get was true, I'd still be an engineer. Money (or rather, the lack of it) was one of the factors that persuaded me to switch from engineering (mechanical) to programming.

Florin Jurcovici

Posts: 66
Nickname: a0flj0
Registered: Feb, 2005

Re: Writing Software is Like Engineering. Ditto. Posted: Jun 8, 2009 3:39 PM
Reply to this message Reply
> If what you said about the money that engineers get was
> true, I'd still be an engineer. Money (or rather, the
> lack of it) was one of the factors that persuaded me to
> switch from engineering (mechanical) to programming.

I didn't mean the money engineers/programmers get. I meant the money that engineering/programming _projects_ get. A new car is developed by maybe hundreds of engineers over several years. There are (well, were) several companies out there gettting new car projects out the door each year. How many custom software projects do you know that were similarly well financed?

On the other hand, I think you didn't work as an engineer in research and design, did you? Because as far as I can tell, engineers developing new cars are by far better paid than the average programmer. And so are engineers designing new, landmark skyscrapers. Even if the ppl with the money expect the same quality of creative work from both the outstanding top-notch mechanical or civil engineer and the average programmer.

Thomas Krueger

Posts: 1
Nickname: vpw0
Registered: Jun, 2009

Re: Writing Software is Like ... Writing Posted: Jun 10, 2009 2:37 PM
Reply to this message Reply
I am a technical writer by trade with some programmer training, enough that I can read many of the old langauges, and with a reference manual, write a few.

The analogy of programming to creative writing is flawed. Creative writing affects different people in different ways; in fact, it's supposed to do that. I think we can all agree that a program had better return the same result with the same input every time.

Now, a much better analogy is programming and technical writing. Consider:

Programmers write programs that run on computers. Technical writers write programs (procedures) that run on computers (people). Both are designed to get work done. Both must be accurate and repeatable. Both must run without error.

And, if there's a problem, it's the programmer's (technical writer's) fault!

Tom

Shane Lindsay

Posts: 1
Nickname: hazelrah
Registered: Jun, 2009

Re: Writing Software is Like ... Writing Posted: Jun 23, 2009 12:11 AM
Reply to this message Reply
When you think about it, all the rules that people try to apply to creative writing apply to software writing as well. All of the following have helped me both as a developer and as a writer:

1) Second Draft = First Draft - 10%

2) Remove Redundant Words

3) Rewrite for clarity

4) Stick to "What happens next" (i.e. don't bore the audience or get lost in unneccessary functionality).

Really, the biggest thing for me is rewriting. First drafts always suck, whether their novels or programs.

Paul Sholar

Posts: 1
Nickname: sholarpk
Registered: Jul, 2009

Re: Writing Software is Like ... Writing Posted: Jul 12, 2009 6:45 PM
Reply to this message Reply
I'm really surprised that this topic is still being addressed by sophisticated programmers in 2009. I was formerly a programmer in the 1980s but left the field because the level of intelligence of the available tools, especially for debugging, was so low that programming felt like scratching on rocks. On the other hand, I also came to believe that to become a *good* software developer entailed becoming an engineer in the most general sense of the word.

My point of view is that a computer program is encoded intelligence about how to accomplish a task. Today this encoding takes place at a relatively low level because both our computing machines and the software that they can perform are still relatively rudimentary.

So by writing a program, the programmer is describing a set of knowledge about the world to the computer. In turn, this means that the programmer is basically engaged in a large-scale "knowledge transfer" endeavor from humanity into machines, the result of which is that eventually the machines become "intelligent." It is possible that this endeavor can turn out to be a good thing for the human race but not necessarily for human politics, as this large-scale knowledge transfer tends to centralize knowledge in the hands of the few (who own an ever more powerful computing infrastructure).

--Paul (Twitter: @bkwdgreencomet)

Florin Jurcovici

Posts: 66
Nickname: a0flj0
Registered: Feb, 2005

Re: Writing Software is Like ... Writing Posted: Mar 4, 2010 3:26 AM
Reply to this message Reply
Just found an (rather old) article describing my views on writing software better than I can do it myself, seemingly: http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.htm

Andy Dent

Posts: 165
Nickname: andydent
Registered: Nov, 2005

Re: Writing Software is Like ... Writing Posted: Mar 27, 2010 9:02 PM
Reply to this message Reply
> I would argue that literate programming never caught on.
> What has made it into the mainstream is javadoc,
> sandcastle and doxygen. But these tools tack documentation
> on code, rather than making coding an exercise in
> literature.

I'd just like to respectfully disagree with regards to doxygen at least. It makes it very easy to write entire essays which refer to the code as "pages", working much like a wiki that also includes your code. That's how I have grown to use it over a number of years, much to the appreciation of my clients and the software teams to which I've introduced the idea.

Florin Jurcovici

Posts: 66
Nickname: a0flj0
Registered: Feb, 2005

Re: Writing Software is Like ... Writing Posted: Mar 28, 2010 1:33 PM
Reply to this message Reply
> What I'd like to preserve is the radical difference of
> programming and that it originates from the bit and not
> from the sound of the spoken word and the linear
> organization of symbols. It's mostly writing today but not
> limited to it and writing doesn't capture its essence
> neither does source code. We are lacking an existential
> and phenomenological account of what programming is in its
> own right. But so what? The 21st century will give birth
> to a philosopher who will finally get it - at least I hope
> so.

Although I agree that programming is not like writing, I don't agree that some new, non-textual way of formalizing programming is needed. There's nothing linear about how modern IDEs organize and present source code. Human thinking was never linear. Nevertheless, textual representation was always usable to represent whatever non-linear thinking process needed to be represented. We use language (written text) to express the symbols and structures we use for thinking. We write programs as instructions for a machine to perform what we already performed mentally. I can see no reason why this will change, and we'd suddenly start instructing machines using a system fundamentally different than what we use in our heads.

There were several attempts during the short history of programming to develop alternative ways of representing programs. As far as I can tell, none worked better than text. Or we'd all program in diagrams or some other graphical symbols already. IMO, the problem with alternative representations is that there's nothing as general as text.

Andy Dent

Posts: 165
Nickname: andydent
Registered: Nov, 2005

Re: Writing Software is Like ... Writing Posted: Mar 29, 2010 12:51 AM
Reply to this message Reply
I'm a professional software developer with over 25 years experience who is also a creative writer, albeit with little published so far. I'm an ongoing student of development and thinking processes and I have an unfortunate tendency when interested in any topic to buy a few books about it (Amazon loves me).

There is no single discipline or approach of writing that you can generalise as a comparison to software development. One of the interesting things about this comparison is how many similarities there are between different approaches to writing - practically every way that people develop software has an analogous school of how to write and usually a few popular books on how to write using that approach. Whether it be an incremental, agile approach, utterly chaotic or rigorous waterfall, someone has already taught this as the way to write novels, screenplays etc. ;-)

So, in a simple sense, the original premise is correct - writing software is like writing and there is no one way to do either. Ultimately it all comes back to an individual being able to get their ideas out in a sequence that is acceptable to their audience. Hopefully that means the audience understands things the same way as the author but it's not guaranteed.

Maybe, writing software is like writing for critics?

Florin Jurcovici

Posts: 66
Nickname: a0flj0
Registered: Feb, 2005

Re: Writing Software is Like ... Writing Posted: Mar 30, 2010 2:22 AM
Reply to this message Reply
> Maybe, writing software is like writing for critics?

Idunno. I'm not a creative writer, so I don't know how smart critics are. Computers, however, are complete idiots with huge processing power and enormous speed. One could therefore argue that writing software is like writing for brilliant idiots :D

Flat View: This topic has 54 replies on 4 pages [ « | 1  2  3  4 ]
Topic: Self-bounding generics Previous Topic   Next Topic Topic: Heron Tackles the WideFinder Challenge


Sponsored Links



Google
  Web Artima.com   

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