The Author & How This Book Came to Be
I am not going to give you an autobiography here — maybe I will write one sometime (I even have titles for a three-volume autobiography: 'Falls for Fun', 'Throws for Thrills' and 'Hold-downs for Happiness'. To appreciate those you need to know that I was once President of the Oxford University Judo Club).
However you do need to know why I think I am especially qualified to write a book for those wanting to learn about computer programming.
After I left University I went into teaching Mathematics. I spent the first five years of my teaching career in what was then called a 'Secondary Modern' school. Such British schools were aimed at non-academic pupils in the age range 11 to 16. I chose to teach in such a school because I wanted to hone my teaching skills and learn to motivate students whose self-esteem was often very low. The measure of my success is that several of my students went on to university at a time when the UK universities were providing largely for the top ten per cent academically.
As part of yet another educational re-organisation the school where I was teaching combined with a 'Grammar' (taking the upper academic range). I continued to teach there for another two years before moving to become Head of Mathematics at another Secondary Modern (11 — 16) school that was embarking on becoming a Comprehensive (all abilities 13 — 18) school. Eventually, having acquired considerable expertise with computers, I took over responsibility for all the computing in the school. In 1987-8 I was suffering increasingly badly from stress-related illnesses and was compulsorily retired from teaching and had to go and find something else to do with the next part of my life.
The upshot was that alongside running a very laid back computer consultancy for small local businesses and individuals in Oxford I became involved with a group of programmers who were enthusiastic about C. This quickly led me to editing their newsletter and soon after to election as chairman of what was eventually to become ACCU. This also led me into involvement with the British Standards Institute panels for standardising C (originally developed in the 70's by Dennis Ritchie) and C++ (a new language derived from C during the 80's by Bjarne Stroustrup).
In turn that involvement led me to presenting advanced training courses in both C and C++ as well as becoming increasingly involved at international level with both languages. Eventually I came to be the default Head of Delegation from BSI to the ISO committees responsible for C and C++.
Alongside my work on Standards and presentation of programming to professional programmers I had established ACCU as the principle public reviewer of books aimed at all levels of C and C++ programmer. I have a track record for fiercely criticising books for novices either because they were technically inaccurate or because their authors did not understand the needs of those for whom they claimed to be writing.
My background has made me particularly well qualified to write for novices. I know how to teach both experienced adults and, sometimes poorly motivated, adolescents. I know both general programming and the specifics of C++. I have a good working relationship and friendship with many of the World's C++ experts. I have also honed my writing skills for nearly fifteen years as editor of one publication (C Vu) and contributor to several (C Vu, Overload, EXE Magazine, as well as several one-off commissioned pieces.) I was shocked to discover a few years ago that my published writing exceeded a million words.
I have reviewed many (987 at the time of writing) books over the last fifteen years. Mostly I have reviewed books aimed at programmers. Those reviews are available on the ACCU book review site. The process of reviewing and getting many others to review books has established a relationship between me and all the major publishers of computing books. This meant that when I came to write my first book I had the freedom to write exactly the book I wanted to rather than be pressurised into writing a book with too many different objectives. I do not believe that it is possible to write a book aimed at real beginners while also trying to write for those who are just new to a specific computer language. Publishers' marketing departments like books with wide-range target audiences because they do not understand how that makes a book less good for all its potential readers.
The final element was that through my work as a computer consultant I had developed a friendship with an ideal subject on whom to try my ideas about learning to program. Roberta was a director of a family business for whom I provided computer consultancy services. She finally told me that it was time that I stopped saying what was needed and got down to providing it. She volunteered to be the guinea pig.
The end result is a book that took nine months to write and almost six further months to polish. It is probably not perfect but I am certain that it is the only book about programming that does not make unwarranted assumptions about the reader. It is not a book for those who can already program successfully. It does not expect you to understand computer jargon, or I hope it does not. It does introduce you to all you need to know and understand in order to write successful programs for yourself, your family and your friends.
It has been through several working titles such as 'Programming for Virgins' (yes, writing a successful program can give you an almost orgasmic thrill, but no adolescent is going to be seen reading a book with that title), 'The Joy of Programming' (the right message but tainted by other computer books using similar titles) to 'You Can Do It'. That was intended to be the main title until some executive at my publisher pointed out that electronic searches for books on programming would miss it. The result is that this is one of the few books where the sub-title is given more prominence on the cover than the main title.
You Can Do It is innovative in many ways but most importantly I believe I both know the subject and understand the needs of the reader. I hope you will try it, and discover that it meets your needs and helps you discover the programmer that is within you.
Roberta Allen
There are two ways that you can find out a bit more about me; you can read the Introduction to You Can Do It which is provided as a PDF file here or you can visit my own Home Page (I keep telling Francis that he should have a home page of his own)