************************************* * * * DB/C Newsletter * * April 1997 * * * ************************************* Editor's Notes DB/C 9.1 beta testing continues. You can get a copy of the latest beta test version of DB/C 9.1 at ftp.swc.com in directory /pub/misc/dbc91tst. This month's topic is Java. I had the pleasure of attending the second JavaOne conference the first week in April. The 9,000 attendees were mostly programmers, although a few non-programmers also attended. Many new products were previewed at the conference, including various network computers (NCs). The most important aspect of the conference was the anti-Microsoft theme that permeated many of the presentations. According to Microsoft, Java is just another programming language, no different than C, C++ or Visual Basic. But according to many of the speakers and attendees at the JavaOne conference, Java is a revolution that attacks the foundation of the Wintel monopoly. That foundation is the control of the application programming interfaces (APIs) that are at the heart of the programs that run on personal computers. Javasoft is attempting to replace the Windows API and Intel .EXE standard with the Java API and the Java Virtual Machine portable bytecodes. It is far too early to tell the outcome of this battle. Regardless of the winner, Java has become a central part of computer industry. In the January 1996 DB/C Newsletter, the features of Java were compared with the features of DB/C. Much has changed since then in the Java world. This month's article is an update of the earlier article. don.wills@swc.com ******************************************************************************* DB/C and Java DB/C and Java are similar in many respects and different in some. In January 1996, we published a table that compared DB/C and Java. Many changes have occurred since the table was originally published. Here is the original table annotated with new comments which are identified by the >> characters. ----- 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. >> The syntax is very C-like >> so it is familiar to many >> programmers 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. >> The Remote Method Invocation >> (RMI) API is a robust >> distributed processing >> system that is included >> in all Java environments. 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. >> No longer true - many >> security operations are >> done by the Java VM >> which provides for a >> highly secure environment. 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. >> Static compilation and >> dynamic, Just-In-Time >> (JIT) compilation are >> also available. High Performance Acceptable. Acceptable. >> Approaching C++ speed. Multithreaded Yes. No. Dynamic Good, except compile units Yes. No static linking. must still be statically linked. >> Not true, compile units >> are not statically linked. Business-Oriented No. Fixed decimal arithmetic. Programming >> No longer true, version Built-in record management >> 1.1 of Java has fixed system with indexes. User >> decimal arithmetic interface tailored to needs >> implemented as a class, of business programs (KEYIN >> JDBC (a portable SQL and DISPLAY). Support for >> interface like ODBC), printed output is inherent >> and printer support. in the language. Standardization Sun Microsystems spec. Based on ANSI Standard PL/B. >> Javasoft is now an >> accredited standards >> organization that can >> can submit standards to >> ISO directly (just like >> ANSI). It has submitted >> proposed standards for >> the Java Language and >> for the Java Virtual >> Machine. Stable Language is less than 24 Yes. months old. Could change dramatically in the ANSI standardization process. >> Because of ISO Fast Path >> standardization, the >> language is stable and will >> not be changed by any >> standards committee. 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. >> Many products are now >> available from Sun, IBM, >> Javasoft, Microsoft and >> many others. As you can see from the comments in the table, much has changed in 16 months. For business applications, the original deficiencies of Java have been overcome. It is now a good language for business-oriented programming. Interestingly, the most revolutionary aspect of Java is its portability. Those who have used DB/C on multiple operating systems have had the kind of portability that is inherent in Java. Just as developers using DB/C can run on whatever platform suits their users needs, so can developers using Java. This really will loosen the monopolistic grip that Microsoft and Intel have on the personal computer market. So what is the impact on DB/C and on systems written in DB/C? The answer is that Subject, Wills & Company will be providing software and assistance to allow DB/C programs and files to be accessible by Java, and to allow Java programs to be accessible to DB/C. The only future product that is announced is FSS version 2.0. FSS 2.0 is a two-tier, client-server, file server product. It will be available by the end of 1997. The server part of FSS version 2.0 will be available for UNIX, Windows NT and possibly other server platforms. The client part of FSS version 2.0 will be available in the form of these interfaces: 1. An ODBC interface like that in FSS 1.0 2. A JDBC interface for use with Java clients 3. An ISAM/AIM interface that can be used by DB/C or other clients Several other Java-related products that work with DB/C are planned, but nothing is finalized yet. Watch for announcements in future newsletters. With all this talk about Java, don't be dismayed. The DB/C programming language will continue as a great environment for developing business-oriented applications for many years to come. There is a huge base of existing DB/C software that will be running well into the next century on operating systems and computers that are not yet invented. Investments made today in DB/C applications software will be paid back many times over in the years to come. ******************************************************************************* DB/C Class Schedule Class Date Location DB/C 9 Fundamentals June 1997 Oak Brook, IL DB/C 9 Advanced Features June 1997 Oak Brook, IL For information, contact Judi Tamkevic at: voice 630.572.0240 fax 630.572.0390 email dbc@swc.com ******************************************************************************* Subscribing to the DB/C Newsletter If you don't already have the DB/C Newsletter delivered to your email address and would like to have it emailed to you once a month, just send an email message to 'majordomo@swc.com' and put the line 'subscribe dbcnews' in the body of the email message (omit the ' characters). The newsletter will be delivered to the email address from which the message was sent. *******************************************************************************