Real Programmers - no impossible code
I consider programmers as real programmers only if they attempted to write something like an editor or a word processor. My favorite interview question is “Did you write a word processor?” This probably explains why my team is small
Why? Because writing a word processor shows your determination, persistence and if you are successful - understanding of OO principles. Even Gang of Four in their seminal book
Design Patterns: Elements of Reusable Object-Oriented Software
used word processor as a unified example. I was very satisfied when I read their book - I designed and implemented at least 2 word processors: one in pure C meant to be better than MS Write 3.x and one in Java with syntax highlighting. And I implemented design patterns without knowing they were design patterns. The Java one was better and here is the screen shot showing my editor with C/C++ syntax highlighting implemented in Java 1.0 without any 3rd-party class libraries:

The earlier one (with Windows 3.x look and feel) was written in C and has MDI interface, floating embedded objects and printing support:

- Dmitry Vostokov -

April 24th, 2009 at 3:31 pm
[…] writing analysis functions (p. 180) - I used this when writing a word processor long time ago to check the consistency of internal structures: http://www.dumpanalysis.org/blog/index.php/2006/12/16/real-programmers-no-impossible-code/ […]
August 19th, 2009 at 8:56 am
Here is a comment from from one person quoted from old snippets on http://community.citrix.com/blogs/citrite/dmitryv:
“Dmitry, I tend to slightly disagree with you. Writing a word processor may show a lot of determination but does not entitle that person to only be considered a “real” programmer, versus other ones that do program tough tasks, realtime software or database related software, or design complex networking distributed applications and also deserve to be considered “real” programmers. At the same time if you need programmers who know how to debug the kernel then someone who has written a word processor might not be useful for what you have to give him. Of course you could say that the person can then learn anything quickly because they have written an editor before but that would sound elitist at best. In summary, you may miss quality programmers if you field off anyone who hasn’t written a word processor/editor :)”
March 19th, 2010 at 2:27 am
[…] This story reminds me that when I learnt about COM in 90s I wanted to redesign my word processor written in C to have every paragraph, line and even word to be implemented as a COM […]