User:Mordomo

My interests:


 * guitars
 * music, especially music theory
 * computer programming
 * hiking
 * puzzles

Here are some notes I took while trying to figure out the question about "What is the difference between a virtual base class, an abstract class, and a Java interface? Are they the same thing?" I found out that the wiki is pretty disorganized about it. Here are some pages which discuss the topic (some of which need cleanup or merging):


 * Virtual functions (marked to be merged into virtual method)
 * Polymorphism in object-oriented programming (marked for cleanup)
 * Class (computer programming) (talks about virtual functions and abstract classes)
 * Method (computer programming) (has no mention of virtual methods or functions, but abstract method redirects to here)
 * Interface (computing) (compare Protocol (object-oriented programming))

Here's a quote from C++:
 * Base classes may be declared as virtual; this is called virtual inheritance. Virtual inheritance ensures that only one instance of a base class exists in the inheritance graph, avoiding some of the ambiguity problems of multiple inheritance.

The article on fragile base class needs to be renamed to fragile binary interface (or fragile binary interface problem) because the article is misnamed. Most of the articles that refer to it should not be changed since the references to the term are correct. Here is a list of the potential articles to be changed:
 * Abstraction (computer science)
 * User:Maury Markowitz
 * Talk:Abstraction (computer science)
 * User talk:Cgs
 * User:Cgs
 * List of object-oriented programming terms
 * Self programming language
 * WikiProject C/Organization

The draft of the text for the replacement of the current article is under User:Mordomo/FBC.

Need to write an article on D. M. Sunday's quick search algorithm and add it to the list of string searching algorithms.