Welcome to the C++ section of my web site. When I first encountered C++, I was intrigued by the fact most commercial applications were developed with it (if not general C). I also was mystified by everyone claiming the language was difficult to learn, in particular many people say pointers were difficult to work with, so as a challenge I decided to learn C++ from the ground up with out cutting any corners.
After completing my first book, I immediately sought a second book that seemed to cover the topic with more detail and clarity. After completing that book cover to cover, I was already a convinced and a dedicated enthusiast -- its syntax, speed, and its implementation of the object oriented paradigm captivated me. Shortly there after, I went on to learn Windows application development based on MFC [Microsoft Foundation Classes -- in C++] using Microsoft's Visual C++ developer environment. Currently, I am in the process of reading my third book (Excellent! -- but I do not recommend this one for beginners) from the designer of C++, Bjarne Straustrup. I strongly recommend this book for any affluent C++ programmer. I also feel honored to have been able to enroll in a class lectured by Mark Allen Weiss, author of many other computer science books, one of which I highly recomend.
Having been working with Internet technologies already by mid 1995, I qualified and obtained an exciting position at Icanect(a local ISP) in early 1996. Throughout the months, I found myself programming various system programs and CGI scripts on both the UNIX and NT platforms. Wishing to do most of this programming in C++, I went about developing a very robust set of libraries in which I can reuse for both my NT and UNIX developments.
The first library I developed was an efficient and very easy to use CGI parsing library. Over time this class library has been refined and re-refined to the point that I honestly do not believe any further refining would add additional speed or ease of use.
At that time, Java was just becoming popular. Since it was also an object oriented language with similar syntax to C++, I was immediately drawn to it and thus started studying and developing with it in addition to C++. Having the need to process and parse strings in many of my programs, I realized I need to develop a String library to quickly turn out projects that normally would be done in a slower but faster (development wise) languages. Not wishing to confuse myself when switching between Java and C++ programming, I decided to port the already standard String class in Java to C++. I likewise chose JString as the class name due to its origins.
Having ported the Java String class to C++ and witnessing it's usefulness, I decided to do the same for some other needed classes. Similarly I converted Java's Vector, Stack, and Hashtable into C++ as JVector, JStack, and JHashtable classes respectively.
Note: Due to Java's Object inheritance mechanism of the class Object -- they can store any Java class object. The C++ versions accomplish this using template functionality available in the C++ language.