View Single Post
Old 09-26-2008, 10:00 PM   #7 (permalink)
Steve Pavlina
Administrator
 
Steve Pavlina's Avatar
 
Join Date: Oct 2006
Location: Las Vegas, NV
Posts: 3,868
Steve Pavlina has disabled reputation
Default

Quote:
Originally Posted by RRR View Post
Ps. Steve. Have you ever thought about how important becomming a computer programmer has been toward your writing ability? The ability to be consise and find underlying patterns, to apply them in various situations instead of reinventing the wheel, these are all things one learns in computer programming; I feel years of computer programming are very evident in the elegance of this book. (Edit: I feel almost as if I'm quoting you from the blog involving Ultima..I'll check it out)
Wow -- that's an amazing insight.

I didn't give that much thought while I was writing the book, but looking back, I can clearly see that I approached the writing of the book much like designing a software program.

Specfically, I remember deciding that the chapters had to have strong cohesion and loose coupling, which are concepts from modular programming. I wanted the ideas in each chapter to belong together and form a complete thought, and I also wanted there to be minimal overlap between one chapter and the next. This is very challenging to do (with software and with writing), but the payoff is that you end up with something that feels elegant.

I also used the programming concept of encapsulation, where low-level concepts are contained in a hierarchy beneath high-level concepts. So you can relate to each concept at different levels. When viewed from the highest level, everything looks pretty simple.

I think anyone who reads the book will notice that it's much more structured than other books in the field. Each chapter is designed to serve as a complete piece on its own.

So yes, I'm sure that being a programmer for so many years gave me a different mindset toward writing the book. I can see elements of object-oriented programming in the book's design. Even the chapters in Part I are layed out with declarations (definition and explanation of concepts) followed by functions and procedures (actions and how-to exercises).

That's a neat way of looking at it. At the time I didn't even realize I was thinking in those terms because they're so deeply internalized from years of programming.

Onward to:

promote_book();
__________________
Steve Pavlina
www.StevePavlina.com (Twitter page, Facebook page)
Get my book Personal Development for Smart People

I'm a human alarm clock. I awaken people who are sleeping through life. Then I duck.
Steve Pavlina is offline   Reply With Quote