************************************* * * * DB/C Newsletter * * January 1996 * * * ************************************* Editor's Notes We are announcing the first DB/C 9.0 classes. One major change is that the old DB/C class has been split into two classes, the DB/C Fundamentals Class and the DB/C Advanced Features Class. Each is a three day class. The Advanced Features Class is presented in lecture style. The Fundamentals Class includes hands-on programming on workstations as well as classroom lecture. For a synopsis of each class, see our web home page. The class schedule is included at the end of this newsletter. The term "web home page" is somewhat misleading, but I use it for lack of a better term. In reality, our WWW server has many pages. We have updated these pages to reflect the many aspects of Subject, Wills & Company. We will be adding new information about DB/C 9.0 in the next few weeks. Our WWW home page is at http://www.swc.com. While you're surfing the web (another miserable term), check out the Accredited Standards Committee X3 home page at http://www.x3.org. This is the parent committee of X3J15, the technical committee for the Programming Language PL/B Standard. Click on the "X3 Subgroups" line to navigate to the X3J15 page. X3 recently announced that the X3J15 page is the winner of the Best X3 TC Home Page contest. X3J15 was awarded $500 to be used towards expenses for committee projects and meetings. The next X3J15 meeting is scheduled for April 14-15 in San Antonio. The next IPLBUG (International PL/B Users Group) meeting is tentatively scheduled for September 1996 in Houston. We will give you more detailed information when it becomes available. This month's article is about a newcomer to the language scene - Java. Java was invented by Sun Microsystems as a better C++. In recent months, the JavaScript language (a close relative of Java) has been promoted as being well suited for use with WWW browsers. Netscape, SpyGlass and Microsoft have all announced their intention to support JavaScript in their WWW browsers. Java corrects many of the problems encountered when building systems in C++. For this reason, we believe that Java will eventually replace C++. This month's article provides a quick introduction to Java and compares it to DB/C 9.0 on a feature-by-feature basis. For more information about Java, look at the Java WWW site at http://java.sun.com. (Oh, by the way, the Java name is a trademark of Sun Microsystems.) don.wills@swc.com Java and DB/C Here is the definition of Java as written in The Java Language: A White Paper, by Sun Microsystems: Java: A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language. The syntax of Java is very similar to C++. Sun did this to make it easy for C and C++ programmers to migrate to Java. In addition many of the features of the Java are the same or very close to C and C++. Sun has attempted to keep Java small and concise. As such they removed these three features that are found in C++: operator overloading, multiple inheritance, and most of the automatic type coercions. Sun also fixed what is considered to be one the most troublesome aspects of C and C++ - pointers. They fixed it by replacing pointers with object references, true arrays and character strings. In addition, the programmer was also relieved of having to do memory management. In C, memory management is accomplished with malloc() and free(). C++ uses both the C method and the object-oriented new and free operators. In all cases, every memory allocation must be matched with a memory deallocation. In Java, memory is allocated only with the new operator. There is no free() function or delete operator. The Java run-time keeps track of all references to memory and when there are no remaining references to an object, its memory can be automatically deallocated. Other than these feature changes, Java can be considered to be mostly a superset of C and C++. There is one other big difference - Java is architecturally neutral, byte-code interpreted, and portable. Just like DB/C. So how does Java compare with DB/C? Here quick comparison several of the features: ----- Feature ----- ---------- Java ---------- ---------- DB/C ---------- Simple Java is called simple, but English-like syntax is its syntax is symbols, not easy to learn and simple. words. Object-Oriented Yes. The automatic memory DB/C 9.0 is object-oriented. management is a plus. Distributed Much of the claim regarding No. distributed processing is based on a library of routines. Not inherent in the language itself. Robust Strong type checking at both Strong type checking at both compile and run-time. Array compile and run-time. Array index bounds checking and no index bounds checking and no possibility of wild pointer possibility of wild pointer references. references. Secure Byte-code checker at load Byte-code checker at load time. Other security done time. with a library of routines. Architecture Neutral Yes. Yes. Portable Yes. There are no Yes. There are no implementation dependent implementation dependent aspects to the Sun aspects of the DB/C specification of Java. language other than File system interface file system interfaces. requires POSIX compliance. Interpreted Yes. Yes. High Performance Acceptable. Acceptable. Multithreaded Yes. No. Dynamic Good, except compile units Yes. No static linking. must still be statically linked. Business-Oriented No. Fixed decimal arithmetic. Programming Built-in record management system with indexes. User interface tailored to needs of business programs (KEYIN and DISPLAY). Support for printed output is inherent in the language. Standardization Sun Microsystems spec. Based on ANSI Standard PL/B. Stable Language is less than 24 Yes. months old. Could change dramatically in the ANSI standardization process. Support Compiler and run-time are Support is provided by the currently being given away. vendor. Support will probably be done by third parties or other compiler vendors. As you can tell from the comparison chart, DB/C stacks up very well when compared on a feature-by-feature basis. As noted at the end of the chart, in many areas important for business programming, DB/C is superior. We recognize, however, that Java will probably become a widely used language because it has many good features and is backed by such large companies as Sun and Microsoft. When and if Java is changed to include business-oriented features (like fixed decimal arithmetic), it will become a threat to DB/C. We don't expect that to happen though because Sun and Microsoft are focused on other aspects of the language. We thoroughly believe that DB/C programs will still be running mission critical business applications long after the Java movement has ended. DB/C Class Schedule Class Date Location DB/C Fundamentals January 31 through February 2 Oak Brook, IL DB/C Advanced Features February 7 through February 9 Oak Brook, IL DB/C Fundamentals April 10 through April 12 Oak Brook, IL DB/C Advanced Features April 17 through April 19 Oak Brook, IL For information, contact Judi Tamkevic at: voice 708.572.0240 fax 708.572.0390 email dbc@swc.com