What is V?


V is a C++ Graphical User Interface Framework designed to provide an easy to use and program system for building GUI applications. The framework is small, elegant, and provides the tools required for building all but the most specialized applications.

The V framework has also been designed to be portable. Currently, versions for the X Windowing System (using a customized 3D Athena widget set), Microsoft Windows 3.1, and Microsoft WIN32 (Windows 95 and NT) are available. A version for OS/2 is also available. A gtk version for X is also under development. The V system is freely available for use by anyone under the terms of the GNU Library General Public License.

Why did I write V, and why did I put it under the GNU license? I have been programming for over 20 years now, and building interactive applications for most of that time. During that time, I got tired of complicated, difficult to learn and use libraries for building interfaces, and wanted something easier.

I've also been successful in the software business, having founded two different software companies, Aspen Software and Reference Software International. I was the principle designer and author of the widely known and used grammar checker, Grammatik1. Basically, I see V as something of a public service; a way to give something back to the software industry that has been good to me. The concept of a portable GUI library is not original, but I think some of the design goals of V are significantly different than other similar libraries I've seen.

There is, of course, a price to pay for the ease of programming with V. The main constraint is that you are somewhat restricted to following V's (and thus my own) view of the world. The V model does not exactly conform to the native models of X, Windows, and the Mac, but it is a very good compromise. For the most part applications developed with V will in fact conform to the host look and feel, but may be lacking some of the bells and whistles of the most sophisticated commercial applications available for a given platform. For the vast majority of applications, this will not matter. You will end up with applications that look pretty good, and are likely to have a much cleaner and better interface than they would have otherwise.

If you are a C programmer, then the fact V is a C++ library might be a problem. While it is a fully object-oriented C++ framework, it can be used with C code if you know a bit about C++. Also, V does not allow you to do everything you could if you programmed in the native windowing library. You won't have every single conceivable control, and some controls are slightly restricted in how you can use them.

And finally, why the name V? First of all, it is a simple name. It follows the tradition of C and X. It makes naming the classes easier. And, my son's name is Van, which starts with a V. So V it is.


Footnotes:

1 Grammatik is a trademark of Novell, Inc.