Hi all,

This is my first post on this list, so let me introduce myself. My name is 
Shlomi Fish, I am an Israeli software developer, essayist and writer, and you 
can learn more about me about from my homepage - http://www.shlomifish.org/ - 
and about my involvement in wikipedia and other wikimedia and non-wikimedia 
wikis here:

* http://en.wikipedia.org/wiki/User:Shlomif

(My Wikibooks user page is as expected - 
http://en.wikibooks.org/wiki/User:Shlomif ).

I am the main author of the 
http://en.wikibooks.org/wiki/Optimizing_Code_for_Speed E-book, which I've 
written instead of my usual "write-in-DocBook/XML-or-HTML-and-publish on my 
"personal web-site" as an experiment. In any case, I finished writing most of 
what I wanted to say there, and a few days ago split it into individual pages 
to follow the wikibooks convention. There may be some relatively minor changes 
I'll integrate there in the future, but I consider it a finalised project.

To get to the point, someone added a template there that "This book requires 
that you first read http://en.wikibooks.org/wiki/How_to_Write_a_Program ". 
However, "How to Write a Program" is crudely written, extremely short, lacks 
enough coverage of most main "how-to-achieve-software-quality" methods and 
methodologies and I wouldn't recommend that anyone reads it in its current 
form, whether they know a thing or two about software engineering or not.

I tried to improve http://en.wikibooks.org/wiki/How_to_Write_a_Program a 
little, and worked on:

http://en.wikibooks.org/wiki/How_to_Write_a_Program/Before_you_start

However, the later chapters proved to be more difficult, in part given that 
they don't match my personal software development style and because they 
written in monlithic paragraphs. 

I eventually had decided to start writing this book as an alternative:
http://en.wikibooks.org/wiki/How_to_Achieve_Software_Quality which aims to be 
a more well-rounded coverage, but it: 1. will naturally take some time to 
write, and 2. At time seemed like it would be too heavy a reading material 
before my optimising code for speed essay.

To add more to the confusion, a few days ago I added this:

http://en.wikibooks.org/wiki/Optimizing_Code_for_Speed/Introduction#Intended_Audience

Reading it, it seems that either the "How to Write a Program" pre-requisite is 
not needed , or should be replaced by the resources I pointed to over at 
http://teachingopensource.org/ . I admit I'm the primary author of the wiki 
page I refer to there (but not of the book they are working on) so I may be a 
bit biased.

I'm reluctant to simply remove the pre-requisite because I hate deletionism 
and similar vandalism (however good-intentioned), and because a good coverage 
of software engineering philosophy should be considered as a pre-requisite for 
a book about code optimisation.

Now, I've also written
http://www.shlomifish.org/philosophy/computers/high-quality-software/rev2/ 
(CC-by and DocBook/XML - should be easily wikibookable) which aims to answer 
the question "What Makes Software High Quality?" but also covers some ways to 
actually makes them so. Personally, I am on the opinion that if your program 
is of high quality, then how this quality was achieved is not too important, 
as long as it did not take too much time, cost too much money, cost in too 
much unhappiness, etc. I know for a fact that some teams with poor or no 
software engineering can often achieve decent results. 

Therefore, if we agree that a programmer should just be aware what makes a 
piece of software good, rather than of the myriad of ways to attempt to 
achieve it (which have been a topic of ongoing research and publications for 
many decades now, and are a topic of a lot of debate.), then we can just 
wikibookify and polish my "high quality software" article and make it a 
prerequisite.

What are your thoughts?

Regards,

        Shlomi Fish

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
My Aphorisms - http://www.shlomifish.org/humour.html

Chuck Norris can make the statement "This statement is false" a true one.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

_______________________________________________
Textbook-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/textbook-l

Reply via email to